PageSourceSearch

https://www.cuchicago.edu/Static/dist/homepage.js?v=MQdcWHUE2zT3kl8QQCVwRX2hRf0

js cuchicago.edu collected 2026-10-01 10:36:40 UTC 68,888 bytes, 111 lines download raw bytes

1/* input(12,7-48): run-time error JS1010: Expected identifier: "./node_modules/lodash.debounce/index.js"
2input(22,7-47): run-time error JS1010: Expected identifier: "./node_modules/youtube-iframe/index.js"
3input(32,7-59): run-time error JS1010: Expected identifier: "./wwwroot/Static/javascript/modules/headerVideo.ts"
4input(43,7-54): run-time error JS1010: Expected identifier: "./wwwroot/Static/javascript/pages/homepage.ts" */
5/*
6 * ATTENTION: An "eval-source-map" devtool has been used.
7 * This devtool is neither made for production nor for readable output files.
8 * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
9 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
10 * or disable the default devtool with "devtool: false".
11 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
12 */
13/******/ (() => { // webpackBootstrap
14/******/ 	var __webpack_modules__ = ({
15
16/***/ "./node_modules/lodash.debounce/index.js"
17/*!***********************************************!*\
18  !*** ./node_modules/lodash.debounce/index.js ***!
19  \***********************************************/
20(module, __unused_webpack_exports, __webpack_require__) {
21
22eval("{/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_
22ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);
22\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        result = wait - timeSinceLastCall;\n\n    return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = value.replace(reTrim, '');\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoLmRlYm91bmNlL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jb25jb3JkaWEtdW5pdmVyc2l0eS1jaGljYWdvLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC5kZWJvdW5jZS9pbmRleC5qcz9mN2ZlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogbG9kYXNoIChDdXN0b20gQnVpbGQpIDxodHRwczovL2xvZGFzaC5jb20vPlxuICogQnVpbGQ6IGBsb2Rhc2ggbW9kdWxhcml
226ZSBleHBvcnRzPVwibnBtXCIgLW8gLi9gXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyA8aHR0cHM6Ly9qcXVlcnkub3JnLz5cbiAqIFJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlIDxodHRwczovL2xvZGFzaC5jb20vbGljZW5zZT5cbiAqIEJhc2VkIG9uIFVuZGVyc2NvcmUuanMgMS44LjMgPGh0dHA6Ly91bmRlcnNjb3JlanMub3JnL0xJQ0VOU0U+XG4gKiBDb3B5cmlnaHQgSmVyZW15IEFzaGtlbmFzLCBEb2N1bWVudENsb3VkIGFuZCBJbnZlc3RpZ2F0aXZlIFJlcG9ydGVycyAmIEVkaXRvcnNcbiAqL1xuXG4vKiogVXNlZCBhcyB0aGUgYFR5cGVFcnJvcmAgbWVzc2FnZSBmb3IgXCJGdW5jdGlvbnNcIiBtZXRob2RzLiAqL1xudmFyIEZVTkNfRVJST1JfVEVYVCA9ICdFeHBlY3RlZCBhIGZ1bmN0aW9uJztcblxuLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG52YXIgTkFOID0gMCAvIDA7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBzeW1ib2xUYWcgPSAnW29iamVjdCBTeW1ib2xdJztcblxuLyoqIFVzZWQgdG8gbWF0Y2ggbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZS4gKi9cbnZhciByZVRyaW0gPSAvXlxccyt8XFxzKyQvZztcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IGJhZCBzaWduZWQgaGV4YWRlY2ltYWwgc3RyaW5nIHZhbHVlcy4gKi9cbnZhciByZUlzQmFkSGV4ID0gL15bLStdMHhbMC05YS1mXSskL2k7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBiaW5hcnkgc3RyaW5nIHZhbHVlcy4gKi9cbnZhciByZUlzQmluYXJ5ID0gL14wYlswMV0rJC9pO1xuXG4vKiogVXNlZCB0byBkZXRlY3Qgb2N0YWwgc3RyaW5nIHZhbHVlcy4gKi9cbnZhciByZUlzT2N0YWwgPSAvXjBvWzAtN10rJC9pO1xuXG4vKiogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgd2l0aG91dCBhIGRlcGVuZGVuY3kgb24gYHJvb3RgLiAqL1xudmFyIGZyZWVQYXJzZUludCA9IHBhcnNlSW50O1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGdsb2JhbGAgZnJvbSBOb2RlLmpzLiAqL1xudmFyIGZyZWVHbG9iYWwgPSB0eXBlb2YgZ2xvYmFsID09ICdvYmplY3QnICYmIGdsb2JhbCAmJiBnbG9iYWwuT2JqZWN0ID09PSBPYmplY3QgJiYgZ2xvYmFsO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYHNlbGZgLiAqL1xudmFyIGZyZWVTZWxmID0gdHlwZW9mIHNlbGYgPT0gJ29iamVjdCcgJiYgc2VsZiAmJiBzZWxmLk9iamVjdCA9PT0gT2JqZWN0ICYmIHNlbGY7XG5cbi8qKiBVc2VkIGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBnbG9iYWwgb2JqZWN0LiAqL1xudmFyIHJvb3QgPSBmcmVlR2xvYmFsIHx8IGZyZWVTZWxmIHx8IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKlxuICogVXNlZCB0byByZXNvbHZlIHRoZVxuICogW2B0b1N0cmluZ1RhZ2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5wcm90b3R5cGUudG9zdHJpbmcpXG4gKiBvZiB2YWx1ZXMuXG4gKi9cbnZhciBvYmplY3RUb1N0cmluZyA9IG9iamVjdFByb3RvLnRvU3RyaW5nO1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlTWF4ID0gTWF0aC5tYXgsXG4gICAgbmF0aXZlTWluID0gTWF0aC5taW47XG5cbi8qKlxuICogR2V0cyB0aGUgdGltZXN0YW1wIG9mIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRoYXQgaGF2ZSBlbGFwc2VkIHNpbmNlXG4gKiB0aGUgVW5peCBlcG9jaCAoMSBKYW51YXJ5IDE5NzAgMDA6MDA6MDAgVVRDKS5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDIuNC4wXG4gKiBAY2F0ZWdvcnkgRGF0ZVxuICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgdGltZXN0YW1wLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmRlZmVyKGZ1bmN0aW9uKHN0YW1wKSB7XG4gKiAgIGNvbnNvbGUubG9nKF8ubm93KCkgLSBzdGFtcCk7XG4gKiB9LCBfLm5vdygpKTtcbiAqIC8vID0+IExvZ3MgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaXQgdG9vayBmb3IgdGhlIGRlZmVycmVkIGludm9jYXRpb24uXG4gKi9cbnZhciBub3cgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIHJvb3QuRGF0ZS5ub3coKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGRlYm91bmNlZCBmdW5jdGlvbiB0aGF0IGRlbGF5cyBpbnZva2luZyBgZnVuY2AgdW50aWwgYWZ0ZXIgYHdhaXRgXG4gKiBtaWxsaXNlY29uZHMgaGF2ZSBlbGFwc2VkIHNpbmNlIHRoZSBsYXN0IHRpbWUgdGhlIGRlYm91bmNlZCBmdW5jdGlvbiB3YXNcbiAqIGludm9rZWQuIFRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gY29tZXMgd2l0aCBhIGBjYW5jZWxgIG1ldGhvZCB0byBjYW5jZWxcbiAqIGRlbGF5ZWQgYGZ1bmNgIGludm9jYXRpb25zIGFuZCBhIGBmbHVzaGAgbWV0aG9kIHRvIGltbWVkaWF0ZWx5IGludm9rZSB0aGVtLlxuICogUHJvdmlkZSBgb3B0aW9uc2AgdG8gaW5kaWNhdGUgd2hldGhlciBgZnVuY2Agc2hvdWxkIGJlIGludm9rZWQgb24gdGhlXG4gKiBsZWFkaW5nIGFuZC9vciB0cmFpbGluZyBlZGdlIG9mIHRoZSBgd2FpdGAgdGltZW91dC4gVGhlIGBmdW5jYCBpcyBpbnZva2VkXG4gKiB3aXRoIHRoZSBsYXN0IGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uLiBTdWJzZXF1ZW50XG4gKiBjYWxscyB0byB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uIHJldHVybiB0aGUgcmVzdWx0IG9mIHRoZSBsYXN0IGBmdW5jYFxuICogaW52b2NhdGlvbi5cbiAqXG4gKiAqKk5vdGU6KiogSWYgYGxlYWRpbmdgIGFuZCBgdHJhaWxpbmdgIG9wdGlvbnMgYXJlIGB0cnVlYCwgYGZ1bmNgIGlzXG4gKiBpbnZva2VkIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0IG9ubHkgaWYgdGhlIGRlYm91bmNlZCBmdW5jdGlvblxuICogaXMgaW52b2tlZCBtb3JlIHRoYW4gb25jZSBkdXJpbmcgdGhlIGB3YWl0YCB0aW1lb3V0LlxuICpcbiAqIElmIGB3YWl0YCBpcyBgMGAgYW5kIGBsZWFkaW5nYCBpcyBgZmFsc2VgLCBgZnVuY2AgaW52b2NhdGlvbiBpcyBkZWZlcnJlZFxuICogdW50aWwgdG8gdGhlIG5leHQgdGljaywgc2ltaWxhciB0byBgc2V0VGltZW91dGAgd2l0aCBhIHRpbWVvdXQgb2YgYDBgLlxuICpcbiAqIFNlZSBbRGF2aWQgQ29yYmFjaG8ncyBhcnRpY2xlXShodHRwczovL2Nzcy10cmlja3MuY29tL2RlYm91bmNpbmctdGhyb3R0bGluZy1leHBsYWluZWQtZXhhbXBsZXMvKVxuICogZm9yIGRldGFpbHMgb3ZlciB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBgXy5kZWJvdW5jZWAgYW5kIGBfLnRocm90dGxlYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRlYm91bmNlLlxuICogQHBhcmFtIHtudW1iZXJ9IFt3YWl0PTBdIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIGRlbGF5LlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmxlYWRpbmc9ZmFsc2VdXG4gKiAgU3BlY2lmeSBpbnZva2luZyBvbiB0aGUgbGVhZGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLm1heFdhaXRdXG4gKiAgVGhlIG1heGltdW0gdGltZSBgZnVuY2AgaXMgYWxsb3dlZCB0byBiZSBkZWxheWVkIGJlZm9yZSBpdCdzIGludm9rZWQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnRyYWlsaW5nPXRydWV
22dXG4gKiAgU3BlY2lmeSBpbnZva2luZyBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGRlYm91bmNlZCBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKlxuICogLy8gQXZvaWQgY29zdGx5IGNhbGN1bGF0aW9ucyB3aGlsZSB0aGUgd2luZG93IHNpemUgaXMgaW4gZmx1eC5cbiAqIGpRdWVyeSh3aW5kb3cpLm9uKCdyZXNpemUnLCBfLmRlYm91bmNlKGNhbGN1bGF0ZUxheW91dCwgMTUwKSk7XG4gKlxuICogLy8gSW52b2tlIGBzZW5kTWFpbGAgd2hlbiBjbGlja2VkLCBkZWJvdW5jaW5nIHN1YnNlcXVlbnQgY2FsbHMuXG4gKiBqUXVlcnkoZWxlbWVudCkub24oJ2NsaWNrJywgXy5kZWJvdW5jZShzZW5kTWFpbCwgMzAwLCB7XG4gKiAgICdsZWFkaW5nJzogdHJ1ZSxcbiAqICAgJ3RyYWlsaW5nJzogZmFsc2VcbiAqIH0pKTtcbiAqXG4gKiAvLyBFbnN1cmUgYGJhdGNoTG9nYCBpcyBpbnZva2VkIG9uY2UgYWZ0ZXIgMSBzZWNvbmQgb2YgZGVib3VuY2VkIGNhbGxzLlxuICogdmFyIGRlYm91bmNlZCA9IF8uZGVib3VuY2UoYmF0Y2hMb2csIDI1MCwgeyAnbWF4V2FpdCc6IDEwMDAgfSk7XG4gKiB2YXIgc291cmNlID0gbmV3IEV2ZW50U291cmNlKCcvc3RyZWFtJyk7XG4gKiBqUXVlcnkoc291cmNlKS5vbignbWVzc2FnZScsIGRlYm91bmNlZCk7XG4gKlxuICogLy8gQ2FuY2VsIHRoZSB0cmFpbGluZyBkZWJvdW5jZWQgaW52b2NhdGlvbi5cbiAqIGpRdWVyeSh3aW5kb3cpLm9uKCdwb3BzdGF0ZScsIGRlYm91bmNlZC5jYW5jZWwpO1xuICovXG5mdW5jdGlvbiBkZWJvdW5jZShmdW5jLCB3YWl0LCBvcHRpb25zKSB7XG4gIHZhciBsYXN0QXJncyxcbiAgICAgIGxhc3RUaGlzLFxuICAgICAgbWF4V2FpdCxcbiAgICAgIHJlc3VsdCxcbiAgICAgIHRpbWVySWQsXG4gICAgICBsYXN0Q2FsbFRpbWUsXG4gICAgICBsYXN0SW52b2tlVGltZSA9IDAsXG4gICAgICBsZWFkaW5nID0gZmFsc2UsXG4gICAgICBtYXhpbmcgPSBmYWxzZSxcbiAgICAgIHRyYWlsaW5nID0gdHJ1ZTtcblxuICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgfVxuICB3YWl0ID0gdG9OdW1iZXIod2FpdCkgfHwgMDtcbiAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgbGVhZGluZyA9ICEhb3B0aW9ucy5sZWFkaW5nO1xuICAgIG1heGluZyA9ICdtYXhXYWl0JyBpbiBvcHRpb25zO1xuICAgIG1heFdhaXQgPSBtYXhpbmcgPyBuYXRpdmVNYXgodG9OdW1iZXIob3B0aW9ucy5tYXhXYWl0KSB8fCAwLCB3YWl0KSA6IG1heFdhaXQ7XG4gICAgdHJhaWxpbmcgPSAndHJhaWxpbmcnIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMudHJhaWxpbmcgOiB0cmFpbGluZztcbiAgfVxuXG4gIGZ1bmN0aW9uIGludm9rZUZ1bmModGltZSkge1xuICAgIHZhciBhcmdzID0gbGFzdEFyZ3MsXG4gICAgICAgIHRoaXNBcmcgPSBsYXN0VGhpcztcblxuICAgIGxhc3RBcmdzID0gbGFzdFRoaXMgPSB1bmRlZmluZWQ7XG4gICAgbGFzdEludm9rZVRpbWUgPSB0aW1lO1xuICAgIHJlc3VsdCA9IGZ1bmMuYXBwbHkodGhpc0FyZywgYXJncyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGxlYWRpbmdFZGdlKHRpbWUpIHtcbiAgICAvLyBSZXNldCBhbnkgYG1heFdhaXRgIHRpbWVyLlxuICAgIGxhc3RJbnZva2VUaW1lID0gdGltZTtcbiAgICAvLyBTdGFydCB0aGUgdGltZXIgZm9yIHRoZSB0cmFpbGluZyBlZGdlLlxuICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgLy8gSW52b2tlIHRoZSBsZWFkaW5nIGVkZ2UuXG4gICAgcmV0dXJuIGxlYWRpbmcgPyBpbnZva2VGdW5jKHRpbWUpIDogcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtYWluaW5nV2FpdCh0aW1lKSB7XG4gICAgdmFyIHRpbWVTaW5jZUxhc3RDYWxsID0gdGltZSAtIGxhc3RDYWxsVGltZSxcbiAgICAgICAgdGltZVNpbmNlTGFzdEludm9rZSA9IHRpbWUgLSBsYXN0SW52b2tlVGltZSxcbiAgICAgICAgcmVzdWx0ID0gd2FpdCAtIHRpbWVTaW5jZUxhc3RDYWxsO1xuXG4gICAgcmV0dXJuIG1heGluZyA/IG5hdGl2ZU1pbihyZXN1bHQsIG1heFdhaXQgLSB0aW1lU2luY2VMYXN0SW52b2tlKSA6IHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNob3VsZEludm9rZSh0aW1lKSB7XG4gICAgdmFyIHRpbWVTaW5jZUxhc3RDYWxsID0gdGltZSAtIGxhc3RDYWxsVGltZSxcbiAgICAgICAgdGltZVNpbmNlTGFzdEludm9rZSA9IHRpbWUgLSBsYXN0SW52b2tlVGltZTtcblxuICAgIC8vIEVpdGhlciB0aGlzIGlzIHRoZSBmaXJzdCBjYWxsLCBhY3Rpdml0eSBoYXMgc3RvcHBlZCBhbmQgd2UncmUgY
22XQgdGhlXG4gICAgLy8gdHJhaWxpbmcgZWRnZSwgdGhlIHN5c3RlbSB0aW1lIGhhcyBnb25lIGJhY2t3YXJkcyBhbmQgd2UncmUgdHJlYXRpbmdcbiAgICAvLyBpdCBhcyB0aGUgdHJhaWxpbmcgZWRnZSwgb3Igd2UndmUgaGl0IHRoZSBgbWF4V2FpdGAgbGltaXQuXG4gICAgcmV0dXJuIChsYXN0Q2FsbFRpbWUgPT09IHVuZGVmaW5lZCB8fCAodGltZVNpbmNlTGFzdENhbGwgPj0gd2FpdCkgfHxcbiAgICAgICh0aW1lU2luY2VMYXN0Q2FsbCA8IDApIHx8IChtYXhpbmcgJiYgdGltZVNpbmNlTGFzdEludm9rZSA+PSBtYXhXYWl0KSk7XG4gIH1cblxuICBmdW5jdGlvbiB0aW1lckV4cGlyZWQoKSB7XG4gICAgdmFyIHRpbWUgPSBub3coKTtcbiAgICBpZiAoc2hvdWxkSW52b2tlKHRpbWUpKSB7XG4gICAgICByZXR1cm4gdHJhaWxpbmdFZGdlKHRpbWUpO1xuICAgIH1cbiAgICAvLyBSZXN0YXJ0IHRoZSB0aW1lci5cbiAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHJlbWFpbmluZ1dhaXQodGltZSkpO1xuICB9XG5cbiAgZnVuY3Rpb24gdHJhaWxpbmdFZGdlKHRpbWUpIHtcbiAgICB0aW1lcklkID0gdW5kZWZpbmVkO1xuXG4gICAgLy8gT25seSBpbnZva2UgaWYgd2UgaGF2ZSBgbGFzdEFyZ3NgIHdoaWNoIG1lYW5zIGBmdW5jYCBoYXMgYmVlblxuICAgIC8vIGRlYm91bmNlZCBhdCBsZWFzdCBvbmNlLlxuICAgIGlmICh0cmFpbGluZyAmJiBsYXN0QXJncykge1xuICAgICAgcmV0dXJuIGludm9rZUZ1bmModGltZSk7XG4gICAgfVxuICAgIGxhc3RBcmdzID0gbGFzdFRoaXMgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNhbmNlbCgpIHtcbiAgICBpZiAodGltZXJJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgfVxuICAgIGxhc3RJbnZva2VUaW1lID0gMDtcbiAgICBsYXN0QXJncyA9IGxhc3RDYWxsVGltZSA9IGxhc3RUaGlzID0gdGltZXJJZCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZsdXNoKCkge1xuICAgIHJldHVybiB0aW1lcklkID09PSB1bmRlZmluZWQgPyByZXN1bHQgOiB0cmFpbGluZ0VkZ2Uobm93KCkpO1xuICB9XG5cbiAgZnVuY3Rpb24gZGVib3VuY2VkKCkge1xuICAgIHZhciB0aW1lID0gbm93KCksXG4gICAgICAgIGlzSW52b2tpbmcgPSBzaG91bGRJbnZva2UodGltZSk7XG5cbiAgICBsYXN0QXJncyA9IGFyZ3VtZW50cztcbiAgICBsYXN0VGhpcyA9IHRoaXM7XG4gICAgbGFzdENhbGxUaW1lID0gdGltZTtcblxuICAgIGlmIChpc0ludm9raW5nKSB7XG4gICAgICBpZiAodGltZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBsZWFkaW5nRWRnZShsYXN0Q2FsbFRpbWUpO1xuICAgICAgfVxuICAgICAgaWYgKG1heGluZykge1xuICAgICAgICAvLyBIYW5kbGUgaW52b2NhdGlvbnMgaW4gYSB0aWdodCBsb29wLlxuICAgICAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHdhaXQpO1xuICAgICAgICByZXR1cm4gaW52b2tlRnVuYyhsYXN0Q2FsbFRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGltZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHdhaXQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGRlYm91bmNlZC5jYW5jZWwgPSBjYW5jZWw7XG4gIGRlYm91bmNlZC5mbHVzaCA9IGZsdXNoO1xuICByZXR1cm4gZGVib3VuY2VkO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHRoZVxuICogW2xhbmd1YWdlIHR5cGVdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWxhbmd1YWdlLXR5cGVzKVxuICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0KHt9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChfLm5vb3ApO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZSkge1xuICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgcmV0dXJuICEhdmFsdWUgJiYgKHR5cGUgPT0gJ29iamVjdCcgfHwgdHlwZSA9PSAnZnVuY3Rpb24nKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZS4gQSB2YWx1ZSBpcyBvYmplY3QtbGlrZSBpZiBpdCdzIG5vdCBgbnVsbGBcbiAqIGFuZCBoYXMgYSBgdHlwZW9mYCByZXN1bHQgb2YgXCJvYmplY3RcIi5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZSwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZSh7fSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZSkge1xuICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBTeW1ib2xgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzeW1ib2wsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc1N5bWJvbChTeW1ib2wuaXRlcmF0b3IpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNTeW1ib2woJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIG9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpID09IHN5bWJvbFRhZyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYHZhbHVlYCB0byBhIG51bWJlci5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcHJvY2Vzcy5cbiAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIG51bWJlci5cbiAqIEBleGFtcGxlXG4gKlxuICogXy50b051bWJlcigzLjIpO1xuICogLy8gPT4gMy4yXG4gKlxuICogXy50b051bWJlcihOdW1iZXIuTUlOX1ZBTFVFKTtcbiAqIC8vID0+IDVlLTMyNFxuICpcbiAqIF8udG9OdW1iZXIoSW5maW5pdHkpO1xuICogLy8gPT4gSW5maW5pdHlcbiAqXG4gKiBfLnRvTnVtYmVyKCczLjInKTtcbiAqIC8vID0+IDMuMlxuICovXG5mdW5jdGlvbiB0b051bWJlcih2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gTkFOO1xuICB9XG4gIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICB2YXIgb3RoZXIgPSB0eXBlb2YgdmFsdWUudmFsdWVPZiA9PSAnZnVuY3Rpb24nID8gdmFsdWUudmFsdWVPZigpIDogdmFsdWU7XG4gICAgdmFsdWUgPSBpc09iamVjdChvdGhlcikgPyAob3RoZXIgKyAnJykgOiBvdGhlcjtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlID09PSAwID8gdmFsdWUgOiArdmFsdWU7XG4gIH1cbiAgdmFsdWUgPSB2YWx1ZS
225yZXBsYWNlKHJlVHJpbSwgJycpO1xuICB2YXIgaXNCaW5hcnkgPSByZUlzQmluYXJ5LnRlc3QodmFsdWUpO1xuICByZXR1cm4gKGlzQmluYXJ5IHx8IHJlSXNPY3RhbC50ZXN0KHZhbHVlKSlcbiAgICA/IGZyZWVQYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgaXNCaW5hcnkgPyAyIDogOClcbiAgICA6IChyZUlzQmFkSGV4LnRlc3QodmFsdWUpID8gTkFOIDogK3ZhbHVlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBkZWJvdW5jZTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lodash.debounce/index.js\n\n}");
23
24/***/ },
25
26/***/ "./node_modules/youtube-iframe/index.js"
27/*!**********************************************!*\
28  !*** ./node_modules/youtube-iframe/index.js ***!
29  \**********************************************/
30(module) {
31
32eval("{(function(window) {\n\tvar YouTubeIframeLoader = {\n\t\tsrc: 'https://www.youtube.com/iframe_api',\n\t\tloading: false,\n\t\tloaded: false,\n\t\tlisteners: [],\n\n\t\tload: function(callback) {\n\t\t\tvar _this = this;\n\t\t\tthis.listeners.push(callback);\n\n\t\t\tif(this.loaded) {\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t_this.done();\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(this.loading) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.loading = true;\n\n\t\t\twindow.onYouTubeIframeAPIReady = function() {\n\t\t\t\t_this.loaded = true;\n\t\t\t\t_this.done();\n\t\t\t};\n\n\t\t\tvar script = document.createElement('script');\n\t\t\tscript.type = 'text/javascript';\n\t\t\tscript.src = this.src;\n\t\t\tdocument.body.appendChild(script);\n\t\t},\n\n\t\tdone: function() {\n\t\t\tdelete window.onYouTubeIframeAPIReady;\n\n\t\t\twhile(this.listeners.length) {\n\t\t\t\tthis.listeners.pop()(window.YT);\n\t\t\t}\n\t\t}\n\t};\n\n\tif( true && module.exports) {\n\t\tmodule.exports = YouTubeIframeLoader;\n\t} else {\n\t\twindow.YouTubeIframeLoader = YouTubeIframeLoader;\n\t}\n}(window));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMveW91dHViZS1pZnJhbWUvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2NvbmNvcmRpYS11bml2ZXJzaXR5LWNoaWNhZ28vLi9ub2RlX21vZHVsZXMveW91dHViZS1pZnJhbWUvaW5kZXguanM/NDNjZiJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24od2luZG93KSB7XG5cdHZhciBZb3VUdWJlSWZyYW1lTG9hZGVyID0ge1xuXHRcdHNyYzogJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGknLFxuXHRcdGxvYWRpbmc6IGZhbHNlLFxuXHRcdGxvYWRlZDogZmFsc2UsXG5cdFx0bGlzdGVuZXJzOiBbXSxcblxuXHRcdGxvYWQ6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XG5cdFx0XHR2YXIgX3RoaXMgPSB0aGlzO1xuXHRcdFx0dGhpcy5saXN0ZW5lcnMucHVzaChjYWxsYmFjayk7XG5cblx0XHRcdGlmKHRoaXMubG9hZGVkKSB7XG5cdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0X3RoaXMuZG9uZSgpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRpZih0aGlzLmxvYWRpbmcpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXG5cdFx0XHR3aW5kb3cub25Zb3VUdWJlSWZyYW1lQVBJUmVhZHkgPSBmdW5jdGlvbigpIHtcblx0XHRcdFx0X3RoaXMubG9hZGVkID0gdHJ1ZTtcblx0XHRcdFx0X3RoaXMuZG9uZSgpO1xuXHRcdFx0fTtcblxuXHRcdFx0dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuXHRcdFx0c2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0Jztcblx0XHRcdHNjcmlwdC5zcmMgPSB0aGlzLnNyYztcblx0XHRcdGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblx0XHR9LFxuXG5cdFx0ZG9uZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRkZWxldGUgd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5O1xuXG5cdFx0XHR3aGlsZSh0aGlzLmxpc3RlbmVycy5sZW5ndGgpIHtcblx0XHRcdFx0dGhpcy5saXN0ZW5lcnMucG9wKCkod2luZG93LllUKTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG5cblx0aWYodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcblx0XHRtb2R1bGUuZXhwb3J0cyA9IFlvdVR1YmVJZnJhbWVMb2FkZXI7XG5cdH0gZWxzZSB7XG5cdFx0d2luZG93LllvdVR1YmVJZnJhbWVMb2FkZXIgPSBZb3VUdWJlSWZyYW1lTG9hZGVyO1xuXHR9XG59KHdpbmRvdykpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/youtube-iframe/index.js\n\n}");
33
34/***/ },
35
36/***/ "./wwwroot/Static/javascript/modules/headerVideo.ts"
37/*!**********************************************************!*\
38  !*** ./wwwroot/Static/javascript/modules/headerVideo.ts ***!
39  \**********************************************************/
40(__unused_webpack_module, exports, __webpack_require__) {
41
42"use strict";
43eval("{\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n      desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n};
43\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.HeaderVideo = void 0;\r\nvar debounce = __webpack_require__(/*! lodash.debounce */ \"./node_modules/lodash.debounce/index.js\");\r\nvar YouTubeIframeLoader = __importStar(__webpack_require__(/*! youtube-iframe */ \"./node_modules/youtube-iframe/index.js\"));\r\nvar VideoType;\r\n(function (VideoType) {\r\n    VideoType[\"NATIVE\"] = \"native\";\r\n    VideoType[\"VIMEO\"] = \"vimeo\";\r\n    VideoType[\"YOUTUBE\"] = \"youtube\";\r\n    VideoType[\"NONE\"] = \"none\";\r\n})(VideoType || (VideoType = {}));\r\nvar HeaderVideo = /** @class */ (function () {\r\n    function HeaderVideo(container) {\r\n        this.container = container;\r\n        this.videoEdgeOffset = 0;\r\n        this.videoWrapper = this.container.querySelector('[data-header-video-wrapper]');\r\n        var videoType = this.videoWrapper.getAttribute(\"data-video-type\");\r\n        switch (videoType.toLowerCase()) {\r\n            case VideoType.YOUTUBE:\r\n                this.videoType = VideoType.YOUTUBE;\r\n                this.videoEdgeOffset = 480; // vertical offset to hide the youtube title and branding\r\n                break;\r\n            default:\r\n                this.videoType = VideoType.NONE;\r\n        }\r\n        this.content = this.container.querySelector('[data-header-video-content]');\r\n        this.breakpoint = parseInt(this.container.getAttribute('data-breakpoint'));\r\n        if (this.videoType === VideoType.NONE) {\r\n            // there's no video\r\n            this.switchToImage();\r\n        }\r\n        else if (window.outerWidth < this.breakpoint) {\r\n            this.switchToImage();\r\n        }\r\n        else {\r\n            this.initializeVideo();\r\n        }\r\n    }\r\n    HeaderVideo.prototype.initializeVideo = function () {\r\n        var _this = this;\r\n        this.video = this.container.querySelector('[data-header-video]');\r\n        var controls = {\r\n            pauseButton: this.container.querySelector('[data-header-video-pause]'),\r\n            playButton: this.container.querySelector('[data-header-video-play]'),\r\n            muteButton: this.container.querySelector('[data-header-video-mute]'),\r\n            unmuteButton: this.container.querySelector('[data-header-video-unmute]')\r\n        };\r\n        this.controls = controls;\r\n        this.overlay = this.container.querySelector('[data-header-video-overlay]');\r\n        // Recalculate video size\r\n        this.setDimensions();\r\n        window.addEventListener('resize', debounce(function () {\r\n            _this.setDimensions();\r\n            if (window.outerWidth < _this.breakpoint) {\r\n                _this.switchToImage();\r\n            }\r\n        }, 50));\r\n        this.videoEndTime = parseInt(this.video.getAttribute('data-video-end')) || null;\r\n        this.videoStartTime = parseInt(this.video.getAttribute('data-video-start')) || 0;\r\n        if (!this.video.src) {\r\n            // Youtube initialization and handlers\r\n            if (this.videoType === VideoType.YOUTUBE) {\r\n                this.initYoutubeVideo();\r\n            }\r\n        }\r\n    };\r\n    HeaderVideo.prototype.initYoutubeVideo = function () {\r\n        var _this = this;\r\n        var videoPlayer;\r\n        YouTubeIframeLoader.load(function (YT) {\r\n            _this.video.src = _this.video.getAttribute('data-src');\r\n            videoPlayer = new YT.Player(_this.video.id, {\r\n                events: {\r\n                    'onReady': _this.ytVideoLoaded.bind(_this),\r\n                    'onStateChange': _this.ytOnPlayerStateChange.bind(_this),\r\n                }\r\n            });\r\n            _this.videoObject = videoPlayer;\r\n        });\r\n    };\r\n    HeaderVideo.prototype.showVideoAndAttachControls = function () {\r\n        this.videoWrapper.removeAttribute('aria-hidden');\r\n        this.container.setAttribute('data-header-video-container', 'video');\r\n        this.attachControls();\r\n    };\r\n    HeaderVideo.prototype.attachControls = function () {\r\n        this.controls.pauseButton.classList.remove('d-none');\r\n        this.controls.pauseButton.addEventListener('click', this.playPause.bind(this));\r\n        this.controls.playButton.addEventListener('click', this.playPause.bind(this));\r\n        this.overlay.addEventListener('click', this.playPause.bind(this));\r\n        if (this.controls.unmuteButton) {\r\n            this.controls.unmuteButton.classList.remove('d-none');\r\n            this.controls.muteButton.addEventListener('click', this.muteUnmute.bind(this));\r\n            this.controls.unmuteButton.addEventListener('click', this.muteUnmute.bind(this));\r\n        }\r\n    };\r\n    HeaderVideo.prototype.playPause = function () {\r\n        var _this = this;\r\n        // Youtube Play and Pause\r\n        if (this.videoType === VideoType.YOUTUBE) {\r\n            var playerState = this.videoObject.getPlayerState();\r\n            // == 1 means it's playing\r\n            if (playerState == 1) {\r\n                this.videoObject.pauseVideo();\r\n                this.setControlVisibility(this.controls.pauseButton, this.controls.playButton);\r\n            }\r\n            else {\r\n                this.videoObject.playVideo();\r\n                this.setControlVisibility(this.controls.playButton, this.controls.pauseButton);\r\n            }\r\n        }\r\n        // Native Play and Pause\r\n        if (this.videoType === VideoType.NATIVE) {\r\n            if (this.videoObject.paused) {\r\n                this.videoObject.play();\r\n                this.setControlVisibility(this.controls.playButton, this.controls.pauseButton);\r\n            }\r\n            else {\r\n                this.videoObject.pause();\r\n                this.setControlVisibility(this.controls.pauseButton, this.controls.playButton);\r\n            }\r\n        }\r\n        // Vimeo Play and Pause\r\n        if (this.videoType === VideoType.VIMEO) {\r\n            this.videoObject.getPaused().then(function (paused) {\r\n                if (paused) {\r\n                    _this.videoObject.play();\r\n                    _this.setControlVisibility(_this.controls.playButton, _this.controls.pauseButton);\r\n                }\r\n                else {\r\n                    _this.videoObject.pause();\r\n                    _this.setControlVisibility(_this.controls.pauseButton, _this.controls.playButton);\r\n                }\r\n            });\r\n        }\r\n    };\r\n    HeaderVideo.prototype.muteUnmute = function () {\r\n        var _this = this;\r\n        // Youtube Mute and Unmute\r\n        if (this.videoType === VideoType.YOUTUBE) {\r\n            var isMuted = this.videoObject.isMuted();\r\n            if (isMuted) {\r\n                this.videoObject.unMute
43();\r\n                this.setControlVisibility(this.controls.unmuteButton, this.controls.muteButton);\r\n            }\r\n            else {\r\n                this.videoObject.mute();\r\n                this.setControlVisibility(this.controls.muteButton, this.controls.unmuteButton);\r\n            }\r\n        }\r\n        // Native Mute and Unmute\r\n        if (this.videoType === VideoType.NATIVE) {\r\n            if (this.videoObject.muted) {\r\n                this.videoObject.muted = false;\r\n                this.setControlVisibility(this.controls.unmuteButton, this.controls.muteButton);\r\n            }\r\n            else {\r\n                this.videoObject.muted = true;\r\n                this.setControlVisibility(this.controls.muteButton, this.controls.unmuteButton);\r\n            }\r\n        }\r\n        // Vimeo Mute and Unmute\r\n        if (this.videoType === VideoType.VIMEO) {\r\n            this.videoObject.getVolume().then(function (volume) {\r\n                if (volume > 0) {\r\n                    _this.videoObject.setVolume(0).then(function (volume) {\r\n                        _this.setControlVisibility(_this.controls.muteButton, _this.controls.unmuteButton);\r\n                    });\r\n                }\r\n                else {\r\n                    _this.videoObject.setVolume(1).then(function (volume) {\r\n                        _this.setControlVisibility(_this.controls.unmuteButton, _this.controls.muteButton);\r\n                    });\r\n                }\r\n            });\r\n        }\r\n    };\r\n    HeaderVideo.prototype.setDimensions = function () {\r\n        var headerWidth = this.container.offsetWidth;\r\n        var headerHeight = this.container.offsetHeight;\r\n        this.video.style.width = \"\".concat(Math.max(headerWidth, (headerHeight * 16 / 9)), \"px\");\r\n        this.video.style.height = \"\".concat(Math.max((headerHeight + this.videoEdgeOffset), (headerWidth * 9 / 16)), \"px\");\r\n    };\r\n    HeaderVideo.prototype.autoplayBlocked = function (allowManualPlay, isYouTube) {\r\n        if (isYouTube) {\r\n            this.ytSetDuration();\r\n        }\r\n        if (allowManualPlay) {\r\n            this.switchToImage();\r\n        }\r\n        else {\r\n            this.switchToImage();\r\n        }\r\n    };\r\n    HeaderVideo.prototype.imageFallbackPlayback = function () {\r\n        this.showVideoAndAttachControls();\r\n        this.playPause();\r\n    };\r\n    HeaderVideo.prototype.switchToImage = function () {\r\n        this.videoWrapper.setAttribute('aria-hidden', 'true');\r\n        this.container.setAttribute('data-header-video-container', 'image');\r\n        if (this.content) {\r\n            this.content.setAttribute('data-header-no-video', '');\r\n        }\r\n    };\r\n    HeaderVideo.prototype.setControlVisibility = function (thingToHide, thingToShow) {\r\n        thingToHide.classList.add('d-none');\r\n        thingToShow.classList.remove('d-none');\r\n        thingToShow.focus();\r\n    };\r\n    HeaderVideo.prototype.ytVideoLoaded = function () {\r\n        if (this.videoObject) {\r\n            var playerState = this.videoObject.getPlayerState();\r\n            if (playerState === 5) {\r\n                // autoplay is blocked abort abort\r\n                this.autoplayBlocked(true, true);\r\n            }\r\n            else {\r\n                this.ytSetDuration();\r\n                this.showVideoAndAttachControls();\r\n            }\r\n        }\r\n    };\r\n    HeaderVideo.prototype.ytSetDuration = function () {\r\n        var duration = this.videoObject.getDuration();\r\n        this.videoEndTime = this.videoEndTime ? Math.min(this.videoEndTime, duration) : duration;\r\n        this.videoStartTime = this.videoEndTime > this.videoStartTime ? this.videoStartTime : 0;\r\n    };\r\n    HeaderVideo.prototype.ytSetTimeChecker = function () {\r\n        if (this.videoObject) {\r\n            var playerState = this.videoObject.getPlayerState();\r\n            if (playerState === 1) { // playing\r\n                clearInterval(this.endTimeChecker);\r\n                this.endTimeChecker = setInterval(this.ytCheckForEnd.bind(this), 1000);\r\n            }\r\n            else if (playerState === 0) { // ended\r\n                this.videoObject.
43seekTo(this.videoStartTime);\r\n                this.videoObject.playVideo();\r\n            }\r\n            else {\r\n                clearInterval(this.endTimeChecker);\r\n            }\r\n        }\r\n    };\r\n    HeaderVideo.prototype.ytCheckForEnd = function () {\r\n        var curTime = this.videoObject.getCurrentTime();\r\n        if (curTime >= this.videoEndTime) {\r\n            this.videoObject.seekTo(this.videoStartTime);\r\n        }\r\n    };\r\n    HeaderVideo.prototype.ytOnPlayerStateChange = function (e) {\r\n        this.ytSetTimeChecker();\r\n    };\r\n    return HeaderVideo;\r\n}());\r\nexports.HeaderVideo = HeaderVideo;\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi93d3dyb290L1N0YXRpYy9qYXZhc2NyaXB0L21vZHVsZXMvaGVhZGVyVmlkZW8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFuUkEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jb25jb3JkaWEtdW5pdmVyc2l0eS1jaGljYWdvLy4vd3d3cm9vdC9TdGF0aWMvamF2YXNjcmlwdC9tb2R1bGVzL2hlYWRlclZpZGVvLnRzPzFiMWYiXSwic291cmNlc0NvbnRlbnQiOlsibGV0IGRlYm91bmNlID0gcmVxdWlyZSgnbG9kYXNoLmRlYm91bmNlJyk7XHJcbmltcG9ydCAqIGFzIFlvdVR1YmVJZnJhbWVMb2FkZXIgZnJvbSAneW91dHViZS1pZnJhbWUnO1xyXG5cclxuZW51bSBWaWRlb1R5cGUge1xyXG4gICAgTkFUSVZFID0gJ25hdGl2ZScsXHJcbiAgICBWSU1FTyA9ICd2aW1lbycsXHJcbiAgICBZT1VUVUJFID0gJ3lvdXR1YmUnLFxyXG4gICAgTk9ORSA9ICdub25lJ1xyXG59XHJcblxyXG5pbnRlcmZhY2UgVmlkZW9Db250cm9scyB7XHJcbiAgICBwYXVzZUJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQ7XHJcbiAgICBwbGF5QnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudDtcclxuICAgIG11dGVCdXR0b246IEhUTUxCdXR0b25FbGVtZW50O1xyXG4gICAgdW5tdXRlQnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEhlYWRlclZpZGVvIHtcclxuICAgIHZpZGVvOiBIVE1MSUZyYW1lRWxlbWVudCB8IEhUTUxWaWRlb0VsZW1lbnQ7XHJcbiAgICBjb250YWluZXI6IEhUTUxFbGVtZW50O1xyXG4gICAgY29udGVudDogSFRNTEVsZW1lbnQ7XHJcbiAgICBjb250cm9sczogVmlkZW9Db250cm9scztcclxuICAgIHZpZGVvV3JhcHBlcjogSFRNTEVsZW1lbnQ7XHJcbiAgICB2aWRlb09iamVjdDogYW55O1xyXG4gICAgdmlkZW9TdGFydFRpbWU6IG51bWJlcjtcclxuICAgIHZpZGVvRW5kVGltZTogbnVtYmVyO1xyXG4gICAgZW5kVGltZUNoZWNrZXI6IGFueTtcclxuICAgIGJyZWFrcG9pbnQ6IG51bWJlcjtcclxuICAgIHZpZGVvRWRnZU9mZnNldDogbnVtYmVyO1xyXG4gICAgdmlkZW9UeXBlOiBWaWRlb1R5cGU7XHJcbiAgICBhbGxvd01hbnVhbFBsYXk6IGJvb2xlYW47XHJcbiAgICBvdmVybGF5OiBIVE1MRWxlbWVudDsgXHJcblxyXG4gICAgY29uc3RydWN0b3IoY29udGFpbmVyOiBIVE1MRWxlbWVudCkge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gY29udGFpbmVyO1xyXG4gICAgICAgIHRoaXMudmlkZW9FZGdlT2Zmc2V0ID0gMDtcclxuICAgICAgICB0aGlzLnZpZGVvV3JhcHBlciA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWhlYWRlci12aWRlby13cmFwcGVyXScpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IHZpZGVvVHlwZSA9IHRoaXMudmlkZW9XcmFwcGVyLmdldEF0dHJpYnV0ZShcImRhdGEtdmlkZW8tdHlwZVwiKTtcclxuICAgICAgICBzd2l0Y2ggKHZpZGVvVHlwZS50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgIGNhc2UgVmlkZW9UeXBlLllPVVRVQkU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvVHlwZSA9IFZpZGVvVHlwZS5ZT1VUVUJFO1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aWRlb0VkZ2VPZmZzZXQgPSA0ODA7IC8vIHZlcnRpY2FsIG9mZnNldCB0byBoaWRlIHRoZSB5b3V0dWJlIHRpdGxlIGFuZCBicmFuZGluZ1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvVHlwZSA9IFZpZGVvVHlwZS5OT05FO1xyXG4gICAgICAgI
43H1cclxuICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdbZGF0YS1oZWFkZXItdmlkZW8tY29udGVudF0nKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICB0aGlzLmJyZWFrcG9pbnQgPSBwYXJzZUludCh0aGlzLmNvbnRhaW5lci5nZXRBdHRyaWJ1dGUoJ2RhdGEtYnJlYWtwb2ludCcpKTtcclxuICAgICAgICBpZiAodGhpcy52aWRlb1R5cGUgPT09IFZpZGVvVHlwZS5OT05FKSB7XHJcbiAgICAgICAgICAgIC8vIHRoZXJlJ3Mgbm8gdmlkZW9cclxuICAgICAgICAgICAgdGhpcy5zd2l0Y2hUb0ltYWdlKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cub3V0ZXJXaWR0aCA8IHRoaXMuYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICB0aGlzLnN3aXRjaFRvSW1hZ2UoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVWaWRlbygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbml0aWFsaXplVmlkZW8oKSB7XHJcbiAgICAgICAgdGhpcy52aWRlbyA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWhlYWRlci12aWRlb10nKTtcclxuICAgICAgICBjb25zdCBjb250cm9scyA9IHtcclxuICAgICAgICAgICAgcGF1c2VCdXR0b246IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWhlYWRlci12aWRlby1wYXVzZV0nKSBhcyBIVE1MQnV0dG9uRWxlbWVudCxcclxuICAgICAgICAgICAgcGxheUJ1dHRvbjogdGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvcignW2RhdGEtaGVhZGVyLXZpZGVvLXBsYXldJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQsXHJcbiAgICAgICAgICAgIG11dGVCdXR0b246IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWhlYWRlci12aWRlby1tdXRlXScpIGFzIEhUTUxCdXR0b25FbGVtZW50LFxyXG4gICAgICAgICAgICB1bm11dGVCdXR0b246IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWhlYWRlci12aWRlby11bm11dGVdJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnRcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb250cm9scyA9IGNvbnRyb2xzO1xyXG4gICAgICAgIHRoaXMub3ZlcmxheSA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWhlYWRlci12aWRlby1vdmVybGF5XScpIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICAvLyBSZWNhbGN1bGF0ZSB2aWRlbyBzaXplXHJcbiAgICAgICAgdGhpcy5zZXREaW1lbnNpb25zKCk7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGRlYm91bmNlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXREaW1lbnNpb25zKCk7XHJcbiAgICAgICAgICAgIGlmICh3aW5kb3cub3V0ZXJXaWR0aCA8IHRoaXMuYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zd2l0Y2hUb0ltYWdlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCA1MCkpO1xyXG5cclxuICAgICAgICB0aGlzLnZpZGVvRW5kVGltZSA9IHBhcnNlSW50KHRoaXMudmlkZW8uZ2V0QXR0cmlidXRlKCdkYXRhLXZpZGVvLWVuZCcpKSB8fCBudWxsO1xyXG4gICAgICAgIHRoaXMudmlkZW9TdGFydFRpbWUgPSBwYXJzZUludCh0aGlzLnZpZGVvLmdldEF0dHJpYnV0ZSgnZGF0YS12aWRlby1zdGFydCcpKSB8fCAwO1xyXG4gICAgICAgIGlmICghdGhpcy52aWRlby5zcmMpIHtcclxuICAgICAgICAgICAgLy8gWW91dHViZSBpbml0aWFsaXphdGlvbiBhbmQgaGFuZGxlcnNcclxuICAgICAgICAgICAgaWYgKHRoaXMudmlkZW9UeXBlID09PSBWaWRlb1R5cGUuWU9VVFVCRSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0WW91dHViZVZpZGVvKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdFlvdXR1YmVWaWRlbygpIHtcclxuICAgICAgICBsZXQgdmlkZW9QbGF5ZXI7XHJcbiAgICAgICAgWW91VHViZUlmcmFtZUxvYWRlci5sb2FkKFlUID0+IHtcclxuICAgICAgICAgICAgdGhpcy52aWRlby5zcmMgPSB0aGlzLnZpZGVvLmdldEF0dHJpYnV0ZSgnZGF0YS1zcmMnKTtcclxuICAgICAgICAgICAgdmlkZW9QbGF5ZXIgPSBuZXcgWVQuUGxheWVyKHRoaXMudmlkZW8uaWQsIHtcclxuICAgICAgICAgICAgICAgIGV2ZW50czoge1xyXG4gICAgICAgICAgICAgICAgICAgICdvblJlYWR5JzogdGhpcy55dFZpZGVvTG9hZGVkLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ29uU3RhdGVDaGFuZ2UnOiB0aGlzLnl0T25QbGF5ZXJTdGF0ZUNoYW5nZS5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy52aWRlb09iamVjdCA9IHZpZGVvUGxheWVyO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNob3dWaWRlb0FuZEF0dGFjaENvbnRyb2xzKCkge1xyXG4gICAgICAgIHRoaXMudmlkZW9XcmFwcGVyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoJ2RhdGEtaGVhZGVyLXZpZGVvLWNvbnRhaW5lcicsICd2aWRlbycpO1xyXG4gICAgICAgIHRoaXMuYXR0YWNoQ29udHJvbHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBhdHRhY2hDb250cm9scygpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xzLnBhdXNlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpO1xyXG4gICAgICAgIHRoaXMuY29udHJvbHMucGF1c2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnBsYXlQYXVzZS5iaW5kKHRoaXMpKTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xzLnBsYXlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnBsYXlQYXVzZS5iaW5kKHRoaXMpKTtcclxuICAgICAgICB0aGlzLm92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnBsYXlQYXVzZS5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbHMudW5tdXRlQnV0dG9uKSB7XHJcbiAgICAgICAgICAgI
43HRoaXMuY29udHJvbHMudW5tdXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xzLm11dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm11dGVVbm11dGUuYmluZCh0aGlzKSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbHMudW5tdXRlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5tdXRlVW5tdXRlLmJpbmQodGhpcykpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwbGF5UGF1c2UoKSB7XHJcbiAgICAgICAgLy8gWW91dHViZSBQbGF5IGFuZCBQYXVzZVxyXG4gICAgICAgIGlmICh0aGlzLnZpZGVvVHlwZSA9PT0gVmlkZW9UeXBlLllPVVRVQkUpIHtcclxuICAgICAgICAgICAgY29uc3QgcGxheWVyU3RhdGUgPSB0aGlzLnZpZGVvT2JqZWN0LmdldFBsYXllclN0YXRlKCk7XHJcbiAgICAgICAgICAgIC8vID09IDEgbWVhbnMgaXQncyBwbGF5aW5nXHJcbiAgICAgICAgICAgIGlmIChwbGF5ZXJTdGF0ZSA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvT2JqZWN0LnBhdXNlVmlkZW8oKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZpc2liaWxpdHkodGhpcy5jb250cm9scy5wYXVzZUJ1dHRvbiwgdGhpcy5jb250cm9scy5wbGF5QnV0dG9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlkZW9PYmplY3QucGxheVZpZGVvKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldENvbnRyb2xWaXNpYmlsaXR5KHRoaXMuY29udHJvbHMucGxheUJ1dHRvbiwgdGhpcy5jb250cm9scy5wYXVzZUJ1dHRvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE5hdGl2ZSBQbGF5IGFuZCBQYXVzZVxyXG4gICAgICAgIGlmICh0aGlzLnZpZGVvVHlwZSA9PT0gVmlkZW9UeXBlLk5BVElWRSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy52aWRlb09iamVjdC5wYXVzZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlkZW9PYmplY3QucGxheSgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDb250cm9sVmlzaWJpbGl0eSh0aGlzLmNvbnRyb2xzLnBsYXlCdXR0b24sIHRoaXMuY29udHJvbHMucGF1c2VCdXR0b24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aWRlb09iamVjdC5wYXVzZSgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDb250cm9sVmlzaWJpbGl0eSh0aGlzLmNvbnRyb2xzLnBhdXNlQnV0dG9uLCB0aGlzLmNvbnRyb2xzLnBsYXlCdXR0b24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBWaW1lbyBQbGF5IGFuZCBQYXVzZVxyXG4gICAgICAgIGlmICh0aGlzLnZpZGVvVHlwZSA9PT0gVmlkZW9UeXBlLlZJTUVPKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlkZW9PYmplY3QuZ2V0UGF1c2VkKCkudGhlbigocGF1c2VkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocGF1c2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWRlb09iamVjdC5wbGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDb250cm9sVmlzaWJpbGl0eSh0aGlzLmNvbnRyb2xzLnBsYXlCdXR0b24sIHRoaXMuY29udHJvbHMucGF1c2VCdXR0b24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWRlb09iamVjdC5wYXVzZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZpc2liaWxpdHkodGhpcy5jb250cm9scy5wYXVzZUJ1dHRvbiwgdGhpcy5jb250cm9scy5wbGF5QnV0dG9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbXV0ZVVubXV0ZSgpIHtcclxuICAgICAgICAvLyBZb3V0dWJlIE11dGUgYW5kIFVubXV0ZVxyXG4gICAgICAgIGlmICh0aGlzLnZpZGVvVHlwZSA9PT0gVmlkZW9UeXBlLllPVVRVQkUpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNNdXRlZCA9IHRoaXMudmlkZW9PYmplY3QuaXNNdXRlZCgpO1xyXG4gICAgICAgICAgICBpZiAoaXNNdXRlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aWRlb09iamVjdC51bk11dGUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZpc2liaWxpdHkodGhpcy5jb250cm9scy51bm11dGVCdXR0b24sIHRoaXMuY29udHJvbHMubXV0ZUJ1dHRvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvT2JqZWN0Lm11dGUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZpc2liaWxpdHkodGhpcy5jb250cm9scy5tdXRlQnV0dG9uLCB0aGlzLmNvbnRyb2xzLnVubXV0ZUJ1dHRvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE5hdGl2ZSBNdXRlIGFuZCBVbm11dGVcclxuICAgICAgICBpZiAodGhpcy52aWRlb1R5cGUgPT09IFZpZGVvVHlwZS5OQVRJVkUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudmlkZW9PYmplY3QubXV0ZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlkZW9PYmplY3QubXV0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZpc2liaWxpdHkodGhpcy5jb250cm9scy51bm11dGVCdXR0b24sIHRoaXMuY29udHJvbHMubXV0ZUJ1dHRvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvT2JqZWN0Lm11dGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZpc2liaWxpdHkodGhpcy5jb250cm9scy5tdXRlQnV0dG9uLCB0aGlzLmNvbnRyb2xzLnVubXV0ZUJ1dHRvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFZpbWVvIE11dGUgYW5kIFVubXV0ZVxyXG4gICAgICAgIGlmICh0aGlzLnZpZGVvVHlwZSA9PT0gVmlkZW9UeXBlLlZJTUVPKSB7XHJcbiAgICAgICAgICAgI
43HRoaXMudmlkZW9PYmplY3QuZ2V0Vm9sdW1lKCkudGhlbigodm9sdW1lOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2b2x1bWUgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWRlb09iamVjdC5zZXRWb2x1bWUoMCkudGhlbih2b2x1bWUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldENvbnRyb2xWaXNpYmlsaXR5KHRoaXMuY29udHJvbHMubXV0ZUJ1dHRvbiwgdGhpcy5jb250cm9scy51bm11dGVCdXR0b24pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZGVvT2JqZWN0LnNldFZvbHVtZSgxKS50aGVuKHZvbHVtZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZpc2liaWxpdHkodGhpcy5jb250cm9scy51bm11dGVCdXR0b24sIHRoaXMuY29udHJvbHMubXV0ZUJ1dHRvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGltZW5zaW9ucygpIHtcclxuICAgICAgICBjb25zdCBoZWFkZXJXaWR0aCA9IHRoaXMuY29udGFpbmVyLm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGNvbnN0IGhlYWRlckhlaWdodCA9IHRoaXMuY29udGFpbmVyLm9mZnNldEhlaWdodDtcclxuICAgICAgICB0aGlzLnZpZGVvLnN0eWxlLndpZHRoID0gYCR7TWF0aC5tYXgoaGVhZGVyV2lkdGgsIChoZWFkZXJIZWlnaHQgKiAxNiAvIDkpKX1weGA7XHJcbiAgICAgICAgdGhpcy52aWRlby5zdHlsZS5oZWlnaHQgPSBgJHtNYXRoLm1heCgoaGVhZGVySGVpZ2h0ICsgdGh
43pcy52aWRlb0VkZ2VPZmZzZXQpLCAoaGVhZGVyV2lkdGggKiA5IC8gMTYpKX1weGA7XHJcbiAgICB9XHJcblxyXG4gICAgYXV0b3BsYXlCbG9ja2VkKGFsbG93TWFudWFsUGxheT86IEJvb2xlYW4sIGlzWW91VHViZT86IEJvb2xlYW4pIHtcclxuICAgICAgICBpZiAoaXNZb3VUdWJlKSB7XHJcbiAgICAgICAgICAgIHRoaXMueXRTZXREdXJhdGlvbigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGFsbG93TWFudWFsUGxheSkge1xyXG4gICAgICAgICAgICB0aGlzLnN3aXRjaFRvSW1hZ2UoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN3aXRjaFRvSW1hZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW1hZ2VGYWxsYmFja1BsYXliYWNrKCkge1xyXG4gICAgICAgIHRoaXMuc2hvd1ZpZGVvQW5kQXR0YWNoQ29udHJvbHMoKTtcclxuICAgICAgICB0aGlzLnBsYXlQYXVzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaFRvSW1hZ2UoKSB7XHJcbiAgICAgICAgdGhpcy52aWRlb1dyYXBwZXIuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIuc2V0QXR0cmlidXRlKCdkYXRhLWhlYWRlci12aWRlby1jb250YWluZXInLCAnaW1hZ2UnKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udGVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQuc2V0QXR0cmlidXRlKCdkYXRhLWhlYWRlci1uby12aWRlbycsICcnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0Q29udHJvbFZpc2liaWxpdHkodGhpbmdUb0hpZGU6IEhUTUxFbGVtZW50LCB0aGluZ1RvU2hvdzogSFRNTEVsZW1lbnQpIHtcclxuICAgICAgICB0aGluZ1RvSGlkZS5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKTtcclxuICAgICAgICB0aGluZ1RvU2hvdy5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKTtcclxuICAgICAgICB0aGluZ1RvU2hvdy5mb2N1cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHl0VmlkZW9Mb2FkZWQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudmlkZW9PYmplY3QpIHtcclxuICAgICAgICAgICAgY29uc3QgcGxheWVyU3RhdGUgPSB0aGlzLnZpZGVvT2JqZWN0LmdldFBsYXllclN0YXRlKCk7XHJcbiAgICAgICAgICAgIGlmIChwbGF5ZXJTdGF0ZSA9PT0gNSkge1xyXG4gICAgICAgICAgICAgICAgLy8gYXV0b3BsYXkgaXMgYmxvY2tlZCBhYm9ydCBhYm9ydFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvcGxheUJsb2NrZWQodHJ1ZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnl0U2V0RHVyYXRpb24oKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1ZpZGVvQW5kQXR0YWNoQ29udHJvbHMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB5dFNldER1cmF0aW9uKCkge1xyXG4gICAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGhpcy52aWRlb09iamVjdC5nZXREdXJhdGlvbigpO1xyXG4gICAgICAgIHRoaXMudmlkZW9FbmRUaW1lID0gdGhpcy52aWRlb0VuZFRpbWUgPyBNYXRoLm1pbih0aGlzLnZpZGVvRW5kVGltZSwgZHVyYXRpb24pIDogZHVyYXRpb247XHJcbiAgICAgICAgdGhpcy52aWRlb1N0YXJ0VGltZSA9IHRoaXMudmlkZW9FbmRUaW1lID4gdGhpcy52aWRlb1N0YXJ0VGltZSA/IHRoaXMudmlkZW9TdGFydFRpbWUgOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHl0U2V0VGltZUNoZWNrZXIoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudmlkZW9PYmplY3QpIHtcclxuICAgICAgICAgICAgY29uc3QgcGxheWVyU3RhdGUgPSB0aGlzLnZpZGVvT2JqZWN0LmdldFBsYXllclN0YXRlKCk7XHJcbiAgICAgICAgICAgIGlmIChwbGF5ZXJTdGF0ZSA9PT0gMSkgeyAvLyBwbGF5aW5nXHJcbiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuZW5kVGltZUNoZWNrZXIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbmRUaW1lQ2hlY2tlciA9IHNldEludGVydmFsKHRoaXMueXRDaGVja0ZvckVuZC5iaW5kKHRoaXMpLCAxMDAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChwbGF5ZXJTdGF0ZSA9PT0gMCkgeyAvLyBlbmRlZFxyXG4gICAgICAgICAgICAgICAgdGhpcy52aWRlb09iamVjdC5zZWVrVG8odGhpcy52aWRlb1N0YXJ0VGltZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvT2JqZWN0LnBsYXlWaWRlbygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmVuZFRpbWVDaGVja2VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB5dENoZWNrRm9yRW5kKCkge1xyXG4gICAgICAgIGNvbnN0IGN1clRpbWUgPSB0aGlzLnZpZGVvT2JqZWN0LmdldEN1cnJlbnRUaW1lKCk7XHJcbiAgICAgICAgaWYgKGN1clRpbWUgPj0gdGhpcy52aWRlb0VuZFRpbWUpIHtcclxuICAgICAgICAgICAgdGhpcy52aWRlb09iamVjdC5zZWVrVG8odGhpcy52aWRlb1N0YXJ0VGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHl0T25QbGF5ZXJTdGF0ZUNoYW5nZShlKSB7XHJcbiAgICAgICAgdGhpcy55dFNldFRpbWVDaGVja2VyKCk7XHJcbiAgICB9XHJcbn0iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./wwwroot/Static/javascript/modules/headerVideo.ts\n\n}");
44
45/***/ },
46
47/***/ "./wwwroot/Static/javascript/pages/homepage.ts"
48/*!*****************************************************!*\
49  !*** ./wwwroot/Static/javascript/pages/homepage.ts ***!
50  \*****************************************************/
51(__unused_webpack_module, exports, __webpack_require__) {
52
53"use strict";
54eval("{\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nvar headerVideo_1 = __webpack_require__(/*! ../modules/headerVideo */ \"./wwwroot/Static/javascript/modules/headerVideo.ts\");\r\n// Header videos\r\nvar headerVideoContainers = Array.prototype.slice.call(document.querySelectorAll('[data-header-video-container]'));\r\nheaderVideoContainers.forEach(function (HeaderVideoContainer) {\r\n    new headerVideo_1.HeaderVideo(HeaderVideoContainer);\r\n});\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi93d3dyb290L1N0YXRpYy9qYXZhc2NyaXB0L3BhZ2VzL2hvbWVwYWdlLnRzIiwibWFwcGluZ3MiOiI7O0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vY29uY29yZGlhLXVuaXZlcnNpdHktY2hpY2Fnby8uL3d3d3Jvb3QvU3RhdGljL2phdmFzY3JpcHQvcGFnZXMvaG9tZXBhZ2UudHM/YmQ1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWFkZXJWaWRlbyB9IGZyb20gJy4uL21vZHVsZXMvaGVhZGVyVmlkZW8nO1xyXG5cclxuLy8gSGVhZGVyIHZpZGVvc1xyXG5jb25zdCBoZWFkZXJWaWRlb0NvbnRhaW5lcnMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1oZWFkZXItdmlkZW8tY29udGFpbmVyXScpKSBhcyBIVE1MRWxlbWVudFtdO1xyXG5oZWFkZXJWaWRlb0NvbnRhaW5lcnMuZm9yRWFjaChIZWFkZXJWaWRlb0NvbnRhaW5lciA9PiB7XHJcbiAgICBuZXcgSGVhZGVyVmlkZW8oSGVhZGVyVmlkZW9Db250YWluZXIpO1xyXG59KTtcclxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./wwwroot/Static/javascript/pages/homepage.ts\n\n}");
55
56/***/ }
57
58/******/ 	});
59/************************************************************************/
60/******/ 	// The module cache
61/******/ 	var __webpack_module_cache__ = {};
62/******/ 	
63/******/ 	// The require function
64/******/ 	function __webpack_require__(moduleId) {
65/******/ 		// Check if module is in cache
66/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
67/******/ 		if (cachedModule !== undefined) {
68/******/ 			return cachedModule.exports;
69/******/ 		}
70/******/ 		// Check if module exists (development only)
71/******/ 		if (__webpack_modules__[moduleId] === undefined) {
72/******/ 			var e = new Error("Cannot find module '" + moduleId + "'");
73/******/ 			e.code = 'MODULE_NOT_FOUND';
74/******/ 			throw e;
75/******/ 		}
76/******/ 		// Create a new module (and put it into the cache)
77/******/ 		var module = __webpack_module_cache__[moduleId] = {
78/******/ 			// no module.id needed
79/******/ 			// no module.loaded needed
80/******/ 			exports: {}
81/******/ 		};
82/******/ 	
83/******/ 		// Execute the module function
84/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
85/******/ 	
86/******/ 		// Return the exports of the module
87/******/ 		return module.exports;
88/******/ 	}
89/******/ 	
90/************************************************************************/
91/******/ 	/* webpack/runtime/global */
92/******/ 	(() => {
93/******/ 		__webpack_require__.g = (function() {
94/******/ 			if (typeof globalThis === 'object') return globalThis;
95/******/ 			try {
96/******/ 				return this || new Function('return this')();
97/******/ 			} catch (e) {
98/******/ 				if (typeof window === 'object') return window;
99/******/ 			}
100/******/ 		})();
101/******/ 	})();
102/******/ 	
103/************************************************************************/
104/******/ 	
105/******/ 	// startup
106/******/ 	// Load entry module and return exports
107/******/ 	// This entry module can't be inlined because the eval-source-map devtool is used.
108/******/ 	var __webpack_exports__ = __webpack_require__("./wwwroot/Static/javascript/pages/homepage.ts");
109/******/ 	
110/******/ })()
111;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.