{"version":3,"sources":["webpack:///scripts/ajax_loader--51dfc547774cbc29391e.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/process/browser.js","webpack:///./project/client/src/core/components/ajax-loader/ajax-loader.js","webpack:///./project/client/src/core/components/ajax-loader/index.js","webpack:///./project/client/src/core/critical.js"],"names":["webpackJsonp","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js","module","exports","__webpack_require__","process","useColors","window","type","navigator","userAgent","toLowerCase","match","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","RegExp","$1","formatArgs","args","this","namespace","humanize","diff","c","color","splice","index","lastC","replace","log","_typeof","Function","prototype","apply","call","arguments","save","namespaces","storage","removeItem","debug","e","load","r","env","DEBUG","Symbol","iterator","obj","constructor","chrome","local","localStorage","colors","formatters","j","v","JSON","stringify","err","message","enable","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/debug.js","selectColor","i","hash","charCodeAt","Math","abs","length","createDebug","enabled","self","curr","Date","ms","prevTime","prev","Array","coerce","unshift","format","formatter","val","bind","destroy","init","instances","push","indexOf","names","skips","split","len","substr","instance","disable","name","test","Error","stack","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ms/index.js","parse","str","String","exec","n","parseFloat","y","d","h","m","s","fmtShort","round","fmtLong","plural","floor","ceil","options","isNaN","long","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/process/browser.js","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","setTimeout","runClearTimeout","marker","cachedClearTimeout","clearTimeout","cleanUpNextTick","draining","currentQueue","queue","concat","queueIndex","drainQueue","timeout","run","Item","array","noop","nextTick","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-loader/ajax-loader.js","_toConsumableArray","arr","isArray","arr2","from","element","targetElement","rootPathname","dataset","ajaxLoaderRootPathname","indicatorSelector","ajaxLoaderIndicatorSelector","fetchLinksParentSelector","ajaxLoaderFetchLinksParentSelector","indicatorTemplateId","ajaxLoaderIndicatorTemplateId","handlers","fetchHandler","fetchPage","isInSameLongContent","isInPath","getLinkToFetch","state","href","location","submitting","addEventListener","delegatedClickHandler","onpopstate","historyHandler","delegatedSubmitHandler","getTemplate","templateId","getElementById","_ref","target","anchor","getTargetAnchor","isContainedBy","nodeName","closest","parentSelector","url","showLoading","fetch","then","response","ok","text","Promise","reject","html","parser","DOMParser","freshPage","parseFromString","freshMain","querySelector","freshTitle","scripts","getScripts","childNodes","filter","node","isElement","nodeType","matches","forEach","remove","append","script","loadScript","src","exitLoading","catch","error","fetchPartial","containerId","page","partial","container","scriptsToLoad","getElementsByTagName","updateShareWidget","hasSocialShareBlock","doHideAddThis","querySelectorAll","widget","hidden","addthis","toolbox","scriptSrc","createElement","_ref2","event","ajaxAnchorClicked","willUnhash","isSamePageWithoutHash","doFetch","hasChangedPathOrQuery","preventDefault","history","pushState","focusSection","_ref3","form","ajaxLoaderPartialContainerId","focusId","ajaxLoaderPartialFocusId","action","URL","data","FormData","search","URLSearchParams","origin","pathname","srcElement","submitter","srcElementName","getAttribute","srcElementValue","value","existingSearchParams","key","has","delete","classList","add","focusTarget","focus","ajaxElement","hasHash","scrollToAnchor","scrollIntoView","scroll","top","left","behavior","_ref4","prevHref","newHref","prevLocation","newLocation","searchChanged","pathChanged","_ref5","indicator","template","createdIndicator","content","prepend","hideLoading","Object","defineProperty","_debug","_debug2","__esModule","default","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-loader/index.js","_ajaxLoader","_ajaxLoader2","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/critical.js","multi /tool/project/client/src/core/critical.js"],"mappings":"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","file":"scripts/ajax_loader--51dfc547774cbc29391e.js","sourcesContent":["webpackJsonp([\"ajax_loader\"],{\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/debug.js\");\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome && 'undefined' != typeof chrome.storage ? chrome.storage.local : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31 ||\n // double check webkit in userAgent just in case we are in a worker\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function (v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '') + this.namespace + (useColors ? ' %c' : ' ') + args[0] + (useColors ? '%c ' : ' ') + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit');\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function (match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === (typeof console === 'undefined' ? 'undefined' : _typeof(console)) && console.log && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch (e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch (e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/process/browser.js\")))\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/debug.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ms/index.js\");\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0,\n i;\n\n for (i in namespace) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy() {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ms/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val === 'undefined' ? 'undefined' : _typeof(val);\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') || plural(ms, h, 'hour') || plural(ms, m, 'minute') || plural(ms, s, 'second') || ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/process/browser.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// 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}\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}\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) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-loader/ajax-loader.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar log = (0, _debug2.default)(\"ajax-loader\");\n\nfunction init(element) {\n\tlog(\"init\", element);\n\n\tvar options = {\n\t\ttargetElement: element,\n\t\trootPathname: element.dataset.ajaxLoaderRootPathname,\n\t\tindicatorSelector: element.dataset.ajaxLoaderIndicatorSelector,\n\t\tfetchLinksParentSelector: element.dataset.ajaxLoaderFetchLinksParentSelector,\n\t\tindicatorTemplateId: element.dataset.ajaxLoaderIndicatorTemplateId\n\t};\n\n\tvar handlers = {\n\t\tfetchHandler: fetchPage.bind(null, options),\n\t\t// fetchPartialHandler : fetchPartial.bind(null, options),\n\t\tisInSameLongContent: isInPath.bind(null, options.rootPathname),\n\t\tgetLinkToFetch: getLinkToFetch.bind(null, options)\n\t};\n\n\tvar state = {\n\t\thref: window.location.href,\n\t\tsubmitting: false\n\t};\n\n\twindow.addEventListener(\"click\", delegatedClickHandler.bind(null, { options: options, handlers: handlers, state: state }));\n\twindow.onpopstate = historyHandler.bind(null, { options: options, handlers: handlers, state: state });\n\n\twindow.addEventListener(\"submit\", delegatedSubmitHandler.bind(null, { state: state }));\n}\n\nfunction getTemplate(templateId) {\n\treturn document.getElementById(templateId);\n}\n\nfunction getLinkToFetch(_ref, target) {\n\tvar fetchLinksParentSelector = _ref.fetchLinksParentSelector,\n\t rootPathname = _ref.rootPathname;\n\n\tvar anchor = getTargetAnchor(target);\n\n\tif (anchor && isInPath(anchor.href, rootPathname) && isContainedBy(anchor, fetchLinksParentSelector)) {\n\t\treturn anchor;\n\t}\n}\n\nfunction getTargetAnchor(target) {\n\tif (target.nodeName.toLowerCase() === \"a\") {\n\t\treturn target;\n\t}\n\treturn target.closest(\"a\");\n}\n\nfunction isContainedBy(element, parentSelector) {\n\treturn element.closest(parentSelector);\n}\n\nfunction isInPath(url, rootPathname) {\n\treturn url && url.indexOf(rootPathname) !== -1;\n}\n\nfunction fetchPage(options, url) {\n\tvar targetElement = options.targetElement,\n\t indicatorSelector = options.indicatorSelector;\n\n\n\tshowLoading({ options: options });\n\n\treturn fetch(url).then(function (response) {\n\t\tif (response.ok) {\n\t\t\treturn response.text();\n\t\t}\n\t\treturn Promise.reject(response);\n\t}).then(function (html) {\n\t\tvar parser = new DOMParser();\n\t\tvar freshPage = parser.parseFromString(html, \"text/html\");\n\t\tvar freshMain = freshPage.querySelector(\"main\");\n\t\tvar freshTitle = freshPage.title;\n\n\t\tvar scripts = getScripts(freshMain);\n\n\t\tArray.from(targetElement.childNodes).filter(function (node) {\n\t\t\tvar isElement = node.nodeType == 1;\n\t\t\treturn !isElement || isElement && !node.matches(indicatorSelector);\n\t\t}).forEach(function (node) {\n\t\t\tnode.remove();\n\t\t});\n\t\tArray.from(freshMain.childNodes).forEach(function (node) {\n\t\t\ttargetElement.append(node);\n\t\t});\n\n\t\tArray.from(scripts).forEach(function (script) {\n\t\t\tloadScript(options, script.src);\n\t\t});\n\n\t\tdocument.title = freshTitle;\n\n\t\texitLoading(options);\n\n\t\treturn freshTitle;\n\t}).catch(function (error) {\n\n\t\t// fallback to updating location directly\n\t\twindow.location = url;\n\t\tlog(\"error\", error);\n\t});\n}\n\nfunction fetchPartial(options, url) {\n\tvar targetElement = options.targetElement,\n\t containerId = options.containerId;\n\n\n\treturn fetch(url).then(function (response) {\n\t\tif (response.ok) {\n\t\t\treturn response.text();\n\t\t}\n\t\treturn Promise.reject(response);\n\t}).then(function (html) {\n\t\tvar parser = new DOMParser();\n\t\tvar page = parser.parseFromString(html, \"text/html\");\n\t\tvar partial = page.getElementById(containerId);\n\n\t\tArray.from(targetElement.childNodes).forEach(function (node) {\n\t\t\tnode.remove();\n\t\t});\n\t\tArray.from(partial.childNodes).forEach(function (node) {\n\t\t\ttargetElement.append(node);\n\t\t});\n\n\t\treturn url;\n\t});\n}\n\n/*\r\n\t// close menu\r\n\tcurrentPath\r\n\ttargetPath\r\n\r\n\tcurrentHash\r\n\ttargetHash\r\n\tcurrentHashIsEmpty\r\n\ttargetHashIsEmpty\r\n\r\n\r\n\t// new page\r\n\tcurrentPath != targetPath\r\n\t\tpreventDefault\r\n\t\tpushHistory\r\n\r\n\t// same page\r\n\tcurrentPath == targetPath\r\n\r\n\t\t// scroll to h1\r\n\t\ttargetHashIsEmpty\r\n\t\t\tpreventDefault\r\n\t\t\tpushHistory\r\n\r\n\t\t// scroll\r\n\t\tcurrentHash != targetHash\r\n\r\n\t\t// rescroll\r\n\t\tcurrentHash == targetHash\r\n*/\nfunction getScripts(container) {\n\tvar scriptsToLoad = container.getElementsByTagName(\"script\");\n\tvar scripts = [];\n\tArray.from(scriptsToLoad).forEach(function (script) {\n\t\tif (script.src != \"\") {\n\t\t\tscripts.push({ src: script.src });\n\t\t}\n\t});\n\n\treturn scripts;\n}\n\n// AddThis widget is injected outside the main element\n// Visibility updated based on presence of social share block\nfunction updateShareWidget() {\n\tvar hasSocialShareBlock = document.querySelector(\".block-social-share\") !== null;\n\tvar addThisWidgetSelector = \".at-custom-side-wrapper\";\n\tvar doHideAddThis = !hasSocialShareBlock;\n\n\tArray.from(document.querySelectorAll(addThisWidgetSelector)).forEach(function (widget) {\n\t\twidget.hidden = doHideAddThis;\n\t});\n\n\tif (window.addthis) {\n\t\twindow[\"addthis_share\"].url = window.location.href;\n\t\twindow[\"addthis_share\"].title = window.document.title;\n\t\twindow.addthis.toolbox(\".addthis_toolbox\");\n\t}\n}\n\nfunction loadScript(options, scriptSrc) {\n\tvar targetElement = options.targetElement;\n\n\tvar script = document.createElement(\"script\");\n\tscript.type = \"text/javascript\";\n\tscript.src = scriptSrc;\n\ttargetElement.append(script);\n}\n\nfunction delegatedClickHandler(_ref2, event) {\n\tvar options = _ref2.options,\n\t handlers = _ref2.handlers;\n\n\tlog(\"click handled:\");\n\n\tvar targetElement = options.targetElement;\n\n\n\tvar ajaxAnchorClicked = handlers.getLinkToFetch(event.target);\n\tif (ajaxAnchorClicked) {\n\t\tvar href = ajaxAnchorClicked.href;\n\t\tvar willUnhash = isSamePageWithoutHash(window.location.href, ajaxAnchorClicked.href);\n\t\tvar doFetch = hasChangedPathOrQuery(window.location.href, ajaxAnchorClicked.href);\n\n\t\tif (willUnhash) {\n\t\t\tevent.preventDefault();\n\t\t\thistory.pushState({}, \"\", href);\n\t\t\tfocusSection(targetElement, href);\n\t\t} else if (doFetch) {\n\t\t\tevent.preventDefault();\n\t\t\tlog(\"link hijacked\", event, ajaxAnchorClicked, href);\n\n\t\t\tshowLoading({ options: options, handlers: handlers });\n\n\t\t\thandlers.fetchHandler(href).then(function (freshTitle) {\n\t\t\t\t// let stateObj = { foo: \"bar\" };\n\t\t\t\t// get title from returned page\n\t\t\t\thistory.pushState({}, freshTitle, href);\n\t\t\t\tfocusSection(targetElement, href);\n\t\t\t\tupdateShareWidget();\n\t\t\t});\n\t\t} else {\n\t\t\tlog(\"same page: default permitted\");\n\t\t}\n\t}\n}\n\nfunction delegatedSubmitHandler(_ref3, event) {\n\tvar state = _ref3.state;\n\n\n\tif (event.target.matches(\"form[data-ajax-loader-partial]\")) {\n\n\t\tevent.preventDefault();\n\t\tlog(\"submit caught\", event);\n\n\t\tif (state.submitting) {\n\t\t\treturn false;\n\t\t}\n\n\t\tstate.submitting = true;\n\n\t\tvar form = event.target;\n\t\tvar containerId = form.dataset.ajaxLoaderPartialContainerId;\n\t\tvar focusId = form.dataset.ajaxLoaderPartialFocusId;\n\n\t\tvar action = new URL(form.action);\n\t\tvar data = new FormData(form);\n\t\t// const initialSearch = new URLSearchParams(action.search);\n\t\tvar search = new URLSearchParams([].concat(_toConsumableArray(data)));\n\t\tvar url = \"\" + action.origin + action.pathname + \"?\" + search + action.hash;\n\n\t\tvar srcElement = event.submitter;\n\t\tvar srcElementName = srcElement.getAttribute(\"name\");\n\t\tvar srcElementValue = srcElement.value;\n\n\t\tif (action.origin === window.location.origin && action.pathname === window.location.pathname) {\n\t\t\t// non-destructively update window.location\n\t\t\tvar existingSearchParams = new URLSearchParams(window.location.search);\n\t\t\tsearch.forEach(function (value, key) {\n\t\t\t\tif (existingSearchParams.has(key)) {\n\t\t\t\t\texistingSearchParams.delete(key);\n\t\t\t\t}\n\t\t\t\texistingSearchParams.append(key, value);\n\t\t\t});\n\n\t\t\tif (srcElementName && srcElementValue) {\n\t\t\t\tif (existingSearchParams.has(srcElementName)) {\n\t\t\t\t\texistingSearchParams.delete(srcElementName);\n\t\t\t\t}\n\t\t\t\texistingSearchParams.append(srcElementName, srcElementValue);\n\t\t\t}\n\n\t\t\turl = \"\" + action.origin + action.pathname + \"?\" + existingSearchParams + action.hash;\n\t\t}\n\n\t\t// todo hash for error fallback\n\n\t\t// Display spinner button loading\n\t\tform.classList.add(\"is-submitting\");\n\n\t\tfetchPartial({\n\t\t\ttargetElement: document.getElementById(containerId),\n\t\t\tcontainerId: containerId\n\t\t}, url).then(function () {\n\t\t\t// let stateObj = { foo: \"bar\" };\n\t\t\thistory.pushState({}, \"\", url);\n\n\t\t\twindow.setTimeout(function () {\n\t\t\t\tvar focusTarget = document.getElementById(focusId);\n\t\t\t\tif (focusTarget) {\n\t\t\t\t\tfocusTarget.focus();\n\t\t\t\t\tstate.submitting = false;\n\t\t\t\t\tform.classList.remove(\"is-submitting\");\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t}).catch(function (error) {\n\t\t\tlog(\"error\", error);\n\t\t\twindow.location = url;\n\t\t});\n\t}\n}\nfunction focusSection(ajaxElement, href) {\n\tvar location = new URL(href);\n\tvar hash = location.hash;\n\n\twindow.setTimeout(function () {\n\t\tvar hasHash = hash !== \"\";\n\t\t// Focus the h1 (or labelled section) to\n\t\t// cause screenreaders to read out the newly loaded content title\n\t\tvar targetElement = document.querySelector(hasHash ? hash : \"h1\");\n\t\ttargetElement.focus();\n\n\t\tscrollToAnchor(hasHash ? targetElement : ajaxElement);\n\t}, 0);\n}\n\nfunction scrollToAnchor(targetElement) {\n\tif (targetElement) {\n\t\ttargetElement.scrollIntoView(true);\n\t} else {\n\t\twindow.scroll({ top: 0, left: 0, behavior: \"smooth\" });\n\t}\n}\n\nfunction historyHandler(_ref4, event) {\n\tvar options = _ref4.options,\n\t handlers = _ref4.handlers,\n\t state = _ref4.state;\n\n\tlog(\"location: \" + document.location, document.location, \"event.state: \" + JSON.stringify(event.state), event.state, state);\n\n\tvar targetElement = options.targetElement;\n\n\n\twindow.setTimeout(function () {\n\t\tvar willUnhash = isSamePageWithoutHash(state.href, document.location);\n\t\tvar doFetch = hasChangedPathOrQuery(state.href, document.location);\n\t\tif (willUnhash) {\n\t\t\tfocusSection(targetElement, document.location.href);\n\t\t} else if (doFetch) {\n\t\t\thandlers.fetchHandler(document.location).then(function () {\n\t\t\t\tfocusSection(targetElement, document.location.href);\n\t\t\t});\n\t\t}\n\n\t\tstate.href = document.location.href;\n\t}, 0);\n}\n\nfunction hasChangedPathOrQuery(prevHref, newHref) {\n\tif (newHref === prevHref) {\n\t\treturn false;\n\t}\n\tvar prevLocation = new URL(prevHref);\n\tvar newLocation = new URL(newHref);\n\n\tvar searchChanged = newLocation.search !== prevLocation.search;\n\tvar pathChanged = newLocation.pathname !== prevLocation.pathname;\n\n\treturn searchChanged || pathChanged;\n}\n\nfunction isSamePageWithoutHash(prevHref, newHref) {\n\tvar prevLocation = new URL(prevHref);\n\tvar newLocation = new URL(newHref);\n\tif (prevLocation.pathname !== newLocation.pathname) {\n\t\treturn false;\n\t}\n\treturn newLocation.hash === \"\";\n}\n\nfunction showLoading(_ref5) {\n\tvar options = _ref5.options,\n\t handlers = _ref5.handlers;\n\tvar targetElement = options.targetElement,\n\t indicatorSelector = options.indicatorSelector;\n\t// const { getIndicatorTemplate } = handlers;\n\n\tvar indicator = targetElement.querySelector(indicatorSelector);\n\n\tif (!indicator) {\n\t\tvar template = getTemplate(options.indicatorTemplateId);\n\t\tvar createdIndicator = template.content;\n\t\ttargetElement.prepend(createdIndicator);\n\t} else {\n\t\tindicator.hidden = false;\n\t}\n}\n\nfunction exitLoading(options) {\n\tvar targetElement = options.targetElement,\n\t indicatorSelector = options.indicatorSelector;\n\n\tvar indicator = targetElement.querySelector(indicatorSelector);\n\n\tif (indicator) {\n\t\tindicator.classList.add(\"is-exiting\");\n\n\t\tindicator.addEventListener(\"transitionend\", hideLoading);\n\t\tindicator.classList.add(\"is-exiting\");\n\n\t\tfunction hideLoading() {\n\t\t\tindicator.classList.remove(\"is-exiting\");\n\t\t\tindicator.hidden = true;\n\t\t}\n\t}\n}\n\nexports.default = init;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-loader/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _ajaxLoader = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-loader/ajax-loader.js\");\n\nvar _ajaxLoader2 = _interopRequireDefault(_ajaxLoader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = \"[data-ajax-loader]\";\nvar element = document.querySelector(ELEMENT_SELECTOR);\n\nif (element) {\n\t(0, _ajaxLoader2.default)(element);\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/critical.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-loader/index.js\");\n\n/***/ }),\n\n/***/ \"multi /tool/project/client/src/core/critical.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/critical.js\");\n\n\n/***/ })\n\n},[\"multi /tool/project/client/src/core/critical.js\"]);\n\n\n// WEBPACK FOOTER //\n// scripts/ajax_loader--51dfc547774cbc29391e.js","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/debug/src/browser.js","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/debug/src/debug.js","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/ms/index.js","// 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// WEBPACK FOOTER //\n// ./node_modules/process/browser.js","import debug from \"debug\";\r\nconst log = debug(\"ajax-loader\");\r\n\r\nfunction init(element) {\r\n\tlog(\"init\", element);\r\n\r\n\tconst options = {\r\n\t\ttargetElement: element,\r\n\t\trootPathname: element.dataset.ajaxLoaderRootPathname,\r\n\t\tindicatorSelector: element.dataset.ajaxLoaderIndicatorSelector,\r\n\t\tfetchLinksParentSelector:\r\n\t\t\telement.dataset.ajaxLoaderFetchLinksParentSelector,\r\n\t\tindicatorTemplateId: element.dataset.ajaxLoaderIndicatorTemplateId,\r\n\t};\r\n\r\n\tconst handlers = {\r\n\t\tfetchHandler: fetchPage.bind(null, options),\r\n\t\t// fetchPartialHandler : fetchPartial.bind(null, options),\r\n\t\tisInSameLongContent: isInPath.bind(null, options.rootPathname),\r\n\t\tgetLinkToFetch: getLinkToFetch.bind(null, options),\r\n\t};\r\n\r\n\tconst state = {\r\n\t\thref: window.location.href,\r\n\t\tsubmitting: false\r\n\t};\r\n\r\n\twindow.addEventListener(\r\n\t\t\"click\",\r\n\t\tdelegatedClickHandler.bind(null, { options, handlers, state })\r\n\t);\r\n\twindow.onpopstate = historyHandler.bind(null, { options, handlers, state });\r\n\r\n\twindow.addEventListener(\r\n\t\t\"submit\",\r\n\t\tdelegatedSubmitHandler.bind(null, {state})\r\n\t);\r\n}\r\n\r\nfunction getTemplate(templateId) {\r\n\treturn document.getElementById(templateId);\r\n}\r\n\r\nfunction getLinkToFetch({ fetchLinksParentSelector, rootPathname }, target) {\r\n\tconst anchor = getTargetAnchor(target);\r\n\r\n\tif (\r\n\t\tanchor &&\r\n\t\tisInPath(anchor.href, rootPathname) &&\r\n\t\tisContainedBy(anchor, fetchLinksParentSelector)\r\n\t) {\r\n\t\treturn anchor;\r\n\t}\r\n}\r\n\r\nfunction getTargetAnchor(target) {\r\n\tif (target.nodeName.toLowerCase() === \"a\") {\r\n\t\treturn target;\r\n\t}\r\n\treturn target.closest(\"a\");\r\n}\r\n\r\nfunction isContainedBy(element, parentSelector) {\r\n\treturn element.closest(parentSelector);\r\n}\r\n\r\nfunction isInPath(url, rootPathname) {\r\n\treturn url && url.indexOf(rootPathname) !== -1;\r\n}\r\n\r\nfunction fetchPage(options, url) {\r\n\tconst { targetElement, indicatorSelector } = options;\r\n\r\n\tshowLoading({ options });\r\n\r\n\treturn fetch(url)\r\n\t\t.then((response) => {\r\n\t\t\tif (response.ok) {\r\n\t\t\t\treturn response.text();\r\n\t\t\t}\r\n\t\t\treturn Promise.reject(response);\r\n\t\t})\r\n\t\t.then((html) => {\r\n\t\t\tconst parser = new DOMParser();\r\n\t\t\tconst freshPage = parser.parseFromString(html, \"text/html\");\r\n\t\t\tconst freshMain = freshPage.querySelector(\"main\");\r\n\t\t\tconst freshTitle = freshPage.title;\r\n\r\n\t\t\tvar scripts = getScripts(freshMain);\r\n\r\n\t\t\tArray.from(targetElement.childNodes)\r\n\t\t\t\t.filter((node) => {\r\n\t\t\t\t\tconst isElement = node.nodeType == 1;\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t!isElement ||\r\n\t\t\t\t\t\t(isElement && !node.matches(indicatorSelector))\r\n\t\t\t\t\t);\r\n\t\t\t\t})\r\n\t\t\t\t.forEach((node) => {\r\n\t\t\t\t\tnode.remove();\r\n\t\t\t\t});\r\n\t\t\tArray.from(freshMain.childNodes).forEach((node) => {\r\n\t\t\t\ttargetElement.append(node);\r\n\t\t\t});\r\n\r\n\t\t\tArray.from(scripts).forEach((script) => {\r\n\t\t\t\tloadScript(options, script.src);\r\n\t\t\t});\r\n\r\n\t\t\tdocument.title = freshTitle;\r\n\r\n\t\t\texitLoading(options);\r\n\r\n\t\t\treturn freshTitle;\r\n\t\t})\r\n\t\t.catch((error) => {\r\n\r\n\t\t\t// fallback to updating location directly\r\n\t\t\twindow.location = url;\r\n\t\t\tlog(\"error\", error);\r\n\t\t});\r\n}\r\n\r\nfunction fetchPartial(options, url) {\r\n\tconst { targetElement, containerId } = options;\r\n\r\n\treturn fetch(url)\r\n\t\t.then((response) => {\r\n\t\t\tif (response.ok) {\r\n\t\t\t\treturn response.text();\r\n\t\t\t}\r\n\t\t\treturn Promise.reject(response);\r\n\t\t})\r\n\t\t.then((html) => {\r\n\t\t\tconst parser = new DOMParser();\r\n\t\t\tconst page = parser.parseFromString(html, \"text/html\");\r\n\t\t\tconst partial = page.getElementById(containerId);\r\n\r\n\t\t\tArray.from(targetElement.childNodes).forEach((node)=>{\r\n\t\t\t\tnode.remove();\r\n\t\t\t});\r\n\t\t\tArray.from(partial.childNodes).forEach((node)=>{\r\n\t\t\t\ttargetElement.append(node);\r\n\t\t\t});\r\n\r\n\t\t\treturn url;\r\n\t\t});\r\n}\r\n\r\n/*\r\n\t// close menu\r\n\tcurrentPath\r\n\ttargetPath\r\n\r\n\tcurrentHash\r\n\ttargetHash\r\n\tcurrentHashIsEmpty\r\n\ttargetHashIsEmpty\r\n\r\n\r\n\t// new page\r\n\tcurrentPath != targetPath\r\n\t\tpreventDefault\r\n\t\tpushHistory\r\n\r\n\t// same page\r\n\tcurrentPath == targetPath\r\n\r\n\t\t// scroll to h1\r\n\t\ttargetHashIsEmpty\r\n\t\t\tpreventDefault\r\n\t\t\tpushHistory\r\n\r\n\t\t// scroll\r\n\t\tcurrentHash != targetHash\r\n\r\n\t\t// rescroll\r\n\t\tcurrentHash == targetHash\r\n*/\r\nfunction getScripts(container) {\r\n\tconst scriptsToLoad = container.getElementsByTagName(\"script\");\r\n\tvar scripts = [];\r\n\tArray.from(scriptsToLoad).forEach((script) => {\r\n\t\tif (script.src != \"\") {\r\n\t\t\tscripts.push({ src: script.src });\r\n\t\t}\r\n\t});\r\n\r\n\treturn scripts;\r\n}\r\n\r\n// AddThis widget is injected outside the main element\r\n// Visibility updated based on presence of social share block\r\nfunction updateShareWidget() {\r\n\tconst hasSocialShareBlock =\r\n\t\tdocument.querySelector(\".block-social-share\") !== null;\r\n\tconst addThisWidgetSelector = \".at-custom-side-wrapper\";\r\n\tconst doHideAddThis = !hasSocialShareBlock;\r\n\r\n\tArray.from(document.querySelectorAll(addThisWidgetSelector)).forEach(\r\n\t\t(widget) => {\r\n\t\t\twidget.hidden = doHideAddThis;\r\n\t\t}\r\n\t);\r\n\r\n\tif (window.addthis) {\r\n\t\twindow[\"addthis_share\"].url = window.location.href;\r\n\t\twindow[\"addthis_share\"].title = window.document.title;\r\n\t\twindow.addthis.toolbox(\".addthis_toolbox\");\r\n\t}\r\n}\r\n\r\nfunction loadScript(options, scriptSrc) {\r\n\tconst { targetElement } = options;\r\n\tvar script = document.createElement(\"script\");\r\n\tscript.type = \"text/javascript\";\r\n\tscript.src = scriptSrc;\r\n\ttargetElement.append(script);\r\n}\r\n\r\nfunction delegatedClickHandler({ options, handlers }, event) {\r\n\tlog(\"click handled:\");\r\n\r\n\tconst { targetElement } = options;\r\n\r\n\tconst ajaxAnchorClicked = handlers.getLinkToFetch(event.target);\r\n\tif (ajaxAnchorClicked) {\r\n\t\tconst href = ajaxAnchorClicked.href;\r\n\t\tconst willUnhash = isSamePageWithoutHash(\r\n\t\t\twindow.location.href,\r\n\t\t\tajaxAnchorClicked.href\r\n\t\t);\r\n\t\tconst doFetch = hasChangedPathOrQuery(\r\n\t\t\twindow.location.href,\r\n\t\t\tajaxAnchorClicked.href\r\n\t\t);\r\n\r\n\t\tif (willUnhash) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\thistory.pushState({}, \"\", href);\r\n\t\t\tfocusSection(targetElement, href);\r\n\t\t} else if (doFetch) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tlog(\"link hijacked\", event, ajaxAnchorClicked, href);\r\n\r\n\t\t\tshowLoading({ options, handlers });\r\n\r\n\t\t\thandlers.fetchHandler(href).then((freshTitle) => {\r\n\t\t\t\t// let stateObj = { foo: \"bar\" };\r\n\t\t\t\t// get title from returned page\r\n\t\t\t\thistory.pushState({}, freshTitle, href);\r\n\t\t\t\tfocusSection(targetElement, href);\r\n\t\t\t\tupdateShareWidget();\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tlog(\"same page: default permitted\");\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction delegatedSubmitHandler({ state }, event) {\r\n\r\n\tif (event.target.matches(\"form[data-ajax-loader-partial]\")) {\r\n\r\n\t\tevent.preventDefault();\r\n\t\tlog(\"submit caught\", event);\r\n\r\n\t\tif (state.submitting) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tstate.submitting = true;\r\n\r\n\t\tconst form = event.target;\r\n\t\tconst containerId = form.dataset.ajaxLoaderPartialContainerId;\r\n\t\tconst focusId = form.dataset.ajaxLoaderPartialFocusId;\r\n\r\n\t\tconst action = new URL(form.action);\r\n\t\tconst data = new FormData(form);\r\n\t\t// const initialSearch = new URLSearchParams(action.search);\r\n\t\tconst search = new URLSearchParams([...data]);\r\n\t\tlet url = `${action.origin}${action.pathname}?${search}${action.hash}`;\r\n\r\n\t\tlet srcElement = event.submitter;\r\n\t\tlet srcElementName = srcElement.getAttribute(\"name\");\r\n\t\tlet srcElementValue = srcElement.value;\r\n\r\n\t\tif(action.origin === window.location.origin && action.pathname === window.location.pathname) {\r\n\t\t\t// non-destructively update window.location\r\n\t\t\tconst existingSearchParams = new URLSearchParams(window.location.search);\r\n\t\t\tsearch.forEach((value, key) => {\r\n\t\t\t\tif(existingSearchParams.has(key)) {\r\n\t\t\t\t\texistingSearchParams.delete(key);\r\n\t\t\t\t}\r\n\t\t\t\texistingSearchParams.append(key, value);\r\n\t\t\t});\r\n\r\n\t\t\tif(srcElementName && srcElementValue){\r\n\t\t\t\tif(existingSearchParams.has(srcElementName)) {\r\n\t\t\t\t\texistingSearchParams.delete(srcElementName);\r\n\t\t\t\t}\r\n\t\t\t\texistingSearchParams.append(srcElementName, srcElementValue);\r\n\t\t\t}\r\n\r\n\t\t\turl = `${action.origin}${action.pathname}?${existingSearchParams}${action.hash}`;\r\n\t\t}\r\n\r\n\t\t// todo hash for error fallback\r\n\r\n\t\t// Display spinner button loading\r\n\t\tform.classList.add(\"is-submitting\");\r\n\r\n\t\tfetchPartial({\r\n\t\t\ttargetElement: document.getElementById(containerId),\r\n\t\t\tcontainerId\r\n\t\t}, url).then(() => {\r\n\t\t\t// let stateObj = { foo: \"bar\" };\r\n\t\t\thistory.pushState({}, \"\", url);\r\n\r\n\t\t\twindow.setTimeout(() => {\r\n\t\t\t\tconst focusTarget = document.getElementById(focusId);\r\n\t\t\t\tif (focusTarget) {\r\n\t\t\t\t\tfocusTarget.focus();\r\n\t\t\t\t\tstate.submitting = false;\r\n\t\t\t\t\tform.classList.remove(\"is-submitting\");\r\n\t\t\t\t}\r\n\t\t\t}, 0);\r\n\t\t})\r\n\t\t.catch((error) => {\r\n\t\t\tlog(\"error\", error);\r\n\t\t\twindow.location = url;\r\n\t\t});\r\n\r\n\r\n\t}\r\n}\r\nfunction focusSection(ajaxElement, href) {\r\n\tconst location = new URL(href);\r\n\tconst hash = location.hash;\r\n\r\n\twindow.setTimeout(() => {\r\n\t\tconst hasHash = hash !== \"\";\r\n\t\t// Focus the h1 (or labelled section) to\r\n\t\t// cause screenreaders to read out the newly loaded content title\r\n\t\tconst targetElement = document.querySelector(hasHash ? hash : \"h1\");\r\n\t\ttargetElement.focus();\r\n\r\n\t\tscrollToAnchor(hasHash ? targetElement : ajaxElement);\r\n\t}, 0);\r\n}\r\n\r\nfunction scrollToAnchor(targetElement) {\r\n\tif (targetElement) {\r\n\t\ttargetElement.scrollIntoView(true);\r\n\t} else {\r\n\t\twindow.scroll({ top: 0, left: 0, behavior: \"smooth\" });\r\n\t}\r\n}\r\n\r\nfunction historyHandler({ options, handlers, state }, event) {\r\n\tlog(\r\n\t\t\"location: \" + document.location,\r\n\t\tdocument.location,\r\n\t\t\"event.state: \" + JSON.stringify(event.state),\r\n\t\tevent.state,\r\n\t\tstate\r\n\t);\r\n\r\n\tconst { targetElement } = options;\r\n\r\n\twindow.setTimeout(() => {\r\n\t\tconst willUnhash = isSamePageWithoutHash(state.href, document.location);\r\n\t\tconst doFetch = hasChangedPathOrQuery(state.href, document.location);\r\n\t\tif (willUnhash) {\r\n\t\t\tfocusSection(targetElement, document.location.href);\r\n\t\t} else if (doFetch) {\r\n\t\t\thandlers.fetchHandler(document.location).then(() => {\r\n\t\t\t\tfocusSection(targetElement, document.location.href);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tstate.href = document.location.href;\r\n\t}, 0);\r\n}\r\n\r\nfunction hasChangedPathOrQuery(prevHref, newHref) {\r\n\tif (newHref === prevHref) {\r\n\t\treturn false;\r\n\t}\r\n\tconst prevLocation = new URL(prevHref);\r\n\tconst newLocation = new URL(newHref);\r\n\r\n\tconst searchChanged = newLocation.search !== prevLocation.search;\r\n\tconst pathChanged = newLocation.pathname !== prevLocation.pathname;\r\n\r\n\treturn searchChanged || pathChanged;\r\n}\r\n\r\nfunction isSamePageWithoutHash(prevHref, newHref) {\r\n\tconst prevLocation = new URL(prevHref);\r\n\tconst newLocation = new URL(newHref);\r\n\tif (prevLocation.pathname !== newLocation.pathname) {\r\n\t\treturn false;\r\n\t}\r\n\treturn newLocation.hash === \"\";\r\n}\r\n\r\nfunction showLoading({ options, handlers }) {\r\n\tconst { targetElement, indicatorSelector } = options;\r\n\t// const { getIndicatorTemplate } = handlers;\r\n\tconst indicator = targetElement.querySelector(indicatorSelector);\r\n\r\n\tif (!indicator) {\r\n\t\tconst template = getTemplate(options.indicatorTemplateId);\r\n\t\tconst createdIndicator = template.content;\r\n\t\ttargetElement.prepend(createdIndicator);\r\n\t} else {\r\n\t\tindicator.hidden = false;\r\n\t}\r\n}\r\n\r\nfunction exitLoading(options) {\r\n\tconst { targetElement, indicatorSelector } = options;\r\n\tconst indicator = targetElement.querySelector(indicatorSelector);\r\n\r\n\tif (indicator) {\r\n\t\tindicator.classList.add(\"is-exiting\");\r\n\r\n\t\tindicator.addEventListener(\"transitionend\", hideLoading);\r\n\t\tindicator.classList.add(\"is-exiting\");\r\n\r\n\t\tfunction hideLoading() {\r\n\t\t\tindicator.classList.remove(\"is-exiting\");\r\n\t\t\tindicator.hidden = true;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nexport default init;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/ajax-loader/ajax-loader.js","import ajaxLoader from \"./ajax-loader\";\r\n\r\nconst ELEMENT_SELECTOR = \"[data-ajax-loader]\";\r\nconst element = document.querySelector(ELEMENT_SELECTOR);\r\n\r\nif (element) {\r\n\tajaxLoader(element);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/ajax-loader/index.js","import \"./components/ajax-loader\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/critical.js"],"sourceRoot":""}