@red-code-mp/mp-builder
Version:
* [Structure](#Structure) * [Route](#Route) * [Endpoints](#Endpoints) * [Table](#Table) * [Lang](#Lang) * [Menu](#Menu) * [Toast](#Toast)
108 lines (103 loc) • 650 kB
JavaScript
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./webpack/vendors/custom/fullcalendar.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./node_modules/@fullcalendar/core/main.css":
/*!**************************************************!*\
!*** ./node_modules/@fullcalendar/core/main.css ***!
\**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/@fullcalendar/core/main.css?");
/***/ }),
/***/ "./node_modules/@fullcalendar/core/main.esm.js":
/*!*****************************************************!*\
!*** ./node_modules/@fullcalendar/core/main.esm.js ***!
\*****************************************************/
/*! exports provided: Calendar, Component, DateComponent, DateEnv, DateProfileGenerator, DayHeader, DaySeries, DayTable, ElementDragging, ElementScrollController, EmitterMixin, EventApi, FgEventRenderer, FillRenderer, Interaction, Mixin, NamedTimeZoneImpl, PositionCache, ScrollComponent, ScrollController, Slicer, Splitter, Theme, View, WindowScrollController, addDays, addDurations, addMs, addWeeks, allowContextMenu, allowSelection, appendToElement, applyAll, applyMutationToEventStore, applyStyle, applyStyleProp, asRoughMinutes, asRoughMs, asRoughSeconds, buildGotoAnchorHtml, buildSegCompareObj, capitaliseFirstLetter, combineEventUis, compareByFieldSpec, compareByFieldSpecs, compareNumbers, compensateScroll, computeClippingRect, computeEdges, computeFallbackHeaderFormat, computeHeightAndMargins, computeInnerRect, computeRect, computeVisibleDayRange, config, constrainPoint, createDuration, createElement, createEmptyEventStore, createEventInstance, createFormatter, createPlugin, cssToStr, debounce, diffDates, diffDayAndTime, diffDays, diffPoints, diffWeeks, diffWholeDays, diffWholeWeeks, disableCursor, distributeHeight, elementClosest, elementMatches, enableCursor, eventTupleToStore, filterEventStoreDefs, filterHash, findChildren, findElements, flexibleCompare, forceClassName, formatDate, formatIsoTimeString, formatRange, getAllDayHtml, getClippingParents, getDayClasses, getElSeg, getRectCenter, getRelevantEvents, globalDefaults, greatestDurationDenominator, hasBgRendering, htmlEscape, htmlToElement, insertAfterElement, interactionSettingsStore, interactionSettingsToStore, intersectRanges, intersectRects, isArraysEqual, isDateSpansEqual, isInt, isInteractionValid, isMultiDayRange, isPropsEqual, isPropsValid, isSingleDay, isValidDate, listenBySelector, mapHash, matchCellWidths, memoize, memoizeOutput, memoizeRendering, mergeEventStores, multiplyDuration, padStart, parseBusinessHours, parseDragMeta, parseEventDef, parseFieldSpecs, parseMarker, pointInsideRect, prependToElement, preventContextMenu, preventDefault, preventSelection, processScopedUiProps, rangeContainsMarker, rangeContainsRange, rangesEqual, rangesIntersect, refineProps, removeElement, removeExact, renderDateCell, requestJson, sliceEventStore, startOfDay, subtractInnerElHeight, translateRect, uncompensateScroll, undistributeHeight, unpromisify, version, whenTransitionDone, wholeDivideDurations */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Calendar\", function() { return Calendar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return Component; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DateComponent\", function() { return DateComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DateEnv\", function() { return DateEnv; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DateProfileGenerator\", function() { return DateProfileGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DayHeader\", function() { return DayHeader; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DaySeries\", function() { return DaySeries; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DayTable\", function() { return DayTable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ElementDragging\", function() { return ElementDragging; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ElementScrollController\", function() { return ElementScrollController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EmitterMixin\", function() { return EmitterMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EventApi\", function() { return EventApi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FgEventRenderer\", function() { return FgEventRenderer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FillRenderer\", function() { return FillRenderer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Interaction\", function() { return Interaction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Mixin\", function() { return Mixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NamedTimeZoneImpl\", function() { return NamedTimeZoneImpl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PositionCache\", function() { return PositionCache; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScrollComponent\", function() { return ScrollComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScrollController\", function() { return ScrollController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Slicer\", function() { return Slicer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Splitter\", function() { return Splitter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Theme\", function() { return Theme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"View\", function() { return View; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WindowScrollController\", function() { return WindowScrollController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addDays\", function() { return addDays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addDurations\", function() { return addDurations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addMs\", function() { return addMs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addWeeks\", function() { return addWeeks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"allowContextMenu\", function() { return allowContextMenu; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"allowSelection\", function() { return allowSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"appendToElement\", function() { return appendToElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyAll\", function() { return applyAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyMutationToEventStore\", function() { return applyMutationToEventStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyStyle\", function() { return applyStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyStyleProp\", function() { return applyStyleProp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asRoughMinutes\", function() { return asRoughMinutes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asRoughMs\", function() { return asRoughMs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asRoughSeconds\", function() { return asRoughSeconds; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildGotoAnchorHtml\", function() { return buildGotoAnchorHtml; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildSegCompareObj\", function() { return buildSegCompareObj; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"capitaliseFirstLetter\", function() { return capitaliseFirstLetter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"combineEventUis\", function() { return combineEventUis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareByFieldSpec\", function() { return compareByFieldSpec; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareByFieldSpecs\", function() { return compareByFieldSpecs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareNumbers\", function() { return compareNumbers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compensateScroll\", function() { return compensateScroll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeClippingRect\", function() { return computeClippingRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeEdges\", function() { return computeEdges; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeFallbackHeaderFormat\", function() { return computeFallbackHeaderFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeHeightAndMargins\", function() { return computeHeightAndMargins; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeInnerRect\", function() { return computeInnerRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeRect\", function() { return computeRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeVisibleDayRange\", function() { return computeVisibleDayRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"config\", function() { return config; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"constrainPoint\", function() { return constrainPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDuration\", function() { return createDuration; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createElement\", function() { return createElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createEmptyEventStore\", function() { return createEmptyEventStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createEventInstance\", function() { return createEventInstance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createFormatter\", function() { return createFormatter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPlugin\", function() { return createPlugin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cssToStr\", function() { return cssToStr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return debounce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"diffDates\", function() { return diffDates; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"diffDayAndTime\", function() { return diffDayAndTime; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"diffDays\", function() { return diffDays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"diffPoints\", function() { return diffPoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"diffWeeks\", function() { return diffWeeks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"diffWholeDays\", function() { return diffWholeDays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"diffWholeWeeks\", function() { return diffWholeWeeks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disableCursor\", function() { return disableCursor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"distributeHeight\", function() { return distributeHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"elementClosest\", function() { return elementClosest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"elementMatches\", function() { return elementMatches; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableCursor\", function() { return enableCursor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eventTupleToStore\", function() { return eventTupleToStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filterEventStoreDefs\", function() { return filterEventStoreDefs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filterHash\", function() { return filterHash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findChildren\", function() { return findChildren; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findElements\", function() { return findElements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flexibleCompare\", function() { return flexibleCompare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forceClassName\", function() { return forceClassName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatDate\", function() { return formatDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatIsoTimeString\", function() { return formatIsoTimeString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatRange\", function() { return formatRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAllDayHtml\", function() { return getAllDayHtml; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getClippingParents\", function() { return getClippingParents; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDayClasses\", function() { return getDayClasses; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getElSeg\", function() { return getElSeg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRectCenter\", function() { return getRectCenter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRelevantEvents\", function() { return getRelevantEvents; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"globalDefaults\", function() { return globalDefaults; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"greatestDurationDenominator\", function() { return greatestDurationDenominator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasBgRendering\", function() { return hasBgRendering; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlEscape\", function() { return htmlEscape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlToElement\", function() { return htmlToElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insertAfterElement\", function() { return insertAfterElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"interactionSettingsStore\", function() { return interactionSettingsStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"interactionSettingsToStore\", function() { return interactionSettingsToStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"intersectRanges\", function() { return intersectRanges; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"intersectRects\", function() { return intersectRects; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isArraysEqual\", function() { return isArraysEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isDateSpansEqual\", function() { return isDateSpansEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isInt\", function() { return isInt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isInteractionValid\", function() { return isInteractionValid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isMultiDayRange\", function() { return isMultiDayRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPropsEqual\", function() { return isPropsEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPropsValid\", function() { return isPropsValid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSingleDay\", function() { return isSingleDay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValidDate\", function() { return isValidDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"listenBySelector\", function() { return listenBySelector; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapHash\", function() { return mapHash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"matchCellWidths\", function() { return matchCellWidths; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return memoize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"memoizeOutput\", function() { return memoizeOutput; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"memoizeRendering\", function() { return memoizeRendering; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeEventStores\", function() { return mergeEventStores; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"multiplyDuration\", function() { return multiplyDuration; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return padStart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseBusinessHours\", function() { return parseBusinessHours; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseDragMeta\", function() { return parseDragMeta; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseEventDef\", function() { return parseEventDef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseFieldSpecs\", function() { return parseFieldSpecs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseMarker\", function() { return parse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pointInsideRect\", function() { return pointInsideRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prependToElement\", function() { return prependToElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"preventContextMenu\", function() { return preventContextMenu; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"preventDefault\", function() { return preventDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"preventSelection\", function() { return preventSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"processScopedUiProps\", function() { return processScopedUiProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rangeContainsMarker\", function() { return rangeContainsMarker; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rangeContainsRange\", function() { return rangeContainsRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rangesEqual\", function() { return rangesEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rangesIntersect\", function() { return rangesIntersect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"refineProps\", function() { return refineProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeElement\", function() { return removeElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeExact\", function() { return removeExact; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderDateCell\", function() { return renderDateCell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"requestJson\", function() { return requestJson; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sliceEventStore\", function() { return sliceEventStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startOfDay\", function() { return startOfDay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtractInnerElHeight\", function() { return subtractInnerElHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"translateRect\", function() { return translateRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uncompensateScroll\", function() { return uncompensateScroll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"undistributeHeight\", function() { return undistributeHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unpromisify\", function() { return unpromisify; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"version\", function() { return version; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"whenTransitionDone\", function() { return whenTransitionDone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"wholeDivideDurations\", function() { return wholeDivideDurations; });\n/*!\nFullCalendar Core Package v4.3.1\nDocs & License: https://fullcalendar.io/\n(c) 2019 Adam Shaw\n*/\n\n// Creating\n// ----------------------------------------------------------------------------------------------------------------\nvar elementPropHash = {\n className: true,\n colSpan: true,\n rowSpan: true\n};\nvar containerTagHash = {\n '<tr': 'tbody',\n '<td': 'tr'\n};\nfunction createElement(tagName, attrs, content) {\n var el = document.createElement(tagName);\n if (attrs) {\n for (var attrName in attrs) {\n if (attrName === 'style') {\n applyStyle(el, attrs[attrName]);\n }\n else if (elementPropHash[attrName]) {\n el[attrName] = attrs[attrName];\n }\n else {\n el.setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n if (typeof content === 'string') {\n el.innerHTML = content; // shortcut. no need to process HTML in any way\n }\n else if (content != null) {\n appendToElement(el, content);\n }\n return el;\n}\nfunction htmlToElement(html) {\n html = html.trim();\n var container = document.createElement(computeContainerTag(html));\n container.innerHTML = html;\n return container.firstChild;\n}\nfunction htmlToElements(html) {\n return Array.prototype.slice.call(htmlToNodeList(html));\n}\nfunction htmlToNodeList(html) {\n html = html.trim();\n var container = document.createElement(computeContainerTag(html));\n container.innerHTML = html;\n return container.childNodes;\n}\n// assumes html already trimmed and tag names are lowercase\nfunction computeContainerTag(html) {\n return containerTagHash[html.substr(0, 3) // faster than using regex\n ] || 'div';\n}\nfunction appendToElement(el, content) {\n var childNodes = normalizeContent(content);\n for (var i = 0; i < childNodes.length; i++) {\n el.appendChild(childNodes[i]);\n }\n}\nfunction prependToElement(parent, content) {\n var newEls = normalizeContent(content);\n var afterEl = parent.firstChild || null; // if no firstChild, will append to end, but that's okay, b/c there were no children\n for (var i = 0; i < newEls.length; i++) {\n parent.insertBefore(newEls[i], afterEl);\n }\n}\nfunction insertAfterElement(refEl, content) {\n var newEls = normalizeContent(content);\n var afterEl = refEl.nextSibling || null;\n for (var i = 0; i < newEls.length; i++) {\n refEl.parentNode.insertBefore(newEls[i], afterEl);\n }\n}\nfunction normalizeContent(content) {\n var els;\n if (typeof content === 'string') {\n els = htmlToElements(content);\n }\n else if (content instanceof Node) {\n els = [content];\n }\n else { // Node[] or NodeList\n els = Array.prototype.slice.call(content);\n }\n return els;\n}\nfunction removeElement(el) {\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n}\n// Querying\n// ----------------------------------------------------------------------------------------------------------------\n// from https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\nvar matchesMethod = Element.prototype.matches ||\n Element.prototype.matchesSelector ||\n Element.prototype.msMatchesSelector;\nvar closestMethod = Element.prototype.closest || function (selector) {\n // polyfill\n var el = this;\n if (!document.documentElement.contains(el)) {\n return null;\n }\n do {\n if (elementMatches(el, selector)) {\n return el;\n }\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n};\nfunction elementClosest(el, selector) {\n return closestMethod.call(el, selector);\n}\nfunction elementMatches(el, selector) {\n return matchesMethod.call(el, selector);\n}\n// accepts multiple subject els\n// returns a real array. good for methods like forEach\nfunction findElements(container, selector) {\n var containers = container instanceof HTMLElement ? [container] : container;\n var allMatches = [];\n for (var i = 0; i < containers.length; i++) {\n var matches = containers[i].querySelectorAll(selector);\n for (var j = 0; j < matches.length; j++) {\n allMatches.push(matches[j]);\n }\n }\n return allMatches;\n}\n// accepts multiple subject els\n// only queries direct child elements\nfunction findChildren(parent, selector) {\n var parents = parent instanceof HTMLElement ? [parent] : parent;\n var allMatches = [];\n for (var i = 0; i < parents.length; i++) {\n var childNodes = parents[i].children; // only ever elements\n for (var j = 0; j < childNodes.length; j++) {\n var childNode = childNodes[j];\n if (!selector || elementMatches(childNode, selector)) {\n allMatches.push(childNode);\n }\n }\n }\n return allMatches;\n}\n// Attributes\n// ----------------------------------------------------------------------------------------------------------------\nfunction forceClassName(el, className, bool) {\n if (bool) {\n el.classList.add(className);\n }\n else {\n el.classList.remove(className);\n }\n}\n// Style\n// ----------------------------------------------------------------------------------------------------------------\nvar PIXEL_PROP_RE = /(top|left|right|bottom|width|height)$/i;\nfunction applyStyle(el, props) {\n for (var propName in props) {\n applyStyleProp(el, propName, props[propName]);\n }\n}\nfunction applyStyleProp(el, name, val) {\n if (val == null) {\n el.style[name] = '';\n }\n else if (typeof val === 'number' && PIXEL_PROP_RE.test(name)) {\n el.style[name] = val + 'px';\n }\n else {\n el.style[name] = val;\n }\n}\n\nfunction pointInsideRect(point, rect) {\n return point.left >= rect.left &&\n point.left < rect.right &&\n point.top >= rect.top &&\n point.top < rect.bottom;\n}\n// Returns a new rectangle that is the intersection of the two rectangles. If they don't intersect, returns false\nfunction intersectRects(rect1, rect2) {\n var res = {\n left: Math.max(rect1.left, rect2.left),\n right: Math.min(rect1.right, rect2.right),\n top: Math.max(rect1.top, rect2.top),\n bottom: Math.min(rect1.bottom, rect2.bottom)\n };\n if (res.left < res.right && res.top < res.bottom) {\n return res;\n }\n return false;\n}\nfunction translateRect(rect, deltaX, deltaY) {\n return {\n left: rect.left + deltaX,\n right: rect.right + deltaX,\n top: rect.top + deltaY,\n bottom: rect.bottom + deltaY\n };\n}\n// Returns a new point that will have been moved to reside within the given rectangle\nfunction constrainPoint(point, rect) {\n return {\n left: Math.min(Math.max(point.left, rect.left), rect.right),\n top: Math.min(Math.max(point.top, rect.top), rect.bottom)\n };\n}\n// Returns a point that is the center of the given rectangle\nfunction getRectCenter(rect) {\n return {\n left: (rect.left + rect.right) / 2,\n top: (rect.top + rect.bottom) / 2\n };\n}\n// Subtracts point2's coordinates from point1's coordinates, returning a delta\nfunction diffPoints(point1, point2) {\n return {\n left: point1.left - point2.left,\n top: point1.top - point2.top\n };\n}\n\n// Logic for determining if, when the element is right-to-left, the scrollbar appears on the left side\nvar isRtlScrollbarOnLeft = null;\nfunction getIsRtlScrollbarOnLeft() {\n if (isRtlScrollbarOnLeft === null) {\n isRtlScrollbarOnLeft = computeIsRtlScrollbarOnLeft();\n }\n return isRtlScrollbarOnLeft;\n}\nfunction computeIsRtlScrollbarOnLeft() {\n var outerEl = createElement('div', {\n style: {\n position: 'absolute',\n top: -1000,\n left: 0,\n border: 0,\n padding: 0,\n overflow: 'scroll',\n direction: 'rtl'\n }\n }, '<div></div>');\n document.body.appendChild(outerEl);\n var innerEl = outerEl.firstChild;\n var res = innerEl.getBoundingClientRect().left > outerEl.getBoundingClientRect().left;\n removeElement(outerEl);\n return res;\n}\n// The scrollbar width computations in computeEdges are sometimes flawed when it comes to\n// retina displays, rounding, and IE11. Massage them into a usable value.\nfunction sanitizeScrollbarWidth(width) {\n width = Math.max(0, width); // no negatives\n width = Math.round(width);\n return width;\n}\n\nfunction computeEdges(el, getPadding) {\n if (getPadding === void 0) { getPadding = false; }\n var computedStyle = window.getComputedStyle(el);\n var borderLeft = parseInt(computedStyle.borderLeftWidth, 10) || 0;\n var borderRight = parseInt(computedStyle.borderRightWidth, 10) || 0;\n var borderTop = parseInt(computedStyle.borderTopWidth, 10) || 0;\n var borderBottom = parseInt(computedStyle.borderBottomWidth, 10) || 0;\n // must use offset(Width|Height) because compatible with client(Width|Height)\n var scrollbarLeftRight = sanitizeScrollbarWidth(el.offsetWidth - el.clientWidth - borderLeft - borderRight);\n var scrollbarBottom = sanitizeScrollbarWidth(el.offsetHeight - el.clientHeight - borderTop - borderBottom);\n var res = {\n borderLeft: borderLeft,\n borderRight: borderRight,\n borderTop: borderTop,\n borderBottom: borderBottom,\n scrollbarBottom: scrollbarBottom,\n scrollbarLeft: 0,\n scrollbarRight: 0\n };\n if (getIsRtlScrollbarOnLeft() && computedStyle.direction === 'rtl') { // is the scrollbar on the left side?\n res.scrollbarLeft = scrollbarLeftRight;\n }\n else {\n res.scrollbarRight = scrollbarLeftRight;\n }\n if (getPadding) {\n res.paddingLeft = parseInt(computedStyle.paddingLeft, 10) || 0;\n res.paddingRight = parseInt(computedStyle.paddingRight, 10) || 0;\n res.paddingTop = parseInt(computedStyle.paddingTop, 10) || 0;\n res.paddingBottom = parseInt(computedStyle.paddingBottom, 10) || 0;\n }\n return res;\n}\nfunction computeInnerRect(el, goWithinPadding) {\n if (goWithinPadding === void 0) { goWithinPadding = false; }\n var outerRect = computeRect(el);\n var edges = computeEdges(el, goWithinPadding);\n var res = {\n left: outerRect.left + edges.borderLeft + edges.scrollbarLeft,\n right: outerRect.right - edges.borderRight - edges.scrollbarRight,\n top: outerRect.top + edges.borderTop,\n bottom: outerRect.bottom - edges.borderBottom - edges.scrollbarBottom\n };\n if (goWithinPadding) {\n res.left += edges.paddingLeft;\n res.right -= edges.paddingRight;\n res.top += edges.paddingTop;\n res.bottom -= edges.paddingBottom;\n }\n return res;\n}\nfunction computeRect(el) {\n var rect = el.getBoundingClientRect();\n return {\n left: rect.left + window.pageXOffset,\n top: rect.top + window.pageYOffset,\n right: rect.right + window.pageXOffset,\n bottom: rect.bottom + window.pageYOffset\n };\n}\nfunction computeViewportRect() {\n return {\n left: window.pageXOffset,\n right: window.pageXOffset + document.documentElement.clientWidth,\n top: window.pageYOffset,\n bottom: window.pageYOffset + document.documentElement.clientHeight\n };\n}\nfunction computeHeightAndMargins(el) {\n return el.getBoundingClientRect().height + computeVMargins(el);\n}\nfunction computeVMargins(el) {\n var computed = window.getComputedStyle(el);\n return parseInt(computed.marginTop, 10) +\n parseInt(computed.marginBottom, 10);\n}\n// does not return window\nfunction getClippingParents(el) {\n var parents = [];\n while (el instanceof HTMLElement) { // will stop when gets to document or null\n var computedStyle = window.getComputedStyle(el);\n if (computedStyle.position === 'fixed') {\n break;\n }\n if ((/(auto|scroll)/).test(computedStyle.overflow + computedStyle.overflowY + computedStyle.overflowX)) {\n parents.push(el);\n }\n el = el.parentNode;\n }\n return parents;\n}\nfunction computeClippingRect(el) {\n return getClippingParents(el)\n .map(function (el) {\n return computeInnerRect(el);\n })\n .concat(computeViewportRect())\n .reduce(function (rect0, rect1) {\n return intersectRects(rect0, rect1) || rect1; // should always intersect\n });\n}\n\n// Stops a mouse/touch event from doing it's native browser action\nfunction preventDefault(ev) {\n ev.preventDefault();\n}\n// Event Delegation\n// ----------------------------------------------------------------------------------------------------------------\nfunction listenBySelector(container, eventType, selector, handler) {\n function realHandler(ev) {\n var matchedChild = elementClosest(ev.target, selector);\n if (matchedChild) {\n handler.call(matchedChild, ev, matchedChild);\n }\n }\n container.addEventListener(eventType, realHandler);\n return function () {\n container.removeEventListener(eventType, realHandler);\n };\n}\nfunction listenToHoverBySelector(container, selector, onMouseEnter, onMouseLeave) {\n var currentMatchedChild;\n return listenBySelector(container, 'mouseover', selector, function (ev, matchedChild) {\n if (matchedChild !== currentMatchedChild) {\n currentMatchedChild = matchedChild;\n onMouseEnter(ev, matchedChild);\n var realOnMouseLeave_1 = function (ev) {\n currentMatchedChild = null;\n onMouseLeave(ev, matchedChild);\n matchedChild.removeEventListener('mouseleave', realOnMouseLeave_1);\n };\n // listen to the next mouseleave, and then unattach\n matchedChild.addEventListener('mouseleave', realOnMouseLeave_1);\n }\n });\n}\n// Animation\n// ----------------------------------------------------------------------------------------------------------------\nvar transitionEventNames = [\n 'webkitTransitionEnd',\n 'otransitionend',\n 'oTransitionEnd',\n 'msTransitionEnd',\n 'transitionend'\n];\n// triggered only when the next single subsequent transition finishes\nfunction whenTransitionDone(el, callback) {\n var realCallback = function (ev) {\n callback(ev);\n transitionEventNames.forEach(function (eventName) {\n el.removeEventListener(eventName, realCallback);\n });\n };\n transitionEventNames.forEach(function (eventName) {\n el.addEventListener(eventName, realCallback); // cross-browser way to determine when the transition finishes\n });\n}\n\nvar DAY_IDS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];\n// Adding\nfunction addWeeks(m, n) {\n var a = dateToUtcArray(m);\n a[2] += n * 7;\n return arrayToUtcDate(a);\n}\nfunction addDays(m, n) {\n var a = dateToUtcArray(m);\n a[2] += n;\n return arrayToUtcDate(a);\n}\nfunction addMs(m, n) {\n var a = dateToUtcArray(m);\n a[6] += n;\n return arrayToUtcDate(a);\n}\n// Diffing (all return floats)\nfunction diffWeeks(m0, m1) {\n return diffDays(m0, m1) / 7;\n}\nfunction diffDays(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60 * 24);\n}\nfunction diffHours(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60);\n}\nfunction diffMinutes(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60);\n}\nfunction diffSeconds(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / 1000;\n}\nfunction diffDayAndTime(m0, m1) {\n var m0day = startOfDay(m0);\n var m1day = startOfDay(m1);\n return {\n years: 0,\n months: 0,\n days: Math.round(diffDays(m0day, m1day)),\n milliseconds: (m1.valueOf() - m1day.valueOf()) - (m0.valueOf() - m0day.valueOf())\n };\n}\n// Diffing Whole Units\nfunction diffWholeWeeks(m0, m1) {\n var d = diffWholeDays(m0, m1);\n if (d !== null && d % 7 === 0) {\n return d / 7;\n }\n return null;\n}\nfunction diffWholeDays(m0, m1) {\n if (timeAsMs(m0) === timeAsMs(m1)) {\n return Math.round(diffDays(m0, m1));\n }\n return null;\n}\n// Start-Of\nfunction startOfDay(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate()\n ]);\n}\nfunction startOfHour(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours()\n ]);\n}\nfunction startOfMinute(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n m.getUTCMinutes()\n ]);\n}\nfunction startOfSecond(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n m.getUTCMinutes(),\n m.getUTCSeconds()\n ]);\n}\n// Week Computation\nfunction weekOfYear(marker, dow, doy) {\n var y = marker.getUTCFullYear();\n var w = weekOfGivenYear(marker, y, dow, doy);\n if (w < 1) {\n return weekOfGivenYear(marker, y - 1, dow, doy);\n }\n var nextW = weekOfGivenYear(marker, y + 1, dow, doy);\n if (nextW >= 1) {\n return Math.min(w, nextW);\n }\n return w;\n}\nfunction weekOfGivenYear(marker, year, dow, doy) {\n var firstWeekStart = arrayToUtcDate([year, 0, 1 + firstWeekOffset(year, dow, doy)]);\n var dayStart = startOfDay(marker);\n var days = Math.round(diffDays(firstWeekStart, dayStart));\n return Math.floor(days / 7) + 1; // zero-indexed\n}\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n var fwd = 7 + dow - doy;\n // first-week day local weekday -- which local weekday is fwd\n var fwdlw = (7 + arrayToUtcDate([year, 0, fwd]).getUTCDay() - dow) % 7;\n return -fwdlw + fwd - 1;\n}\n// Array Conversion\nfunction dateToLocalArray(date) {\n return [\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds()\n ];\n}\nfunction arrayToLocalDate(a) {\n return new Date(a[0], a[1] || 0, a[2] == null ? 1 : a[2], // day of month\n a[3] || 0, a[4] || 0, a[5] || 0);\n}\nfunction dateToUtcArray(date) {\n return [\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds()\n ];\n}\nfunction arrayToUtcDate(a) {\n // according to web standards (and Safari), a month index is required.\n // massage if only given a year.\n if (a.length === 1) {\n a = a.concat([0]);\n }\n return new Date(Date.UTC.apply(Date, a));\n}\n// Other Utils\nfunction isValidDate(m) {\n return !isNaN(m.valueOf());\n}\nfunction timeAsMs(m) {\n return m.getUTCHours() * 1000 * 60 * 60 +\n m.getUTCMinutes() * 1000 * 60 +\n m.getUTCSeconds() * 1000 +\n m.getUTCMilliseconds();\n}\n\nvar INTERNAL_UNITS = ['years', 'months', 'days', 'milliseconds'];\nvar PARSE_RE = /^(-?)(?:(\\d+)\\.)?(\\d+):(\\d\\d)(?::(\\d\\d)(?:\\.(\\d\\d\\d))?)?/;\n// Parsing and Creation\nfunction createDuration(input, unit) {\n var _a;\n if (typeof input === 'string') {\n return parseString(input);\n }\n else if (typeof input === 'object' && input) { // non-null object\n return normalizeObject(input);\n }\n else if (typeof input === 'number') {\n return normalizeObject((_a = {}, _a[unit || 'milliseconds'] = input, _a));\n }\n else {\n return null;\n }\n}\nfunction parseString(s) {\n var m = PARSE_RE.exec(s);\n if (m) {\n var sign = m[1] ? -1 : 1;\n return {\n years: 0,\n months: 0,\n days: sign * (m[2] ? parseInt(m[2], 10) : 0),\n milliseconds: sign * ((m[3] ? parseInt(m[3], 10) : 0) * 60 * 60 * 1000 + // hours\n (m[4] ? parseInt(m[4], 10) : 0) * 60 * 1000 + // minutes\n (m[5] ? parseInt(m[5], 10) : 0) * 1000 + // seconds\n (m[6] ? parseInt(m[6], 10) : 0) // ms\n )\n };\n }\n return null;\n}\nfunction normalizeObject(obj) {\n return {\n years: obj.years || obj.year || 0,\n months: obj.months || obj.month || 0,\n days: (obj.days || obj.day || 0) +\n getWeeksFromInput(obj) * 7,\n milliseconds: (obj.hours || obj.hour || 0) * 60 * 60 * 1000 + // hours\n (obj.minutes || obj.minute || 0) * 60 * 1000 + // minutes\n (obj.seconds || obj.second || 0) * 1000 + // seconds\n (obj.milliseconds || obj.millisecond || obj.ms || 0) // ms\n };\n}\nfunction getWeeksFromInput(obj) {\n return obj.weeks || obj.week || 0;\n}\n// Equality\nfunction durationsEqual(d0, d1) {\n return d0.years === d1.years &&\n d0.months === d1.months &&\n d0.days === d1.days &&\n d0.milliseconds === d1.milliseconds;\n}\nfunction isSingleDay(dur) {\n return dur.years === 0 && dur.months === 0 && dur.days === 1 && dur.milliseconds === 0;\n}\n// Simple Math\nfunction addDurations(d0, d1) {\n return {\n years: d0.years + d1.years,\n months: d0.months + d1.months,\n days: d0.days + d1.days,\n milliseconds: d0.milliseconds + d1.milliseconds\n };\n}\nfunction subtractDurations(d1, d0) {\n return {\n years: d1.years - d0.years,\n months: d1.months - d0.months,\n days: d1.days - d0.days,\n milliseconds: d1.milliseconds - d0.milliseconds\n };\n}\nfunction multiplyDuration(d, n) {\n return {\n years: d.years * n,\n months: d.months * n,\n days: d.days * n,\n milliseconds: d.milliseconds * n\n };\n}\n// Conversions\n// \"Rough\" because they are based on average-case Gregorian months/years\nfunction asRoughYears(dur) {\n return asRoughDays(dur) / 365;\n}\nfunction asRoughMonths(dur) {\n return asRoughDays(dur) / 30;\n}\nfunction asRoughDays(dur) {\n return asRoughMs(dur) / 864e5;\n}\nfunction asRoughMinutes(dur) {\n return asRoughMs(dur) / (1000 * 60);\n}\nfunction asRoughSeconds(dur) {\n return asRoughMs(dur) / 1000;\n}\nfunction asRoughMs(dur) {\n return dur.years * (36