diff --git a/dist/vis.js b/dist/vis.js index 0e635f18..f40e4f9f 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.6.4 - * @date 2014-11-07 + * @version 3.7.0 + * @date 2014-11-14 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -1301,14 +1301,14 @@ return /******/ (function(modules) { // webpackBootstrap * This function does a binary search for a visible item in a sorted list. If we find a visible item, the code that uses * this function will then iterate in both directions over this sorted list to find all visible items. * - * @param {Item[]} orderedItems Items ordered by start - * @param {{start: number, end: number}} range + * @param {Item[]} orderedItems | Items ordered by start + * @param {function} searchFunction | -1 is lower, 0 is found, 1 is higher * @param {String} field * @param {String} field2 * @returns {number} * @private */ - exports.binarySearch = function(orderedItems, range, field, field2) { + exports.binarySearchCustom = function(orderedItems, searchFunction, field, field2) { var maxIterations = 10000; var iteration = 0; var low = 0; @@ -1318,12 +1318,13 @@ return /******/ (function(modules) { // webpackBootstrap var middle = Math.floor((low + high) / 2); var item = orderedItems[middle]; - if (item.isVisible(range)) { // jihaa, found a visible item! + var value = (field2 === undefined) ? item[field] : item[field][field2]; + + var searchResult = searchFunction(value); + if (searchResult == 0) { // jihaa, found a visible item! return middle; } - - var value = (field2 === undefined) ? item[field] : item[field][field2]; - if (value < range.start) { // it is too small --> increase low + else if (searchResult == -1) { // it is too small --> increase low low = middle + 1; } else { // it is too big --> decrease high @@ -1348,7 +1349,7 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - exports.binarySearchGeneric = function(orderedItems, target, field, sidePreference) { + exports.binarySearchValue = function(orderedItems, target, field, sidePreference) { var maxIterations = 10000; var iteration = 0; var low = 0; @@ -3159,7 +3160,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 6 */ /***/ function(module, exports, __webpack_require__) { - var Emitter = __webpack_require__(53); + var Emitter = __webpack_require__(56); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); var util = __webpack_require__(1); @@ -6413,7 +6414,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 13 */ /***/ function(module, exports, __webpack_require__) { - var Emitter = __webpack_require__(53); + var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); @@ -6728,7 +6729,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 14 */ /***/ function(module, exports, __webpack_require__) { - var Emitter = __webpack_require__(53); + var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); @@ -8002,6 +8003,12 @@ return /******/ (function(modules) { // webpackBootstrap var changed = (this.start != newStart || this.end != newEnd); + // if the new range does NOT overlap with the old range, emit checkRangedItems to avoid not showing ranged items (ranged meaning has end time, not neccesarily of type Range) + if (!((newStart >= this.start && newStart <= this.start) || (newEnd >= this.start && newEnd <= this.end)) && + !((this.start >= newStart && this.start <= newEnd) || (this.end >= newStart && this.end <= newEnd) )) { + this.body.emitter.emit('checkRangedItems'); + } + this.start = newStart; this.end = newEnd; return changed; @@ -10086,12 +10093,19 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var DOMutil = __webpack_require__(2); + var Line = __webpack_require__(51); + var Bar = __webpack_require__(52); + var Points = __webpack_require__(53); /** - * @constructor Group - * @param {Number | String} groupId - * @param {Object} data - * @param {ItemSet} itemSet + * /** + * @param {object} group | the object of the group from the dataset + * @param {string} groupId | ID of the group + * @param {object} options | the default options + * @param {array} groupsUsingDefaultStyles | this array has one entree. + * It is passed as an array so it is passed by reference. + * It enumerates through the default styles + * @constructor */ function GraphGroup (group, groupId, options, groupsUsingDefaultStyles) { this.id = groupId; @@ -10108,6 +10122,11 @@ return /******/ (function(modules) { // webpackBootstrap this.visible = group.visible === undefined ? true : group.visible; } + + /** + * this loads a reference to all items in this group into this group. + * @param {array} items + */ GraphGroup.prototype.setItems = function(items) { if (items != null) { this.itemsData = items; @@ -10120,10 +10139,20 @@ return /******/ (function(modules) { // webpackBootstrap } }; + + /** + * this is used for plotting barcharts, this way, we only have to calculate it once. + * @param pos + */ GraphGroup.prototype.setZeroPosition = function(pos) { this.zeroPosition = pos; }; + + /** + * set the options of the graph group over the default options. + * @param options + */ GraphGroup.prototype.setOptions = function(options) { if (options !== undefined) { var fields = ['sampling','style','sort','yAxisOrientation','barChart']; @@ -10150,8 +10179,23 @@ return /******/ (function(modules) { // webpackBootstrap } } } + + if (this.options.style == 'line') { + this.type = new Line(this.id, this.options); + } + else if (this.options.style == 'bar') { + this.type = new Bar(this.id, this.options); + } + else if (this.options.style == 'points') { + this.type = new Points(this.id, this.options); + } }; + + /** + * this updates the current group class with the latest group dataset entree, used in _updateGroup in linegraph + * @param group + */ GraphGroup.prototype.update = function(group) { this.group = group; this.content = group.content || 'graph'; @@ -10161,6 +10205,17 @@ return /******/ (function(modules) { // webpackBootstrap this.setOptions(group.options); }; + + /** + * draw the icon for the legend. + * + * @param x + * @param y + * @param JSONcontainer + * @param SVGcontainer + * @param iconWidth + * @param iconHeight + */ GraphGroup.prototype.drawIcon = function(x, y, JSONcontainer, SVGcontainer, iconWidth, iconHeight) { var fillHeight = iconHeight * 0.5; var path, fillPath; @@ -10211,7 +10266,9 @@ return /******/ (function(modules) { // webpackBootstrap } }; + /** + * return the legend entree for this group. * * @param iconWidth * @param iconHeight @@ -10223,6 +10280,15 @@ return /******/ (function(modules) { // webpackBootstrap return {icon: svg, label: this.content, orientation:this.options.yAxisOrientation}; } + GraphGroup.prototype.getYRange = function(groupData) { + return this.type.getYRange(groupData); + } + + GraphGroup.prototype.draw = function(dataset, group, framework) { + this.type.draw(dataset, group, framework); + } + + module.exports = GraphGroup; @@ -10258,10 +10324,15 @@ return /******/ (function(modules) { // webpackBootstrap this.items = {}; // items filtered by groupId of this group this.visibleItems = []; // items currently visible in window - this.orderedItems = { // items sorted by start and by end + this.orderedItems = { byStart: [], byEnd: [] }; + this.checkRangedItems = false; // needed to refresh the ranged items if the window is programatically changed with NO overlap. + var me = this; + this.itemSet.body.emitter.on("checkRangedItems", function () { + me.checkRangedItems = true; + }) this._create(); @@ -10593,6 +10664,7 @@ return /******/ (function(modules) { // webpackBootstrap // TODO: also remove from ordered items? }; + /** * Remove an item from the corresponding DataSet * @param {Item} item @@ -10601,35 +10673,31 @@ return /******/ (function(modules) { // webpackBootstrap this.itemSet.removeItem(item.id); }; + /** * Reorder the items */ Group.prototype.order = function() { var array = util.toArray(this.items); - this.orderedItems.byStart = array; - this.orderedItems.byEnd = this._constructByEndArray(array); - - stack.orderByStart(this.orderedItems.byStart); - stack.orderByEnd(this.orderedItems.byEnd); - }; - - /** - * Create an array containing all items being a range (having an end date) - * @param {Item[]} array - * @returns {RangeItem[]} - * @private - */ - Group.prototype._constructByEndArray = function(array) { + var startArray = []; var endArray = []; for (var i = 0; i < array.length; i++) { - if (array[i] instanceof RangeItem) { + if (array[i].data.end !== undefined) { endArray.push(array[i]); } + startArray.push(array[i]); } - return endArray; + this.orderedItems = { + byStart: startArray, + byEnd: endArray + }; + + stack.orderByStart(this.orderedItems.byStart); + stack.orderByEnd(this.orderedItems.byEnd); }; + /** * Update the visible items * @param {{byStart: Item[], byEnd: Item[]}} orderedItems All items ordered by start date and by end date @@ -10638,80 +10706,139 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Item[]} visibleItems The new visible items. * @private */ - Group.prototype._updateVisibleItems = function(orderedItems, visibleItems, range) { - var initialPosByStart, - newVisibleItems = [], - i; + Group.prototype._updateVisibleItems = function(orderedItems, oldVisibleItems, range) { + var visibleItems = []; + var visibleItemsLookup = {}; // we keep this to quickly look up if an item already exists in the list without using indexOf on visibleItems + var interval = (range.end - range.start) / 4; + var lowerBound = range.start - interval; + var upperBound = range.end + interval; + var item, i; + + // this function is used to do the binary search. + var searchFunction = function (value) { + if (value < lowerBound) {return -1;} + else if (value <= upperBound) {return 0;} + else {return 1;} + } // first check if the items that were in view previously are still in view. - // this handles the case for the RangeItem that is both before and after the current one. - if (visibleItems.length > 0) { - for (i = 0; i < visibleItems.length; i++) { - this._checkIfVisible(visibleItems[i], newVisibleItems, range); + // IMPORTANT: this handles the case for the items with startdate before the window and enddate after the window! + // also cleans up invisible items. + if (oldVisibleItems.length > 0) { + for (i = 0; i < oldVisibleItems.length; i++) { + this._checkIfVisibleWithReference(oldVisibleItems[i], visibleItems, visibleItemsLookup, range); } } - // If there were no visible items previously, use binarySearch to find a visible PointItem or RangeItem (based on startTime) - if (newVisibleItems.length == 0) { - initialPosByStart = util.binarySearch(orderedItems.byStart, range, 'data','start'); + // we do a binary search for the items that have only start values. + var initialPosByStart = util.binarySearchCustom(orderedItems.byStart, searchFunction, 'data','start'); + + // trace the visible items from the inital start pos both ways until an invisible item is found, we only look at the start values. + this._traceVisible(initialPosByStart, orderedItems.byStart, visibleItems, visibleItemsLookup, function (item) { + return (item.data.start < lowerBound || item.data.start > upperBound); + }); + + // if the window has changed programmatically without overlapping the old window, the ranged items with start < lowerBound and end > upperbound are not shown. + // We therefore have to brute force check all items in the byEnd list + if (this.checkRangedItems == true) { + this.checkRangedItems = false; + for (i = 0; i < orderedItems.byEnd.length; i++) { + this._checkIfVisibleWithReference(orderedItems.byEnd[i], visibleItems, visibleItemsLookup, range); + } } else { - initialPosByStart = orderedItems.byStart.indexOf(newVisibleItems[0]); + // we do a binary search for the items that have defined end times. + var initialPosByEnd = util.binarySearchCustom(orderedItems.byEnd, searchFunction, 'data','end'); + + // trace the visible items from the inital start pos both ways until an invisible item is found, we only look at the end values. + this._traceVisible(initialPosByEnd, orderedItems.byEnd, visibleItems, visibleItemsLookup, function (item) { + return (item.data.end < lowerBound || item.data.end > upperBound); + }); } - // use visible search to find a visible RangeItem (only based on endTime) - var initialPosByEnd = util.binarySearch(orderedItems.byEnd, range, 'data','end'); - // if we found a initial ID to use, trace it up and down until we meet an invisible item. - if (initialPosByStart != -1) { - for (i = initialPosByStart; i >= 0; i--) { - if (this._checkIfInvisible(orderedItems.byStart[i], newVisibleItems, range)) {break;} - } - for (i = initialPosByStart + 1; i < orderedItems.byStart.length; i++) { - if (this._checkIfInvisible(orderedItems.byStart[i], newVisibleItems, range)) {break;} - } + // finally, we reposition all the visible items. + for (i = 0; i < visibleItems.length; i++) { + item = visibleItems[i]; + if (!item.displayed) item.show(); + // reposition item horizontally + item.repositionX(); } - // if we found a initial ID to use, trace it up and down until we meet an invisible item. - if (initialPosByEnd != -1) { - for (i = initialPosByEnd; i >= 0; i--) { - if (this._checkIfInvisible(orderedItems.byEnd[i], newVisibleItems, range)) {break;} - } - for (i = initialPosByEnd + 1; i < orderedItems.byEnd.length; i++) { - if (this._checkIfInvisible(orderedItems.byEnd[i], newVisibleItems, range)) {break;} - } - } + // debug + //console.log("new line") + //if (this.groupId == null) { + // for (i = 0; i < orderedItems.byStart.length; i++) { + // item = orderedItems.byStart[i].data; + // console.log('start',i,initialPosByStart, item.start.valueOf(), item.content, item.start >= lowerBound && item.start <= upperBound,i == initialPosByStart ? "<------------------- HEREEEE" : "") + // } + // for (i = 0; i < orderedItems.byEnd.length; i++) { + // item = orderedItems.byEnd[i].data; + // console.log('rangeEnd',i,initialPosByEnd, item.end.valueOf(), item.content, item.end >= range.start && item.end <= range.end,i == initialPosByEnd ? "<------------------- HEREEEE" : "") + // } + //} - return newVisibleItems; + return visibleItems; }; + Group.prototype._traceVisible = function (initialPos, items, visibleItems, visibleItemsLookup, breakCondition) { + var item; + var i; + + if (initialPos != -1) { + for (i = initialPos; i >= 0; i--) { + item = items[i]; + if (breakCondition(item)) { + break; + } + else { + if (visibleItemsLookup[item.id] === undefined) { + visibleItemsLookup[item.id] = true; + visibleItems.push(item); + } + } + } + + for (i = initialPos + 1; i < items.length; i++) { + item = items[i]; + if (breakCondition(item)) { + break; + } + else { + if (visibleItemsLookup[item.id] === undefined) { + visibleItemsLookup[item.id] = true; + visibleItems.push(item); + } + } + } + } + } /** - * this function checks if an item is invisible. If it is NOT we make it visible - * and add it to the global visible items. If it is, return true. + * this function is very similar to the _checkIfInvisible() but it does not + * return booleans, hides the item if it should not be seen and always adds to + * the visibleItems. + * this one is for brute forcing and hiding. * * @param {Item} item - * @param {Item[]} visibleItems + * @param {Array} visibleItems * @param {{start:number, end:number}} range - * @returns {boolean} * @private */ - Group.prototype._checkIfInvisible = function(item, visibleItems, range) { + Group.prototype._checkIfVisible = function(item, visibleItems, range) { if (item.isVisible(range)) { if (!item.displayed) item.show(); + // reposition item horizontally item.repositionX(); - if (visibleItems.indexOf(item) == -1) { - visibleItems.push(item); - } - return false; + visibleItems.push(item); } else { if (item.displayed) item.hide(); - return true; } }; + /** * this function is very similar to the _checkIfInvisible() but it does not * return booleans, hides the item if it should not be seen and always adds to @@ -10723,18 +10850,20 @@ return /******/ (function(modules) { // webpackBootstrap * @param {{start:number, end:number}} range * @private */ - Group.prototype._checkIfVisible = function(item, visibleItems, range) { - if (item.isVisible(range)) { - if (!item.displayed) item.show(); - // reposition item horizontally - item.repositionX(); + Group.prototype._checkIfVisibleWithReference = function(item, visibleItems, visibleItemsLookup, range) { + if (item.isVisible(range)) { + if (visibleItemsLookup[item.id] === undefined) { + visibleItemsLookup[item.id] = true; visibleItems.push(item); } - else { - if (item.displayed) item.hide(); - } + } + else { + if (item.displayed) item.hide(); + } }; + + module.exports = Group; @@ -12497,6 +12626,7 @@ return /******/ (function(modules) { // webpackBootstrap var DataAxis = __webpack_require__(23); var GraphGroup = __webpack_require__(24); var Legend = __webpack_require__(28); + var BarGraphFunctions = __webpack_require__(52); var UNGROUPED = '__ungrouped__'; // reserved group id for ungrouped items @@ -12547,7 +12677,7 @@ return /******/ (function(modules) { // webpackBootstrap left: {min:undefined, max:undefined}, right: {min:undefined, max:undefined} } - //, + //, these options are not set by default, but this shows the format they will be in //format: { // left: {decimals: 2}, // right: {decimals: 2} @@ -12636,7 +12766,9 @@ return /******/ (function(modules) { // webpackBootstrap // create the HTML DOM this._create(); + this.framework = {svg: this.svg, svgElements: this.svgElements, options: this.options, groups: this.groups}; this.body.emitter.emit('change'); + } LineGraph.prototype = new Component(); @@ -12673,7 +12805,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * set the options of the LineGraph. the mergeOptions is used for subObjects that have an enabled element. - * @param options + * @param {object} options */ LineGraph.prototype.setOptions = function(options) { if (options) { @@ -12742,6 +12874,7 @@ return /******/ (function(modules) { // webpackBootstrap } }; + /** * Show the component in the DOM (when not already visible). * @return {Boolean} changed @@ -12801,6 +12934,7 @@ return /******/ (function(modules) { // webpackBootstrap this.redraw(); }; + /** * Set groups * @param {vis.DataSet} groups @@ -12848,7 +12982,7 @@ return /******/ (function(modules) { // webpackBootstrap /** - * Update the datapoints + * Update the data * @param [ids] * @private */ @@ -12871,6 +13005,12 @@ return /******/ (function(modules) { // webpackBootstrap }; LineGraph.prototype._onAddGroups = function (groupIds) {this._onUpdateGroups(groupIds);}; + + /** + * this cleans the group out off the legends and the dataaxis, updates the ungrouped and updates the graph + * @param {Array} groupIds + * @private + */ LineGraph.prototype._onRemoveGroups = function (groupIds) { for (var i = 0; i < groupIds.length; i++) { if (this.groups.hasOwnProperty(groupIds[i])) { @@ -12892,8 +13032,9 @@ return /******/ (function(modules) { // webpackBootstrap this.redraw(); }; + /** - * update a group object + * update a group object with the group dataset entree * * @param group * @param groupId @@ -12926,6 +13067,12 @@ return /******/ (function(modules) { // webpackBootstrap this.legendRight.redraw(); }; + + /** + * this updates all groups, it is used when there is an update the the itemset. + * + * @private + */ LineGraph.prototype._updateAllGroupData = function () { if (this.itemsData != null) { var groupsContent = {}; @@ -12953,6 +13100,7 @@ return /******/ (function(modules) { // webpackBootstrap } }; + /** * Create or delete the group holding all ungrouped items. This group is used when * there are no groups specified. This anonymous group is called 'graph'. @@ -13055,6 +13203,7 @@ return /******/ (function(modules) { // webpackBootstrap return resized; }; + /** * Update and redraw the graph. * @@ -13092,12 +13241,17 @@ return /******/ (function(modules) { // webpackBootstrap var minDate = this.body.util.toGlobalTime(- this.body.domProps.root.width); var maxDate = this.body.util.toGlobalTime(2 * this.body.domProps.root.width); var groupsData = {}; - // fill groups data + // fill groups data, this only loads the data we require based on the timewindow this._getRelevantData(groupIds, groupsData, minDate, maxDate); + + // apply sampling, if disabled, it will pass through this function. + this._applySampling(groupIds, groupsData); + // we transform the X coordinates to detect collisions for (i = 0; i < groupIds.length; i++) { preprocessedGroupData[groupIds[i]] = this._convertXcoordinates(groupsData[groupIds[i]]); } + // now all needed data has been collected we start the processing. this._getYRanges(groupIds, preprocessedGroupData, groupRanges); @@ -13122,11 +13276,11 @@ return /******/ (function(modules) { // webpackBootstrap // draw the groups for (i = 0; i < groupIds.length; i++) { group = this.groups[groupIds[i]]; - if (group.options.style == 'line') { - this._drawLineGraph(processedGroupData[groupIds[i]], group); + if (group.options.style != 'bar') { // bar needs to be drawn enmasse + group.draw(processedGroupData[groupIds[i]], group, this.framework); } } - this._drawBarGraphs(groupIds, processedGroupData); + BarGraphFunctions.draw(groupIds, processedGroupData, this.framework); } } @@ -13135,12 +13289,20 @@ return /******/ (function(modules) { // webpackBootstrap }; + /** + * first select and preprocess the data from the datasets. + * the groups have their preselection of data, we now loop over this data to see + * what data we need to draw. Sorted data is much faster. + * more optimization is possible by doing the sampling before and using the binary search + * to find the end date to determine the increment. + * + * @param {array} groupIds + * @param {object} groupsData + * @param {date} minDate + * @param {date} maxDate + * @private + */ LineGraph.prototype._getRelevantData = function (groupIds, groupsData, minDate, maxDate) { - // first select and preprocess the data from the datasets. - // the groups have their preselection of data, we now loop over this data to see - // what data we need to draw. Sorted data is much faster. - // more optimization is possible by doing the sampling before and using the binary search - // to find the end date to determine the increment. var group, i, j, item; if (groupIds.length > 0) { for (i = 0; i < groupIds.length; i++) { @@ -13149,7 +13311,7 @@ return /******/ (function(modules) { // webpackBootstrap var dataContainer = groupsData[groupIds[i]]; // optimization for sorted data if (group.options.sort == true) { - var guess = Math.max(0, util.binarySearchGeneric(group.itemsData, minDate, 'x', 'before')); + var guess = Math.max(0, util.binarySearchValue(group.itemsData, minDate, 'x', 'before')); for (j = guess; j < group.itemsData.length; j++) { item = group.itemsData[j]; if (item !== undefined) { @@ -13175,10 +13337,15 @@ return /******/ (function(modules) { // webpackBootstrap } } } - - this._applySampling(groupIds, groupsData); }; + + /** + * + * @param groupIds + * @param groupsData + * @private + */ LineGraph.prototype._applySampling = function (groupIds, groupsData) { var group; if (groupIds.length > 0) { @@ -13208,103 +13375,41 @@ return /******/ (function(modules) { // webpackBootstrap } }; + + /** + * + * + * @param {array} groupIds + * @param {object} groupsData + * @param {object} groupRanges | this is being filled here + * @private + */ LineGraph.prototype._getYRanges = function (groupIds, groupsData, groupRanges) { - var groupData, group, i,j; + var groupData, group, i; var barCombinedDataLeft = []; var barCombinedDataRight = []; - var barCombinedData; + var options; if (groupIds.length > 0) { for (i = 0; i < groupIds.length; i++) { groupData = groupsData[groupIds[i]]; + options = this.groups[groupIds[i]].options; if (groupData.length > 0) { group = this.groups[groupIds[i]]; - if (group.options.style == 'line' || group.options.barChart.handleOverlap != 'stack') { - var yMin = groupData[0].y; - var yMax = groupData[0].y; - for (j = 0; j < groupData.length; j++) { - yMin = yMin > groupData[j].y ? groupData[j].y : yMin; - yMax = yMax < groupData[j].y ? groupData[j].y : yMax; - } - groupRanges[groupIds[i]] = {min: yMin, max: yMax, yAxisOrientation: group.options.yAxisOrientation}; + // if bar graphs are stacked, their range need to be handled differently and accumulated over all groups. + if (options.barChart.handleOverlap == 'stack' && options.style == 'bar') { + if (options.yAxisOrientation == 'left') {barCombinedDataLeft = barCombinedDataLeft.concat(group.getYRange(groupData)) ;} + else {barCombinedDataRight = barCombinedDataRight.concat(group.getYRange(groupData));} } - else if (group.options.style == 'bar') { - if (group.options.yAxisOrientation == 'left') { - barCombinedData = barCombinedDataLeft; - } - else { - barCombinedData = barCombinedDataRight; - } - - groupRanges[groupIds[i]] = {min: 0, max: 0, yAxisOrientation: group.options.yAxisOrientation, ignore: true}; - - // combine data - for (j = 0; j < groupData.length; j++) { - barCombinedData.push({ - x: groupData[j].x, - y: groupData[j].y, - groupId: groupIds[i] - }); - } + else { + groupRanges[groupIds[i]] = group.getYRange(groupData,groupIds[i]); } } } - var intersections; - if (barCombinedDataLeft.length > 0) { - // sort by time and by group - barCombinedDataLeft.sort(function (a, b) { - if (a.x == b.x) { - return a.groupId - b.groupId; - } else { - return a.x - b.x; - } - }); - intersections = {}; - this._getDataIntersections(intersections, barCombinedDataLeft); - groupRanges['__barchartLeft'] = this._getStackedBarYRange(intersections, barCombinedDataLeft); - groupRanges['__barchartLeft'].yAxisOrientation = 'left'; - groupIds.push('__barchartLeft'); - } - if (barCombinedDataRight.length > 0) { - // sort by time and by group - barCombinedDataRight.sort(function (a, b) { - if (a.x == b.x) { - return a.groupId - b.groupId; - } else { - return a.x - b.x; - } - }); - intersections = {}; - this._getDataIntersections(intersections, barCombinedDataRight); - groupRanges['__barchartRight'] = this._getStackedBarYRange(intersections, barCombinedDataRight); - groupRanges['__barchartRight'].yAxisOrientation = 'right'; - groupIds.push('__barchartRight'); - } - } - }; - - LineGraph.prototype._getStackedBarYRange = function (intersections, combinedData) { - var key; - var yMin = combinedData[0].y; - var yMax = combinedData[0].y; - for (var i = 0; i < combinedData.length; i++) { - key = combinedData[i].x; - if (intersections[key] === undefined) { - yMin = yMin > combinedData[i].y ? combinedData[i].y : yMin; - yMax = yMax < combinedData[i].y ? combinedData[i].y : yMax; - } - else { - intersections[key].accumulated += combinedData[i].y; - } - } - for (var xpos in intersections) { - if (intersections.hasOwnProperty(xpos)) { - yMin = yMin > intersections[xpos].accumulated ? intersections[xpos].accumulated : yMin; - yMax = yMax < intersections[xpos].accumulated ? intersections[xpos].accumulated : yMax; - } + // if bar graphs are stacked, their range need to be handled differently and accumulated over all groups. + BarGraphFunctions.getStackedBarYRange(barCombinedDataLeft , groupRanges, groupIds, '__barchartLeft' , 'left' ); + BarGraphFunctions.getStackedBarYRange(barCombinedDataRight, groupRanges, groupIds, '__barchartRight', 'right'); } - - return {min: yMin, max: yMax}; }; @@ -13386,6 +13491,7 @@ return /******/ (function(modules) { // webpackBootstrap return changeCalled; }; + /** * This shows or hides the Y axis if needed. If there is a change, the changed event is emitted by the updateYAxis function * @@ -13412,224 +13518,6 @@ return /******/ (function(modules) { // webpackBootstrap }; - /** - * draw a bar graph - * - * @param groupIds - * @param processedGroupData - */ - LineGraph.prototype._drawBarGraphs = function (groupIds, processedGroupData) { - var combinedData = []; - var intersections = {}; - var coreDistance; - var key, drawData; - var group; - var i,j; - var barPoints = 0; - - // combine all barchart data - for (i = 0; i < groupIds.length; i++) { - group = this.groups[groupIds[i]]; - if (group.options.style == 'bar') { - if (group.visible == true && (this.options.groups.visibility[groupIds[i]] === undefined || this.options.groups.visibility[groupIds[i]] == true)) { - for (j = 0; j < processedGroupData[groupIds[i]].length; j++) { - combinedData.push({ - x: processedGroupData[groupIds[i]][j].x, - y: processedGroupData[groupIds[i]][j].y, - groupId: groupIds[i] - }); - barPoints += 1; - } - } - } - } - - if (barPoints == 0) {return;} - - // sort by time and by group - combinedData.sort(function (a, b) { - if (a.x == b.x) { - return a.groupId - b.groupId; - } else { - return a.x - b.x; - } - }); - - // get intersections - this._getDataIntersections(intersections, combinedData); - - // plot barchart - for (i = 0; i < combinedData.length; i++) { - group = this.groups[combinedData[i].groupId]; - var minWidth = 0.1 * group.options.barChart.width; - - key = combinedData[i].x; - var heightOffset = 0; - if (intersections[key] === undefined) { - if (i+1 < combinedData.length) {coreDistance = Math.abs(combinedData[i+1].x - key);} - if (i > 0) {coreDistance = Math.min(coreDistance,Math.abs(combinedData[i-1].x - key));} - drawData = this._getSafeDrawData(coreDistance, group, minWidth); - } - else { - var nextKey = i + (intersections[key].amount - intersections[key].resolved); - var prevKey = i - (intersections[key].resolved + 1); - if (nextKey < combinedData.length) {coreDistance = Math.abs(combinedData[nextKey].x - key);} - if (prevKey > 0) {coreDistance = Math.min(coreDistance,Math.abs(combinedData[prevKey].x - key));} - drawData = this._getSafeDrawData(coreDistance, group, minWidth); - intersections[key].resolved += 1; - - if (group.options.barChart.handleOverlap == 'stack') { - heightOffset = intersections[key].accumulated; - intersections[key].accumulated += group.zeroPosition - combinedData[i].y; - } - else if (group.options.barChart.handleOverlap == 'sideBySide') { - drawData.width = drawData.width / intersections[key].amount; - drawData.offset += (intersections[key].resolved) * drawData.width - (0.5*drawData.width * (intersections[key].amount+1)); - if (group.options.barChart.align == 'left') {drawData.offset -= 0.5*drawData.width;} - else if (group.options.barChart.align == 'right') {drawData.offset += 0.5*drawData.width;} - } - } - DOMutil.drawBar(combinedData[i].x + drawData.offset, combinedData[i].y - heightOffset, drawData.width, group.zeroPosition - combinedData[i].y, group.className + ' bar', this.svgElements, this.svg); - // draw points - if (group.options.drawPoints.enabled == true) { - DOMutil.drawPoint(combinedData[i].x + drawData.offset, combinedData[i].y - heightOffset, group, this.svgElements, this.svg); - } - } - }; - - /** - * Fill the intersections object with counters of how many datapoints share the same x coordinates - * @param intersections - * @param combinedData - * @private - */ - LineGraph.prototype._getDataIntersections = function (intersections, combinedData) { - // get intersections - var coreDistance; - for (var i = 0; i < combinedData.length; i++) { - if (i + 1 < combinedData.length) { - coreDistance = Math.abs(combinedData[i + 1].x - combinedData[i].x); - } - if (i > 0) { - coreDistance = Math.min(coreDistance, Math.abs(combinedData[i - 1].x - combinedData[i].x)); - } - if (coreDistance == 0) { - if (intersections[combinedData[i].x] === undefined) { - intersections[combinedData[i].x] = {amount: 0, resolved: 0, accumulated: 0}; - } - intersections[combinedData[i].x].amount += 1; - } - } - }; - - /** - * Get the width and offset for bargraphs based on the coredistance between datapoints - * - * @param coreDistance - * @param group - * @param minWidth - * @returns {{width: Number, offset: Number}} - * @private - */ - LineGraph.prototype._getSafeDrawData = function (coreDistance, group, minWidth) { - var width, offset; - if (coreDistance < group.options.barChart.width && coreDistance > 0) { - width = coreDistance < minWidth ? minWidth : coreDistance; - - offset = 0; // recalculate offset with the new width; - if (group.options.barChart.align == 'left') { - offset -= 0.5 * coreDistance; - } - else if (group.options.barChart.align == 'right') { - offset += 0.5 * coreDistance; - } - } - else { - // default settings - width = group.options.barChart.width; - offset = 0; - if (group.options.barChart.align == 'left') { - offset -= 0.5 * group.options.barChart.width; - } - else if (group.options.barChart.align == 'right') { - offset += 0.5 * group.options.barChart.width; - } - } - - return {width: width, offset: offset}; - }; - - - /** - * draw a line graph - * - * @param dataset - * @param group - */ - LineGraph.prototype._drawLineGraph = function (dataset, group) { - if (dataset != null) { - if (dataset.length > 0) { - var path, d; - var svgHeight = Number(this.svg.style.height.replace('px','')); - path = DOMutil.getSVGElement('path', this.svgElements, this.svg); - path.setAttributeNS(null, "class", group.className); - if(group.style !== undefined) { - path.setAttributeNS(null, "style", group.style); - } - - // construct path from dataset - if (group.options.catmullRom.enabled == true) { - d = this._catmullRom(dataset, group); - } - else { - d = this._linear(dataset); - } - - // append with points for fill and finalize the path - if (group.options.shaded.enabled == true) { - var fillPath = DOMutil.getSVGElement('path',this.svgElements, this.svg); - var dFill; - if (group.options.shaded.orientation == 'top') { - dFill = 'M' + dataset[0].x + ',' + 0 + ' ' + d + 'L' + dataset[dataset.length - 1].x + ',' + 0; - } - else { - dFill = 'M' + dataset[0].x + ',' + svgHeight + ' ' + d + 'L' + dataset[dataset.length - 1].x + ',' + svgHeight; - } - fillPath.setAttributeNS(null, "class", group.className + " fill"); - if(group.options.shaded.style !== undefined) { - fillPath.setAttributeNS(null, "style", group.options.shaded.style); - } - fillPath.setAttributeNS(null, "d", dFill); - } - // copy properties to path for drawing. - path.setAttributeNS(null, 'd', 'M' + d); - - // draw points - if (group.options.drawPoints.enabled == true) { - this._drawPoints(dataset, group, this.svgElements, this.svg); - } - } - } - }; - - /** - * draw the data points - * - * @param {Array} dataset - * @param {Object} JSONcontainer - * @param {Object} svg | SVG DOM element - * @param {GraphGroup} group - * @param {Number} [offset] - */ - LineGraph.prototype._drawPoints = function (dataset, group, JSONcontainer, svg, offset) { - if (offset === undefined) {offset = 0;} - for (var i = 0; i < dataset.length; i++) { - DOMutil.drawPoint(dataset[i].x + offset, dataset[i].y, group, JSONcontainer, svg); - } - }; - - - /** * This uses the DataAxis object to generate the correct X coordinate on the SVG window. It uses the * util function toScreen to get the x coordinate from the timestamp. It also pre-filters the data and get the minMax ranges for @@ -13654,13 +13542,13 @@ return /******/ (function(modules) { // webpackBootstrap }; - /** * This uses the DataAxis object to generate the correct X coordinate on the SVG window. It uses the * util function toScreen to get the x coordinate from the timestamp. It also pre-filters the data and get the minMax ranges for * the yAxis. * * @param datapoints + * @param group * @returns {Array} * @private */ @@ -13685,150 +13573,6 @@ return /******/ (function(modules) { // webpackBootstrap return extractedData; }; - /** - * This uses an uniform parametrization of the CatmullRom algorithm: - * 'On the Parameterization of Catmull-Rom Curves' by Cem Yuksel et al. - * @param data - * @returns {string} - * @private - */ - LineGraph.prototype._catmullRomUniform = function(data) { - // catmull rom - var p0, p1, p2, p3, bp1, bp2; - var d = Math.round(data[0].x) + ',' + Math.round(data[0].y) + ' '; - var normalization = 1/6; - var length = data.length; - for (var i = 0; i < length - 1; i++) { - - p0 = (i == 0) ? data[0] : data[i-1]; - p1 = data[i]; - p2 = data[i+1]; - p3 = (i + 2 < length) ? data[i+2] : p2; - - - // Catmull-Rom to Cubic Bezier conversion matrix - // 0 1 0 0 - // -1/6 1 1/6 0 - // 0 1/6 1 -1/6 - // 0 0 1 0 - - // bp0 = { x: p1.x, y: p1.y }; - bp1 = { x: ((-p0.x + 6*p1.x + p2.x) *normalization), y: ((-p0.y + 6*p1.y + p2.y) *normalization)}; - bp2 = { x: (( p1.x + 6*p2.x - p3.x) *normalization), y: (( p1.y + 6*p2.y - p3.y) *normalization)}; - // bp0 = { x: p2.x, y: p2.y }; - - d += 'C' + - bp1.x + ',' + - bp1.y + ' ' + - bp2.x + ',' + - bp2.y + ' ' + - p2.x + ',' + - p2.y + ' '; - } - - return d; - }; - - /** - * This uses either the chordal or centripetal parameterization of the catmull-rom algorithm. - * By default, the centripetal parameterization is used because this gives the nicest results. - * These parameterizations are relatively heavy because the distance between 4 points have to be calculated. - * - * One optimization can be used to reuse distances since this is a sliding window approach. - * @param data - * @returns {string} - * @private - */ - LineGraph.prototype._catmullRom = function(data, group) { - var alpha = group.options.catmullRom.alpha; - if (alpha == 0 || alpha === undefined) { - return this._catmullRomUniform(data); - } - else { - var p0, p1, p2, p3, bp1, bp2, d1,d2,d3, A, B, N, M; - var d3powA, d2powA, d3pow2A, d2pow2A, d1pow2A, d1powA; - var d = Math.round(data[0].x) + ',' + Math.round(data[0].y) + ' '; - var length = data.length; - for (var i = 0; i < length - 1; i++) { - - p0 = (i == 0) ? data[0] : data[i-1]; - p1 = data[i]; - p2 = data[i+1]; - p3 = (i + 2 < length) ? data[i+2] : p2; - - d1 = Math.sqrt(Math.pow(p0.x - p1.x,2) + Math.pow(p0.y - p1.y,2)); - d2 = Math.sqrt(Math.pow(p1.x - p2.x,2) + Math.pow(p1.y - p2.y,2)); - d3 = Math.sqrt(Math.pow(p2.x - p3.x,2) + Math.pow(p2.y - p3.y,2)); - - // Catmull-Rom to Cubic Bezier conversion matrix - // - // A = 2d1^2a + 3d1^a * d2^a + d3^2a - // B = 2d3^2a + 3d3^a * d2^a + d2^2a - // - // [ 0 1 0 0 ] - // [ -d2^2a/N A/N d1^2a/N 0 ] - // [ 0 d3^2a/M B/M -d2^2a/M ] - // [ 0 0 1 0 ] - - // [ 0 1 0 0 ] - // [ -d2pow2a/N A/N d1pow2a/N 0 ] - // [ 0 d3pow2a/M B/M -d2pow2a/M ] - // [ 0 0 1 0 ] - - d3powA = Math.pow(d3, alpha); - d3pow2A = Math.pow(d3,2*alpha); - d2powA = Math.pow(d2, alpha); - d2pow2A = Math.pow(d2,2*alpha); - d1powA = Math.pow(d1, alpha); - d1pow2A = Math.pow(d1,2*alpha); - - A = 2*d1pow2A + 3*d1powA * d2powA + d2pow2A; - B = 2*d3pow2A + 3*d3powA * d2powA + d2pow2A; - N = 3*d1powA * (d1powA + d2powA); - if (N > 0) {N = 1 / N;} - M = 3*d3powA * (d3powA + d2powA); - if (M > 0) {M = 1 / M;} - - bp1 = { x: ((-d2pow2A * p0.x + A*p1.x + d1pow2A * p2.x) * N), - y: ((-d2pow2A * p0.y + A*p1.y + d1pow2A * p2.y) * N)}; - - bp2 = { x: (( d3pow2A * p1.x + B*p2.x - d2pow2A * p3.x) * M), - y: (( d3pow2A * p1.y + B*p2.y - d2pow2A * p3.y) * M)}; - - if (bp1.x == 0 && bp1.y == 0) {bp1 = p1;} - if (bp2.x == 0 && bp2.y == 0) {bp2 = p2;} - d += 'C' + - bp1.x + ',' + - bp1.y + ' ' + - bp2.x + ',' + - bp2.y + ' ' + - p2.x + ',' + - p2.y + ' '; - } - - return d; - } - }; - - /** - * this generates the SVG path for a linear drawing between datapoints. - * @param data - * @returns {string} - * @private - */ - LineGraph.prototype._linear = function(data) { - // linear - var d = ''; - for (var i = 0; i < data.length; i++) { - if (i == 0) { - d += data[i].x + ',' + data[i].y; - } - else { - d += ' ' + data[i].x + ',' + data[i].y; - } - } - return d; - }; module.exports = LineGraph; @@ -15452,9 +15196,9 @@ return /******/ (function(modules) { // webpackBootstrap /* 36 */ /***/ function(module, exports, __webpack_require__) { - var Emitter = __webpack_require__(53); + var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); - var keycharm = __webpack_require__(54); + var keycharm = __webpack_require__(57); var util = __webpack_require__(1); var hammerUtil = __webpack_require__(47); var DataSet = __webpack_require__(3); @@ -15466,8 +15210,8 @@ return /******/ (function(modules) { // webpackBootstrap var Node = __webpack_require__(40); var Edge = __webpack_require__(37); var Popup = __webpack_require__(41); - var MixinLoader = __webpack_require__(51); - var Activator = __webpack_require__(52); + var MixinLoader = __webpack_require__(54); + var Activator = __webpack_require__(55); var locales = __webpack_require__(49); // Load custom shapes into CanvasRenderingContext2D @@ -21414,7 +21158,7 @@ return /******/ (function(modules) { // webpackBootstrap // first check if moment.js is already loaded in the browser window, if so, // use this instance. Else, load via commonjs. - module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(55); + module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(58); /***/ }, @@ -21424,7 +21168,7 @@ return /******/ (function(modules) { // webpackBootstrap // Only load hammer.js when in a browser environment // (loading hammer.js in a node.js environment gives errors) if (typeof window !== 'undefined') { - module.exports = window['Hammer'] || __webpack_require__(56); + module.exports = window['Hammer'] || __webpack_require__(59); } else { module.exports = function () { @@ -21437,7 +21181,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 46 */ /***/ function(module, exports, __webpack_require__) { - var Emitter = __webpack_require__(53); + var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); @@ -21447,7 +21191,7 @@ return /******/ (function(modules) { // webpackBootstrap var CurrentTime = __webpack_require__(21); var CustomTime = __webpack_require__(22); var ItemSet = __webpack_require__(27); - var Activator = __webpack_require__(52); + var Activator = __webpack_require__(55); var DateUtil = __webpack_require__(15); /** @@ -22034,6 +21778,8 @@ return /******/ (function(modules) { // webpackBootstrap // keep repainting until all sizes are settled this.redraw(); } + + this.emit("finishedRedraw"); }; // TODO: deprecated since version 1.1.0, remove some day @@ -22617,13 +22363,519 @@ return /******/ (function(modules) { // webpackBootstrap /* 51 */ /***/ function(module, exports, __webpack_require__) { - var PhysicsMixin = __webpack_require__(63); - var ClusterMixin = __webpack_require__(57); - var SectorsMixin = __webpack_require__(58); - var SelectionMixin = __webpack_require__(59); - var ManipulationMixin = __webpack_require__(60); - var NavigationMixin = __webpack_require__(61); - var HierarchicalLayoutMixin = __webpack_require__(62); + /** + * Created by Alex on 11/11/2014. + */ + var DOMutil = __webpack_require__(2); + var Points = __webpack_require__(53); + + function Line(groupId, options) { + this.groupId = groupId; + this.options = options; + } + + Line.prototype.getYRange = function(groupData) { + var yMin = groupData[0].y; + var yMax = groupData[0].y; + for (j = 0; j < groupData.length; j++) { + yMin = yMin > groupData[j].y ? groupData[j].y : yMin; + yMax = yMax < groupData[j].y ? groupData[j].y : yMax; + } + return {min: yMin, max: yMax, yAxisOrientation: this.options.yAxisOrientation}; + }; + + + /** + * draw a line graph + * + * @param dataset + * @param group + */ + Line.prototype.draw = function (dataset, group, framework) { + if (dataset != null) { + if (dataset.length > 0) { + var path, d; + var svgHeight = Number(framework.svg.style.height.replace('px','')); + path = DOMutil.getSVGElement('path', framework.svgElements, framework.svg); + path.setAttributeNS(null, "class", group.className); + if(group.style !== undefined) { + path.setAttributeNS(null, "style", group.style); + } + + // construct path from dataset + if (group.options.catmullRom.enabled == true) { + d = Line._catmullRom(dataset, group); + } + else { + d = Line._linear(dataset); + } + + // append with points for fill and finalize the path + if (group.options.shaded.enabled == true) { + var fillPath = DOMutil.getSVGElement('path', framework.svgElements, framework.svg); + var dFill; + if (group.options.shaded.orientation == 'top') { + dFill = 'M' + dataset[0].x + ',' + 0 + ' ' + d + 'L' + dataset[dataset.length - 1].x + ',' + 0; + } + else { + dFill = 'M' + dataset[0].x + ',' + svgHeight + ' ' + d + 'L' + dataset[dataset.length - 1].x + ',' + svgHeight; + } + fillPath.setAttributeNS(null, "class", group.className + " fill"); + if(group.options.shaded.style !== undefined) { + fillPath.setAttributeNS(null, "style", group.options.shaded.style); + } + fillPath.setAttributeNS(null, "d", dFill); + } + // copy properties to path for drawing. + path.setAttributeNS(null, 'd', 'M' + d); + + // draw points + if (group.options.drawPoints.enabled == true) { + Points.draw(dataset, group, framework); + } + } + } + }; + + + + /** + * This uses an uniform parametrization of the CatmullRom algorithm: + * 'On the Parameterization of Catmull-Rom Curves' by Cem Yuksel et al. + * @param data + * @returns {string} + * @private + */ + Line._catmullRomUniform = function(data) { + // catmull rom + var p0, p1, p2, p3, bp1, bp2; + var d = Math.round(data[0].x) + ',' + Math.round(data[0].y) + ' '; + var normalization = 1/6; + var length = data.length; + for (var i = 0; i < length - 1; i++) { + + p0 = (i == 0) ? data[0] : data[i-1]; + p1 = data[i]; + p2 = data[i+1]; + p3 = (i + 2 < length) ? data[i+2] : p2; + + + // Catmull-Rom to Cubic Bezier conversion matrix + // 0 1 0 0 + // -1/6 1 1/6 0 + // 0 1/6 1 -1/6 + // 0 0 1 0 + + // bp0 = { x: p1.x, y: p1.y }; + bp1 = { x: ((-p0.x + 6*p1.x + p2.x) *normalization), y: ((-p0.y + 6*p1.y + p2.y) *normalization)}; + bp2 = { x: (( p1.x + 6*p2.x - p3.x) *normalization), y: (( p1.y + 6*p2.y - p3.y) *normalization)}; + // bp0 = { x: p2.x, y: p2.y }; + + d += 'C' + + bp1.x + ',' + + bp1.y + ' ' + + bp2.x + ',' + + bp2.y + ' ' + + p2.x + ',' + + p2.y + ' '; + } + + return d; + }; + + /** + * This uses either the chordal or centripetal parameterization of the catmull-rom algorithm. + * By default, the centripetal parameterization is used because this gives the nicest results. + * These parameterizations are relatively heavy because the distance between 4 points have to be calculated. + * + * One optimization can be used to reuse distances since this is a sliding window approach. + * @param data + * @param group + * @returns {string} + * @private + */ + Line._catmullRom = function(data, group) { + var alpha = group.options.catmullRom.alpha; + if (alpha == 0 || alpha === undefined) { + return this._catmullRomUniform(data); + } + else { + var p0, p1, p2, p3, bp1, bp2, d1,d2,d3, A, B, N, M; + var d3powA, d2powA, d3pow2A, d2pow2A, d1pow2A, d1powA; + var d = Math.round(data[0].x) + ',' + Math.round(data[0].y) + ' '; + var length = data.length; + for (var i = 0; i < length - 1; i++) { + + p0 = (i == 0) ? data[0] : data[i-1]; + p1 = data[i]; + p2 = data[i+1]; + p3 = (i + 2 < length) ? data[i+2] : p2; + + d1 = Math.sqrt(Math.pow(p0.x - p1.x,2) + Math.pow(p0.y - p1.y,2)); + d2 = Math.sqrt(Math.pow(p1.x - p2.x,2) + Math.pow(p1.y - p2.y,2)); + d3 = Math.sqrt(Math.pow(p2.x - p3.x,2) + Math.pow(p2.y - p3.y,2)); + + // Catmull-Rom to Cubic Bezier conversion matrix + + // A = 2d1^2a + 3d1^a * d2^a + d3^2a + // B = 2d3^2a + 3d3^a * d2^a + d2^2a + + // [ 0 1 0 0 ] + // [ -d2^2a /N A/N d1^2a /N 0 ] + // [ 0 d3^2a /M B/M -d2^2a /M ] + // [ 0 0 1 0 ] + + d3powA = Math.pow(d3, alpha); + d3pow2A = Math.pow(d3,2*alpha); + d2powA = Math.pow(d2, alpha); + d2pow2A = Math.pow(d2,2*alpha); + d1powA = Math.pow(d1, alpha); + d1pow2A = Math.pow(d1,2*alpha); + + A = 2*d1pow2A + 3*d1powA * d2powA + d2pow2A; + B = 2*d3pow2A + 3*d3powA * d2powA + d2pow2A; + N = 3*d1powA * (d1powA + d2powA); + if (N > 0) {N = 1 / N;} + M = 3*d3powA * (d3powA + d2powA); + if (M > 0) {M = 1 / M;} + + bp1 = { x: ((-d2pow2A * p0.x + A*p1.x + d1pow2A * p2.x) * N), + y: ((-d2pow2A * p0.y + A*p1.y + d1pow2A * p2.y) * N)}; + + bp2 = { x: (( d3pow2A * p1.x + B*p2.x - d2pow2A * p3.x) * M), + y: (( d3pow2A * p1.y + B*p2.y - d2pow2A * p3.y) * M)}; + + if (bp1.x == 0 && bp1.y == 0) {bp1 = p1;} + if (bp2.x == 0 && bp2.y == 0) {bp2 = p2;} + d += 'C' + + bp1.x + ',' + + bp1.y + ' ' + + bp2.x + ',' + + bp2.y + ' ' + + p2.x + ',' + + p2.y + ' '; + } + + return d; + } + }; + + /** + * this generates the SVG path for a linear drawing between datapoints. + * @param data + * @returns {string} + * @private + */ + Line._linear = function(data) { + // linear + var d = ''; + for (var i = 0; i < data.length; i++) { + if (i == 0) { + d += data[i].x + ',' + data[i].y; + } + else { + d += ' ' + data[i].x + ',' + data[i].y; + } + } + return d; + }; + + module.exports = Line; + + +/***/ }, +/* 52 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Created by Alex on 11/11/2014. + */ + var DOMutil = __webpack_require__(2); + var Points = __webpack_require__(53); + + function Bargraph(groupId, options) { + this.groupId = groupId; + this.options = options; + } + + Bargraph.prototype.getYRange = function(groupData) { + if (this.options.barChart.handleOverlap != 'stack') { + var yMin = groupData[0].y; + var yMax = groupData[0].y; + for (var j = 0; j < groupData.length; j++) { + yMin = yMin > groupData[j].y ? groupData[j].y : yMin; + yMax = yMax < groupData[j].y ? groupData[j].y : yMax; + } + return {min: yMin, max: yMax, yAxisOrientation: this.options.yAxisOrientation}; + } + else { + var barCombinedData = []; + for (var j = 0; j < groupData.length; j++) { + barCombinedData.push({ + x: groupData[j].x, + y: groupData[j].y, + groupId: this.groupId + }); + } + return barCombinedData; + } + }; + + + + /** + * draw a bar graph + * + * @param groupIds + * @param processedGroupData + */ + Bargraph.draw = function (groupIds, processedGroupData, framework) { + var combinedData = []; + var intersections = {}; + var coreDistance; + var key, drawData; + var group; + var i,j; + var barPoints = 0; + + // combine all barchart data + for (i = 0; i < groupIds.length; i++) { + group = framework.groups[groupIds[i]]; + if (group.options.style == 'bar') { + if (group.visible == true && (framework.options.groups.visibility[groupIds[i]] === undefined || framework.options.groups.visibility[groupIds[i]] == true)) { + for (j = 0; j < processedGroupData[groupIds[i]].length; j++) { + combinedData.push({ + x: processedGroupData[groupIds[i]][j].x, + y: processedGroupData[groupIds[i]][j].y, + groupId: groupIds[i] + }); + barPoints += 1; + } + } + } + } + + if (barPoints == 0) {return;} + + // sort by time and by group + combinedData.sort(function (a, b) { + if (a.x == b.x) { + return a.groupId - b.groupId; + } else { + return a.x - b.x; + } + }); + + // get intersections + Bargraph._getDataIntersections(intersections, combinedData); + + // plot barchart + for (i = 0; i < combinedData.length; i++) { + group = framework.groups[combinedData[i].groupId]; + var minWidth = 0.1 * group.options.barChart.width; + + key = combinedData[i].x; + var heightOffset = 0; + if (intersections[key] === undefined) { + if (i+1 < combinedData.length) {coreDistance = Math.abs(combinedData[i+1].x - key);} + if (i > 0) {coreDistance = Math.min(coreDistance,Math.abs(combinedData[i-1].x - key));} + drawData = Bargraph._getSafeDrawData(coreDistance, group, minWidth); + } + else { + var nextKey = i + (intersections[key].amount - intersections[key].resolved); + var prevKey = i - (intersections[key].resolved + 1); + if (nextKey < combinedData.length) {coreDistance = Math.abs(combinedData[nextKey].x - key);} + if (prevKey > 0) {coreDistance = Math.min(coreDistance,Math.abs(combinedData[prevKey].x - key));} + drawData = Bargraph._getSafeDrawData(coreDistance, group, minWidth); + intersections[key].resolved += 1; + + if (group.options.barChart.handleOverlap == 'stack') { + heightOffset = intersections[key].accumulated; + intersections[key].accumulated += group.zeroPosition - combinedData[i].y; + } + else if (group.options.barChart.handleOverlap == 'sideBySide') { + drawData.width = drawData.width / intersections[key].amount; + drawData.offset += (intersections[key].resolved) * drawData.width - (0.5*drawData.width * (intersections[key].amount+1)); + if (group.options.barChart.align == 'left') {drawData.offset -= 0.5*drawData.width;} + else if (group.options.barChart.align == 'right') {drawData.offset += 0.5*drawData.width;} + } + } + DOMutil.drawBar(combinedData[i].x + drawData.offset, combinedData[i].y - heightOffset, drawData.width, group.zeroPosition - combinedData[i].y, group.className + ' bar', framework.svgElements, framework.svg); + // draw points + if (group.options.drawPoints.enabled == true) { + Points.draw(dataset, group, framework, drawData.offset); + } + } + }; + + + /** + * Fill the intersections object with counters of how many datapoints share the same x coordinates + * @param intersections + * @param combinedData + * @private + */ + Bargraph._getDataIntersections = function (intersections, combinedData) { + // get intersections + var coreDistance; + for (var i = 0; i < combinedData.length; i++) { + if (i + 1 < combinedData.length) { + coreDistance = Math.abs(combinedData[i + 1].x - combinedData[i].x); + } + if (i > 0) { + coreDistance = Math.min(coreDistance, Math.abs(combinedData[i - 1].x - combinedData[i].x)); + } + if (coreDistance == 0) { + if (intersections[combinedData[i].x] === undefined) { + intersections[combinedData[i].x] = {amount: 0, resolved: 0, accumulated: 0}; + } + intersections[combinedData[i].x].amount += 1; + } + } + }; + + + /** + * Get the width and offset for bargraphs based on the coredistance between datapoints + * + * @param coreDistance + * @param group + * @param minWidth + * @returns {{width: Number, offset: Number}} + * @private + */ + Bargraph._getSafeDrawData = function (coreDistance, group, minWidth) { + var width, offset; + if (coreDistance < group.options.barChart.width && coreDistance > 0) { + width = coreDistance < minWidth ? minWidth : coreDistance; + + offset = 0; // recalculate offset with the new width; + if (group.options.barChart.align == 'left') { + offset -= 0.5 * coreDistance; + } + else if (group.options.barChart.align == 'right') { + offset += 0.5 * coreDistance; + } + } + else { + // default settings + width = group.options.barChart.width; + offset = 0; + if (group.options.barChart.align == 'left') { + offset -= 0.5 * group.options.barChart.width; + } + else if (group.options.barChart.align == 'right') { + offset += 0.5 * group.options.barChart.width; + } + } + + return {width: width, offset: offset}; + }; + + Bargraph.getStackedBarYRange = function(barCombinedData, groupRanges, groupIds, groupLabel, orientation) { + if (barCombinedData.length > 0) { + // sort by time and by group + barCombinedData.sort(function (a, b) { + if (a.x == b.x) { + return a.groupId - b.groupId; + } else { + return a.x - b.x; + } + }); + var intersections = {}; + + Bargraph._getDataIntersections(intersections, barCombinedData); + groupRanges[groupLabel] = Bargraph._getStackedBarYRange(intersections, barCombinedData); + groupRanges[groupLabel].yAxisOrientation = orientation; + groupIds.push(groupLabel); + } + } + + Bargraph._getStackedBarYRange = function (intersections, combinedData) { + var key; + var yMin = combinedData[0].y; + var yMax = combinedData[0].y; + for (var i = 0; i < combinedData.length; i++) { + key = combinedData[i].x; + if (intersections[key] === undefined) { + yMin = yMin > combinedData[i].y ? combinedData[i].y : yMin; + yMax = yMax < combinedData[i].y ? combinedData[i].y : yMax; + } + else { + intersections[key].accumulated += combinedData[i].y; + } + } + for (var xpos in intersections) { + if (intersections.hasOwnProperty(xpos)) { + yMin = yMin > intersections[xpos].accumulated ? intersections[xpos].accumulated : yMin; + yMax = yMax < intersections[xpos].accumulated ? intersections[xpos].accumulated : yMax; + } + } + + return {min: yMin, max: yMax}; + }; + + module.exports = Bargraph; + +/***/ }, +/* 53 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Created by Alex on 11/11/2014. + */ + var DOMutil = __webpack_require__(2); + + function Points(groupId, options) { + this.groupId = groupId; + this.options = options; + } + + + Points.prototype.getYRange = function(groupData) { + var yMin = groupData[0].y; + var yMax = groupData[0].y; + for (j = 0; j < groupData.length; j++) { + yMin = yMin > groupData[j].y ? groupData[j].y : yMin; + yMax = yMax < groupData[j].y ? groupData[j].y : yMax; + } + return {min: yMin, max: yMax, yAxisOrientation: this.options.yAxisOrientation}; + }; + + Points.prototype.draw = function(dataset, group, framework, offset) { + Points.draw(dataset, group, framework, offset); + } + + /** + * draw the data points + * + * @param {Array} dataset + * @param {Object} JSONcontainer + * @param {Object} svg | SVG DOM element + * @param {GraphGroup} group + * @param {Number} [offset] + */ + Points.draw = function (dataset, group, framework, offset) { + if (offset === undefined) {offset = 0;} + for (var i = 0; i < dataset.length; i++) { + DOMutil.drawPoint(dataset[i].x + offset, dataset[i].y, group, framework.svgElements, framework.svg); + } + }; + + + module.exports = Points; + +/***/ }, +/* 54 */ +/***/ function(module, exports, __webpack_require__) { + + var PhysicsMixin = __webpack_require__(66); + var ClusterMixin = __webpack_require__(60); + var SectorsMixin = __webpack_require__(61); + var SelectionMixin = __webpack_require__(62); + var ManipulationMixin = __webpack_require__(63); + var NavigationMixin = __webpack_require__(64); + var HierarchicalLayoutMixin = __webpack_require__(65); /** * Load a mixin into the network object @@ -22735,7 +22987,6 @@ return /******/ (function(modules) { // webpackBootstrap if (this.manipulationDiv === undefined) { this.manipulationDiv = document.createElement('div'); this.manipulationDiv.className = 'network-manipulationDiv'; - this.manipulationDiv.id = 'network-manipulationDiv'; if (this.editMode == true) { this.manipulationDiv.style.display = "block"; } @@ -22748,7 +22999,6 @@ return /******/ (function(modules) { // webpackBootstrap if (this.editModeDiv === undefined) { this.editModeDiv = document.createElement('div'); this.editModeDiv.className = 'network-manipulation-editMode'; - this.editModeDiv.id = 'network-manipulation-editMode'; if (this.editMode == true) { this.editModeDiv.style.display = "none"; } @@ -22761,7 +23011,6 @@ return /******/ (function(modules) { // webpackBootstrap if (this.closeDiv === undefined) { this.closeDiv = document.createElement('div'); this.closeDiv.className = 'network-manipulation-closeDiv'; - this.closeDiv.id = 'network-manipulation-closeDiv'; this.closeDiv.style.display = this.manipulationDiv.style.display; this.frame.appendChild(this.closeDiv); } @@ -22818,11 +23067,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 52 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { - var keycharm = __webpack_require__(54); - var Emitter = __webpack_require__(53); + var keycharm = __webpack_require__(57); + var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); var util = __webpack_require__(1); @@ -22975,7 +23224,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 53 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { @@ -23145,7 +23394,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 54 */ +/* 57 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/** @@ -23338,7 +23587,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 55 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js @@ -26198,10 +26447,10 @@ return /******/ (function(modules) { // webpackBootstrap } }).call(this); - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(68)(module))) + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(71)(module))) /***/ }, -/* 56 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20 @@ -28368,7 +28617,7 @@ return /******/ (function(modules) { // webpackBootstrap })(window); /***/ }, -/* 57 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { /** @@ -29511,7 +29760,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 58 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); @@ -30070,7 +30319,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 59 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { var Node = __webpack_require__(40); @@ -30581,7 +30830,12 @@ return /******/ (function(modules) { // webpackBootstrap this._unselectAll(); } } - this.emit("click", this.getSelection()); + var properties = this.getSelection(); + properties['pointer'] = { + DOM: {x: pointer.x, y: pointer.y}, + canvas: {x: this._XconvertDOMtoCanvas(pointer.x), y: this._YconvertDOMtoCanvas(pointer.y)} + } + this.emit("click", properties); this._redraw(); }; @@ -30600,7 +30854,12 @@ return /******/ (function(modules) { // webpackBootstrap "y" : this._YconvertDOMtoCanvas(pointer.y)}; this.openCluster(node); } - this.emit("doubleClick", this.getSelection()); + var properties = this.getSelection(); + properties['pointer'] = { + DOM: {x: pointer.x, y: pointer.y}, + canvas: {x: this._XconvertDOMtoCanvas(pointer.x), y: this._YconvertDOMtoCanvas(pointer.y)} + } + this.emit("doubleClick", properties); }; @@ -30774,7 +31033,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 60 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); @@ -30790,6 +31049,7 @@ return /******/ (function(modules) { // webpackBootstrap while (this.manipulationDiv.hasChildNodes()) { this.manipulationDiv.removeChild(this.manipulationDiv.firstChild); } + this.manipulationDOM = {}; this._manipulationReleaseOverload = function () {}; delete this.sectors['support']['nodes']['targetNode']; @@ -30819,9 +31079,9 @@ return /******/ (function(modules) { // webpackBootstrap */ exports._toggleEditMode = function() { this.editMode = !this.editMode; - var toolbar = document.getElementById("network-manipulationDiv"); - var closeDiv = document.getElementById("network-manipulation-closeDiv"); - var editModeDiv = document.getElementById("network-manipulation-editMode"); + var toolbar = this.manipulationDiv; + var closeDiv = this.closeDiv; + var editModeDiv = this.editModeDiv; if (this.editMode == true) { toolbar.style.display="block"; closeDiv.style.display="block"; @@ -30866,68 +31126,110 @@ return /******/ (function(modules) { // webpackBootstrap // reset global variables this.blockConnectingEdgeSelection = false; this.forceAppendSelection = false; + this.manipulationDOM = {}; if (this.editMode == true) { while (this.manipulationDiv.hasChildNodes()) { this.manipulationDiv.removeChild(this.manipulationDiv.firstChild); } - // add the icons to the manipulator div - this.manipulationDiv.innerHTML = "" + - "" + - ""+locale['addNode'] +"" + - "
" + - "" + - ""+locale['addEdge'] +""; + this.manipulationDOM['addNodeSpan'] = document.createElement('span'); + this.manipulationDOM['addNodeSpan'].className = 'network-manipulationUI add'; + this.manipulationDOM['addNodeLabelSpan'] = document.createElement('span'); + this.manipulationDOM['addNodeLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['addNodeLabelSpan'].innerHTML = locale['addNode']; + this.manipulationDOM['addNodeSpan'].appendChild(this.manipulationDOM['addNodeLabelSpan']); + + this.manipulationDOM['seperatorLineDiv1'] = document.createElement('div'); + this.manipulationDOM['seperatorLineDiv1'].className = 'network-seperatorLine'; + + this.manipulationDOM['addEdgeSpan'] = document.createElement('span'); + this.manipulationDOM['addEdgeSpan'].className = 'network-manipulationUI connect'; + this.manipulationDOM['addEdgeLabelSpan'] = document.createElement('span'); + this.manipulationDOM['addEdgeLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['addEdgeLabelSpan'].innerHTML = locale['addEdge']; + this.manipulationDOM['addEdgeSpan'].appendChild(this.manipulationDOM['addEdgeLabelSpan']); + + this.manipulationDiv.appendChild(this.manipulationDOM['addNodeSpan']); + this.manipulationDiv.appendChild(this.manipulationDOM['seperatorLineDiv1']); + this.manipulationDiv.appendChild(this.manipulationDOM['addEdgeSpan']); + if (this._getSelectedNodeCount() == 1 && this.triggerFunctions.edit) { - this.manipulationDiv.innerHTML += "" + - "
" + - "" + - ""+locale['editNode'] +""; + this.manipulationDOM['seperatorLineDiv2'] = document.createElement('div'); + this.manipulationDOM['seperatorLineDiv2'].className = 'network-seperatorLine'; + + this.manipulationDOM['editNodeSpan'] = document.createElement('span'); + this.manipulationDOM['editNodeSpan'].className = 'network-manipulationUI edit'; + this.manipulationDOM['editNodeLabelSpan'] = document.createElement('span'); + this.manipulationDOM['editNodeLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['editNodeLabelSpan'].innerHTML = locale['editNode']; + this.manipulationDOM['editNodeSpan'].appendChild(this.manipulationDOM['editNodeLabelSpan']); + + this.manipulationDiv.appendChild(this.manipulationDOM['seperatorLineDiv2']); + this.manipulationDiv.appendChild(this.manipulationDOM['editNodeSpan']); } else if (this._getSelectedEdgeCount() == 1 && this._getSelectedNodeCount() == 0) { - this.manipulationDiv.innerHTML += "" + - "
" + - "" + - ""+locale['editEdge'] +""; + this.manipulationDOM['seperatorLineDiv3'] = document.createElement('div'); + this.manipulationDOM['seperatorLineDiv3'].className = 'network-seperatorLine'; + + this.manipulationDOM['editEdgeSpan'] = document.createElement('span'); + this.manipulationDOM['editEdgeSpan'].className = 'network-manipulationUI edit'; + this.manipulationDOM['editEdgeLabelSpan'] = document.createElement('span'); + this.manipulationDOM['editEdgeLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['editEdgeLabelSpan'].innerHTML = locale['editEdge']; + this.manipulationDOM['editEdgeSpan'].appendChild(this.manipulationDOM['editEdgeLabelSpan']); + + this.manipulationDiv.appendChild(this.manipulationDOM['seperatorLineDiv3']); + this.manipulationDiv.appendChild(this.manipulationDOM['editEdgeSpan']); } if (this._selectionIsEmpty() == false) { - this.manipulationDiv.innerHTML += "" + - "
" + - "" + - ""+locale['del'] +""; + this.manipulationDOM['seperatorLineDiv4'] = document.createElement('div'); + this.manipulationDOM['seperatorLineDiv4'].className = 'network-seperatorLine'; + + this.manipulationDOM['deleteSpan'] = document.createElement('span'); + this.manipulationDOM['deleteSpan'].className = 'network-manipulationUI delete'; + this.manipulationDOM['deleteLabelSpan'] = document.createElement('span'); + this.manipulationDOM['deleteLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['deleteLabelSpan'].innerHTML = locale['del']; + this.manipulationDOM['deleteSpan'].appendChild(this.manipulationDOM['deleteLabelSpan']); + + this.manipulationDiv.appendChild(this.manipulationDOM['seperatorLineDiv4']); + this.manipulationDiv.appendChild(this.manipulationDOM['deleteSpan']); } // bind the icons - var addNodeButton = document.getElementById("network-manipulate-addNode"); - addNodeButton.onclick = this._createAddNodeToolbar.bind(this); - var addEdgeButton = document.getElementById("network-manipulate-connectNode"); - addEdgeButton.onclick = this._createAddEdgeToolbar.bind(this); + this.manipulationDOM['addNodeSpan'].onclick = this._createAddNodeToolbar.bind(this); + this.manipulationDOM['addEdgeSpan'].onclick = this._createAddEdgeToolbar.bind(this); if (this._getSelectedNodeCount() == 1 && this.triggerFunctions.edit) { - var editButton = document.getElementById("network-manipulate-editNode"); - editButton.onclick = this._editNode.bind(this); + this.manipulationDOM['editNodeSpan'].onclick = this._editNode.bind(this); } else if (this._getSelectedEdgeCount() == 1 && this._getSelectedNodeCount() == 0) { - var editButton = document.getElementById("network-manipulate-editEdge"); - editButton.onclick = this._createEditEdgeToolbar.bind(this); + this.manipulationDOM['editEdgeSpan'].onclick = this._createEditEdgeToolbar.bind(this); } if (this._selectionIsEmpty() == false) { - var deleteButton = document.getElementById("network-manipulate-delete"); - deleteButton.onclick = this._deleteSelected.bind(this); + this.manipulationDOM['deleteSpan'].onclick = this._deleteSelected.bind(this); } - var closeDiv = document.getElementById("network-manipulation-closeDiv"); - closeDiv.onclick = this._toggleEditMode.bind(this); + this.closeDiv.onclick = this._toggleEditMode.bind(this); this.boundFunction = this._createManipulatorBar.bind(this); this.on('select', this.boundFunction); } else { - this.editModeDiv.innerHTML = "" + - "" + - "" + locale['edit'] + ""; - var editModeButton = document.getElementById("network-manipulate-editModeButton"); - editModeButton.onclick = this._toggleEditMode.bind(this); + while (this.editModeDiv.hasChildNodes()) { + this.editModeDiv.removeChild(this.editModeDiv.firstChild); + } + + this.manipulationDOM['editModeSpan'] = document.createElement('span'); + this.manipulationDOM['editModeSpan'].className = 'network-manipulationUI edit editmode'; + this.manipulationDOM['editModeLabelSpan'] = document.createElement('span'); + this.manipulationDOM['editModeLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['editModeLabelSpan'].innerHTML = locale['edit']; + this.manipulationDOM['editModeSpan'].appendChild(this.manipulationDOM['editModeLabelSpan']); + + this.editModeDiv.appendChild(this.manipulationDOM['editModeSpan']); + + this.manipulationDOM['editModeSpan'].onclick = this._toggleEditMode.bind(this); } }; @@ -30947,17 +31249,30 @@ return /******/ (function(modules) { // webpackBootstrap var locale = this.constants.locales[this.constants.locale]; - // create the toolbar contents - this.manipulationDiv.innerHTML = "" + - "" + - "" + locale['back'] + " " + - "
" + - "" + - "" + locale['addDescription'] + ""; + this.manipulationDOM = {}; + this.manipulationDOM['backSpan'] = document.createElement('span'); + this.manipulationDOM['backSpan'].className = 'network-manipulationUI back'; + this.manipulationDOM['backLabelSpan'] = document.createElement('span'); + this.manipulationDOM['backLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['backLabelSpan'].innerHTML = locale['back']; + this.manipulationDOM['backSpan'].appendChild(this.manipulationDOM['backLabelSpan']); + + this.manipulationDOM['seperatorLineDiv1'] = document.createElement('div'); + this.manipulationDOM['seperatorLineDiv1'].className = 'network-seperatorLine'; + + this.manipulationDOM['descriptionSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionSpan'].className = 'network-manipulationUI none'; + this.manipulationDOM['descriptionLabelSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['descriptionLabelSpan'].innerHTML = locale['addDescription']; + this.manipulationDOM['descriptionSpan'].appendChild(this.manipulationDOM['descriptionLabelSpan']); + + this.manipulationDiv.appendChild(this.manipulationDOM['backSpan']); + this.manipulationDiv.appendChild(this.manipulationDOM['seperatorLineDiv1']); + this.manipulationDiv.appendChild(this.manipulationDOM['descriptionSpan']); // bind the icon - var backButton = document.getElementById("network-manipulate-back"); - backButton.onclick = this._createManipulatorBar.bind(this); + this.manipulationDOM['backSpan'].onclick = this._createManipulatorBar.bind(this); // we use the boundFunction so we can reference it when we unbind it from the "select" event. this.boundFunction = this._addNode.bind(this); @@ -30986,16 +31301,30 @@ return /******/ (function(modules) { // webpackBootstrap this.forceAppendSelection = false; this.blockConnectingEdgeSelection = true; - this.manipulationDiv.innerHTML = "" + - "" + - "" + locale['back'] + " " + - "
" + - "" + - "" + locale['edgeDescription'] + ""; + this.manipulationDOM = {}; + this.manipulationDOM['backSpan'] = document.createElement('span'); + this.manipulationDOM['backSpan'].className = 'network-manipulationUI back'; + this.manipulationDOM['backLabelSpan'] = document.createElement('span'); + this.manipulationDOM['backLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['backLabelSpan'].innerHTML = locale['back']; + this.manipulationDOM['backSpan'].appendChild(this.manipulationDOM['backLabelSpan']); + + this.manipulationDOM['seperatorLineDiv1'] = document.createElement('div'); + this.manipulationDOM['seperatorLineDiv1'].className = 'network-seperatorLine'; + + this.manipulationDOM['descriptionSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionSpan'].className = 'network-manipulationUI none'; + this.manipulationDOM['descriptionLabelSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['descriptionLabelSpan'].innerHTML = locale['edgeDescription']; + this.manipulationDOM['descriptionSpan'].appendChild(this.manipulationDOM['descriptionLabelSpan']); + + this.manipulationDiv.appendChild(this.manipulationDOM['backSpan']); + this.manipulationDiv.appendChild(this.manipulationDOM['seperatorLineDiv1']); + this.manipulationDiv.appendChild(this.manipulationDOM['descriptionSpan']); // bind the icon - var backButton = document.getElementById("network-manipulate-back"); - backButton.onclick = this._createManipulatorBar.bind(this); + this.manipulationDOM['backSpan'].onclick = this._createManipulatorBar.bind(this); // we use the boundFunction so we can reference it when we unbind it from the "select" event. this.boundFunction = this._handleConnect.bind(this); @@ -31034,16 +31363,30 @@ return /******/ (function(modules) { // webpackBootstrap var locale = this.constants.locales[this.constants.locale]; - this.manipulationDiv.innerHTML = "" + - "" + - "" + locale['back'] + " " + - "
" + - "" + - "" + locale['editEdgeDescription'] + ""; + this.manipulationDOM = {}; + this.manipulationDOM['backSpan'] = document.createElement('span'); + this.manipulationDOM['backSpan'].className = 'network-manipulationUI back'; + this.manipulationDOM['backLabelSpan'] = document.createElement('span'); + this.manipulationDOM['backLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['backLabelSpan'].innerHTML = locale['back']; + this.manipulationDOM['backSpan'].appendChild(this.manipulationDOM['backLabelSpan']); + + this.manipulationDOM['seperatorLineDiv1'] = document.createElement('div'); + this.manipulationDOM['seperatorLineDiv1'].className = 'network-seperatorLine'; + + this.manipulationDOM['descriptionSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionSpan'].className = 'network-manipulationUI none'; + this.manipulationDOM['descriptionLabelSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionLabelSpan'].className = 'network-manipulationLabel'; + this.manipulationDOM['descriptionLabelSpan'].innerHTML = locale['editEdgeDescription']; + this.manipulationDOM['descriptionSpan'].appendChild(this.manipulationDOM['descriptionLabelSpan']); + + this.manipulationDiv.appendChild(this.manipulationDOM['backSpan']); + this.manipulationDiv.appendChild(this.manipulationDOM['seperatorLineDiv1']); + this.manipulationDiv.appendChild(this.manipulationDOM['descriptionSpan']); // bind the icon - var backButton = document.getElementById("network-manipulate-back"); - backButton.onclick = this._createManipulatorBar.bind(this); + this.manipulationDOM['backSpan'].onclick = this._createManipulatorBar.bind(this); // temporarily overload functions this.cachedFunctions["_handleTouch"] = this._handleTouch; @@ -31375,7 +31718,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 61 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); @@ -31393,9 +31736,8 @@ return /******/ (function(modules) { // webpackBootstrap this._navigationReleaseOverload = function () {}; // clean up previous navigation items - var wrapper = document.getElementById('network-navigation_wrapper'); - if (wrapper && wrapper.parentNode) { - wrapper.parentNode.removeChild(wrapper); + if (this.navigationDivs && this.navigationDivs['wrapper'] && this.navigationDivs['wrapper'].parentNode) { + this.navigationDivs['wrapper'].parentNode.removeChild(this.navigationDivs['wrapper']); } }; @@ -31415,12 +31757,10 @@ return /******/ (function(modules) { // webpackBootstrap var navigationDivActions = ['_moveUp','_moveDown','_moveLeft','_moveRight','_zoomIn','_zoomOut','_zoomExtent']; this.navigationDivs['wrapper'] = document.createElement('div'); - this.navigationDivs['wrapper'].id = 'network-navigation_wrapper'; this.frame.appendChild(this.navigationDivs['wrapper']); for (var i = 0; i < navigationDivs.length; i++) { this.navigationDivs[navigationDivs[i]] = document.createElement('div'); - this.navigationDivs[navigationDivs[i]].id = 'network-navigation_' + navigationDivs[i]; this.navigationDivs[navigationDivs[i]].className = 'network-navigation ' + navigationDivs[i]; this.navigationDivs['wrapper'].appendChild(this.navigationDivs[navigationDivs[i]]); @@ -31441,7 +31781,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ exports._zoomExtent = function(event) { - this.zoomExtent({duration:800}); + this.zoomExtent({duration:700}); event.stopPropagation(); }; @@ -31558,7 +31898,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 62 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { exports._resetLevels = function() { @@ -31975,13 +32315,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 63 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var RepulsionMixin = __webpack_require__(65); - var HierarchialRepulsionMixin = __webpack_require__(66); - var BarnesHutMixin = __webpack_require__(67); + var RepulsionMixin = __webpack_require__(68); + var HierarchialRepulsionMixin = __webpack_require__(69); + var BarnesHutMixin = __webpack_require__(70); /** * Toggling barnes Hut calculation on and off. @@ -32689,7 +33029,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 64 */ +/* 67 */ /***/ function(module, exports, __webpack_require__) { function webpackContext(req) { @@ -32698,11 +33038,11 @@ return /******/ (function(modules) { // webpackBootstrap webpackContext.keys = function() { return []; }; webpackContext.resolve = webpackContext; module.exports = webpackContext; - webpackContext.id = 64; + webpackContext.id = 67; /***/ }, -/* 65 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { /** @@ -32766,7 +33106,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 66 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { /** @@ -32925,7 +33265,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 67 */ +/* 70 */ /***/ function(module, exports, __webpack_require__) { /** @@ -33330,7 +33670,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 68 */ +/* 71 */ /***/ function(module, exports, __webpack_require__) { module.exports = function(module) { diff --git a/dist/vis.map b/dist/vis.map index 3eeaf3d6..9a7c742a 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","GiveDec","Hex","Value","eval","GiveHex","Dec","parseColor","color","isValidRGB","rgb","substr","RGBToHex","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","hexToRGB","hex","replace","toUpperCase","substring","d","e","f","r","g","red","green","blue","RGBToHSV","minRGB","maxRGB","max","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","low","high","middle","item","isVisible","start","binarySearchGeneric","sidePreference","prevValue","nextValue","easeInOutQuad","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","args","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","Emitter","_setScale","scale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","obj","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","getMouseX","startMouseY","getMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","clientX","targetTouches","clientY","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","time","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","slice","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","initTime","done","initStart","initEnd","changed","anyChanged","_cancelAnimation","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","SCALE","DAY","MILLISECOND","SECOND","MINUTE","HOUR","WEEKDAY","MONTH","YEAR","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","format","getLabelMajor","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","locale","parent","backgroundVertical","title","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","Hammer","drag","prevent_default","setCustomTime","getCustomTime","stopPropagation","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","hide","show","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","subgroupIndex","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","_calculateHeight","offsetTop","offsetLeft","ii","repositionY","resetSubgroups","labelSet","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","removeItem","_constructByEndArray","endArray","initialPosByStart","newVisibleItems","initialPosByEnd","_checkIfInvisible","repositionX","align","groupOrder","selectable","editable","updateTime","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","selected","dragLeftItem","dragRightItem","initialX","itemProps","newProps","initial","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","autoSizeSVG","lastStart","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_getRelevantData","_convertXcoordinates","_getYRanges","_updateYAxis","_convertYcoordinates","_drawLineGraph","_drawBarGraphs","dataContainer","guess","_applySampling","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedData","barCombinedDataLeft","barCombinedDataRight","ignore","intersections","_getDataIntersections","_getStackedBarYRange","combinedData","accumulated","xpos","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","_toggleAxisVisiblity","drawIcons","axisUsed","coreDistance","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","svgHeight","_catmullRom","_linear","dFill","_drawPoints","datapoints","xValue","yValue","extractedData","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","majorLines","majorTexts","minorLines","minorTexts","lineTop","lang","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","onTop","itemSubgroup","itemSetHeight","marginLeft","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","dragLeft","dragRight","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","maxPhysicsTicksPerRender","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","level","highlightColor","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","dynamicSmoothCurves","maxVelocity","minVelocity","stabilize","stabilizationIterations","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","hoverObj","controlNodesActive","navigationHammers","existing","new","animationSpeed","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","startedStabilization","stabilized","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","_findCenter","animationOptions","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","getTitle","isOverlappingWith","edge","connected","popup","setPosition","setText","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","draw","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","mainMovingStatus","supportMovingStatus","_doInAllActiveSectors","mainMoving","_doInSupportSector","_animationStep","_handleNavigation","calculationTime","maxSteps","timeRequired","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","ua","toLowerCase","requiresTimeout","iterations","toggleFreeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getScale","getCenterCoordinates","networkConstants","fromId","toId","widthSelected","labelDimensions","yLine","dirtyLabel","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","measureText","fillRect","mozDash","setLineDash","pattern","lineDashOffset","mozDashOffset","lineCap","dashedLine","percentage","atan2","arrow","edgeSegmentLength","fromBorderDist","distanceToBorder","fromBorderPoint","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodePositions","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","defaultIndex","DEFAULT","load","url","brokenUrl","img","Image","onload","onerror","imagelist","grouplist","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","isFixed","velocity","getDistance","globalAlpha","drawImage","textSize","getTextSize","clusterLineWidth","selectionLineWidth","roundRect","database","diameter","circle","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","maxWidth","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","convertEdge","dotEdge","graphEdge","graphData","dotNode","graphNode","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","_initAutoResize","component","_stopAutoResize","what","dataRange","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_bound","keydown","keyup","_keys","fromCharCode","code","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","hour","minute","second","millisecond","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","updateOffset","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","DATE","_overflowDayOfYear","isValid","_isValid","getTime","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","model","zone","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","parseTokenOrdinal","RegExp","regexpEscape","unescapeFormat","timezoneMinutesFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","meridiem","SS","SSS","SSSS","Z","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","defaultFormat","relativeTimeThreshold","threshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateTzOffset","inputString","asFloat","daysAdjust","that","zoneDiff","startOf","humanize","fromNow","sod","isDST","getDay","endOf","isSame","localAdjust","_changeInProgress","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","dispose","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","clusterToFit","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","repositionNodes","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_sector","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","overlappingNodes","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","overlappingEdges","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","getElementById","boundFunction","edgeBeingEdited","selectedControlNode","addNodeButton","_createAddNodeToolbar","addEdgeButton","_createAddEdgeToolbar","editButton","_editNode","_createEditEdgeToolbar","editModeButton","backButton","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","supportNodes","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","_setLevelDirected","parentId","parentLevel","nodeMoved","_restoreNodes","graphToggleSmoothCurves","graph_toggleSmooth","graphRepositionNodes","showValueOfRange","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodeId","gravity","gravityForce","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","nameArray","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","GiveDec","Hex","Value","eval","GiveHex","Dec","parseColor","color","isValidRGB","rgb","substr","RGBToHex","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","hexToRGB","hex","replace","toUpperCase","substring","d","e","f","r","g","red","green","blue","RGBToHSV","minRGB","maxRGB","max","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","args","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","Emitter","_setScale","scale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","obj","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","getMouseX","startMouseY","getMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","clientX","targetTouches","clientY","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","time","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","slice","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","initTime","done","initStart","initEnd","changed","anyChanged","_cancelAnimation","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","SCALE","DAY","MILLISECOND","SECOND","MINUTE","HOUR","WEEKDAY","MONTH","YEAR","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","format","getLabelMajor","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","locale","parent","backgroundVertical","title","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","Hammer","drag","prevent_default","setCustomTime","getCustomTime","stopPropagation","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","hide","show","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupIndex","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","_calculateHeight","offsetTop","offsetLeft","ii","repositionY","resetSubgroups","labelSet","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","repositionX","initialPos","breakCondition","isVisible","align","groupOrder","selectable","editable","updateTime","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldGroup","_constructByEndArray","itemFromTarget","selected","dragLeftItem","dragRightItem","initialX","itemProps","newProps","initial","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","autoSizeSVG","lastStart","_updateGraph","BarGraphFunctions","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","majorLines","majorTexts","minorLines","minorTexts","lineTop","lang","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","onTop","itemSubgroup","itemSetHeight","marginLeft","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","dragLeft","dragRight","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","maxPhysicsTicksPerRender","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","level","highlightColor","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","dynamicSmoothCurves","maxVelocity","minVelocity","stabilize","stabilizationIterations","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","hoverObj","controlNodesActive","navigationHammers","existing","new","animationSpeed","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","startedStabilization","stabilized","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","_findCenter","animationOptions","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","getTitle","isOverlappingWith","edge","connected","popup","setPosition","setText","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","mainMovingStatus","supportMovingStatus","_doInAllActiveSectors","mainMoving","_doInSupportSector","_animationStep","_handleNavigation","calculationTime","maxSteps","timeRequired","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","ua","toLowerCase","requiresTimeout","iterations","toggleFreeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getScale","getCenterCoordinates","networkConstants","fromId","toId","widthSelected","labelDimensions","yLine","dirtyLabel","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","measureText","fillRect","mozDash","setLineDash","pattern","lineDashOffset","mozDashOffset","lineCap","dashedLine","percentage","atan2","arrow","edgeSegmentLength","fromBorderDist","distanceToBorder","fromBorderPoint","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodePositions","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","defaultIndex","DEFAULT","load","url","brokenUrl","img","Image","onload","onerror","imagelist","grouplist","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","isFixed","velocity","getDistance","globalAlpha","drawImage","textSize","getTextSize","clusterLineWidth","selectionLineWidth","roundRect","database","diameter","circle","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","maxWidth","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","convertEdge","dotEdge","graphEdge","graphData","dotNode","graphNode","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","_initAutoResize","component","_stopAutoResize","what","dataRange","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_bound","keydown","keyup","_keys","fromCharCode","code","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","hour","minute","second","millisecond","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","updateOffset","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","DATE","_overflowDayOfYear","isValid","_isValid","getTime","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","model","zone","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","parseTokenOrdinal","RegExp","regexpEscape","unescapeFormat","timezoneMinutesFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","meridiem","SS","SSS","SSSS","Z","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","defaultFormat","relativeTimeThreshold","threshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateTzOffset","inputString","asFloat","daysAdjust","that","zoneDiff","startOf","humanize","fromNow","sod","isDST","getDay","endOf","isSame","localAdjust","_changeInProgress","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","dispose","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","clusterToFit","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","repositionNodes","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_sector","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","overlappingNodes","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","overlappingEdges","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","DOM","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","manipulationDOM","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","boundFunction","edgeBeingEdited","selectedControlNode","_createAddNodeToolbar","_createAddEdgeToolbar","_editNode","_createEditEdgeToolbar","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","supportNodes","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","_setLevelDirected","parentId","parentLevel","nodeMoved","_restoreNodes","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodeId","gravity","gravityForce","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","nameArray","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 3ae47571..de16c97a 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.6.4 - * @date 2014-11-07 + * @version 3.7.0 + * @date 2014-11-14 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,17 +22,17 @@ * * Vis.js may be distributed under either license. */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(31),BackgroundItem:i(32),BoxItem:i(33),PointItem:i(34),RangeItem:i(35)},Component:i(20),CurrentTime:i(21),CustomTime:i(22),DataAxis:i(23),GraphGroup:i(24),Group:i(25),BackgroundGroup:i(26),ItemSet:i(27),Legend:i(28),LineGraph:i(29),TimeAxis:i(30)}},e.Network=i(36),e.network={Edge:i(37),Groups:i(38),Images:i(39),Node:i(40),Popup:i(41),dotparser:i(42),gephiParser:i(43)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(44),e.hammer=i(45)},function(module,exports,__webpack_require__){var moment=__webpack_require__(44);exports.isNumber=function(t){return t instanceof Number||"number"==typeof t},exports.isString=function(t){return t instanceof String||"string"==typeof t},exports.isDate=function(t){if(t instanceof Date)return!0;if(exports.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},exports.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},exports.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},exports.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},exports.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;ii;i++)if(t[i]!=e[i])return!1;return!0},exports.convert=function(t,e){var i;if(void 0===t)return void 0;if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(moment.isMoment(t))return new Date(t.valueOf());if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])):moment(t).toDate();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"Moment":if(exports.isNumber(t))return moment(t);if(t instanceof Date)return moment(t.valueOf());if(moment.isMoment(t))return moment(t);if(exports.isString(t))return i=ASPDateRegex.exec(t),moment(i?Number(i[1]):t);throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"ISODate":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(moment.isMoment(t))return t.toDate().toISOString();if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ISODate");case"ASPDate":if(exports.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(exports.isString(t)){i=ASPDateRegex.exec(t);var s;return s=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+e+'"')}};var ASPDateRegex=/^\/?Date\((\-?\d+)/i;exports.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},exports.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},exports.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},exports.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},exports.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},exports.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},exports.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},exports.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},exports.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},exports.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},exports.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},exports.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},exports.option={},exports.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},exports.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},exports.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},exports.option.asSize=function(t,e){return"function"==typeof t&&(t=t()),exports.isString(t)?t:exports.isNumber(t)?t+"px":e||null},exports.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},exports.GiveDec=function(Hex){var Value;return Value="A"==Hex?10:"B"==Hex?11:"C"==Hex?12:"D"==Hex?13:"E"==Hex?14:"F"==Hex?15:eval(Hex)},exports.GiveHex=function(t){var e;return e=10==t?"A":11==t?"B":12==t?"C":13==t?"D":14==t?"E":15==t?"F":""+t},exports.parseColor=function(t){var e;if(exports.isString(t)){if(exports.isValidRGB(t)){var i=t.substr(4).substr(0,t.length-5).split(",");t=exports.RGBToHex(i[0],i[1],i[2])}if(exports.isValidHex(t)){var s=exports.hexToHSV(t),o={h:s.h,s:.45*s.s,v:Math.min(1,1.05*s.v)},n={h:s.h,s:Math.min(1,1.25*s.v),v:.6*s.v},r=exports.HSVToHex(n.h,n.h,n.v),a=exports.HSVToHex(o.h,o.s,o.v);e={background:t,border:r,highlight:{background:a,border:r},hover:{background:a,border:r}}}else e={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else e={},e.background=t.background||"white",e.border=t.border||e.background,exports.isString(t.highlight)?e.highlight={border:t.highlight,background:t.highlight}:(e.highlight={},e.highlight.background=t.highlight&&t.highlight.background||e.background,e.highlight.border=t.highlight&&t.highlight.border||e.border),exports.isString(t.hover)?e.hover={border:t.hover,background:t.hover}:(e.hover={},e.hover.background=t.hover&&t.hover.background||e.background,e.hover.border=t.hover&&t.hover.border||e.border);return e},exports.hexToRGB=function(t){t=t.replace("#","").toUpperCase();var e=exports.GiveDec(t.substring(0,1)),i=exports.GiveDec(t.substring(1,2)),s=exports.GiveDec(t.substring(2,3)),o=exports.GiveDec(t.substring(3,4)),n=exports.GiveDec(t.substring(4,5)),r=exports.GiveDec(t.substring(5,6)),a=16*e+i,h=16*s+o,i=16*n+r;return{r:a,g:h,b:i}},exports.RGBToHex=function(t,e,i){var s=exports.GiveHex(Math.floor(t/16)),o=exports.GiveHex(t%16),n=exports.GiveHex(Math.floor(e/16)),r=exports.GiveHex(e%16),a=exports.GiveHex(Math.floor(i/16)),h=exports.GiveHex(i%16),d=s+o+n+r+a+h;return"#"+d},exports.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var cssUtil={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};exports.addCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e),o=exports.extend(i,s);t.style.cssText=cssUtil.join(o)},exports.removeCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=cssUtil.join(i)},exports.HSVToRGB=function(t,e,i){var s,o,n,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},exports.HSVToHex=function(t,e,i){var s=exports.HSVToRGB(t,e,i);return exports.RGBToHex(s.r,s.g,s.b)},exports.hexToHSV=function(t){var e=exports.hexToRGB(t);return exports.RGBToHSV(e.r,e.g,e.b)},exports.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},exports.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},exports.selectiveBridgeObject=function(t,e){if("object"==typeof e){for(var i=Object.create(e),s=0;s=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h];if(d.isVisible(e))return h;var l=void 0===s?d[i]:d[i][s];l=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},exports.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},exports.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&r.setAttributeNS(null,"style",s.group.options.drawPoints.styles),r.setAttributeNS(null,"class",s.className+" point"),r},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var o=i(1),n=i(5);s.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=n.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var f=h[p];c[f]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var f={},m=0,g=c.length;g>m;m++){var v=c[m];f[v]=t.getValue(p,m)}h(f)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,f=i&&i.filter,m=[];if(void 0!=t)d=n._getItem(t,u),f&&!f(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!f||f(d))&&m.push(d));if(i&&i.order&&void 0==t&&this._sort(m,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=m.length;p>c;c++)m[c]=this._filterFields(m[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(m[c]);return s}return m},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.get=function(){var t,e,i,s=this,n=o.getType(arguments[0]);"String"==n||"Number"==n||"Array"==n?(t=arguments[0],e=arguments[1],i=arguments[2]):(e=arguments[0],i=arguments[1]);var r=o.extend({},this._options,e);this._options.filter&&e&&e.filter&&(r.filter=function(t){return s._options.filter(t)&&e.filter(t)});var a=[];return void 0!=t&&a.push(t),a.push(r),a.push(i),this._data&&this._data.get.apply(this._data,a)},s.prototype.getIds=function(t){var e;if(this._data){var i,s=this._options.filter;i=t&&t.filter?s?function(e){return s(e)&&t.filter(e)}:t.filter:s,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},s.prototype.getDataSet=function(){for(var t=this;t instanceof s;)t=t._data;return t||null},s.prototype._onEvent=function(t,e,i){var s,o,n,r,a=e&&e.items,h=this._data,d=[],l=[],c=[];if(a&&h){switch(t){case"add":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t){function e(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}e.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},e.extend=function(t,i){var s=new e(i);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){s.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},e.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new l,this.eye=new h(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}var o=i(53),n=i(3),r=i(4),a=i(1),h=i(10),d=i(9),l=i(7),c=i(8),p=i(11),u=i(12);o(s.prototype),s.prototype._setScale=function(){this.scale=new h(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(f-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new u(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new h(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new u(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new h(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new u(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new h(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new h(n,r,this.zMin)),e=this._convert3Dto2D(new h(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),f=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(f.x,f.y),g.stroke(),p=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),f=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(f.x,f.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var S=this.yLabel;S.length>0&&(l=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-l:this.xMax+l,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(S,o.x,o.y));var D=this.zLabel;D.length>0&&(d=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new h(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(D,o.x-d,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,d,l,c,p,u,f,m=this.frame.canvas,g=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/D/2,1),a=this._hsv2rgb(c,p,u),d=a):(u=1,a=this._hsv2rgb(c,p,u),d=this.colorAxis)):(a="gray",d=this.colorAxis),l=.5,g.lineWidth=l,g.fillStyle=a,g.strokeStyle=d,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,f,m;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(u,1,1),m=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(u,1,1),m=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=getMouseX(t),this.startMouseY=getMouseY(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},a.addEventListener(document,"mousemove",e.onmousemove),a.addEventListener(document,"mouseup",e.onmouseup),a.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(getMouseX(t))-this.startMouseX,i=parseFloat(getMouseY(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,o=this.startArmRotation.vertical+i/200,n=4,r=Math.sin(n/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new d(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var l=n.surfaces;if(l)for(var c=l.length-1;c>=0;c--){var p=l[c],u=p.corners,f=[u[0].screen,u[1].screen,u[2].screen],m=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},getMouseX=function(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0},getMouseY=function(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0},t.exports=s},function(t,e,i){var s=i(10);Camera=function(){this.armLocation=new s,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new s,this.cameraRotation=new s(.5*Math.PI,0,0),this.calculateCameraOrientation()},Camera.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},Camera.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},Camera.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},Camera.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},Camera.prototype.getArmLength=function(){return this.armLength},Camera.prototype.getCameraLocation=function(){return this.cameraLocation},Camera.prototype.getCameraRotation=function(){return this.cameraRotation},Camera.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=Camera},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column -},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(53),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(30),l=i(21),c=i(22),p=i(27);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(53),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(30),l=i(21),c=i(22),p=i(29);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t){function e(t,e,i,s,o){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.setRange(t,e,i,s,o)}e.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},e.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(t){var e=""+Number(this.current).toPrecision(5);if(void 0===t||isNaN(Number(t))){if(-1!=e.indexOf(",")||-1!=e.indexOf("."))for(var i=e.length-1;i>0;i--){if("0"!=e[i]){if("."==e[i]||","==e[i]){e=e.slice(0,i);break}break}e=e.slice(0,i)}}else{var s="",o=e.indexOf("e");if(-1!=o&&(s=e.slice(o),e=e.slice(0,o)),o=Math.max(e.indexOf(","),e.indexOf(".")),-1===o?(0!==t&&(e+="."),o=e.length+t):0!==t&&(o+=t+1),o>e.length)for(var n=o-e.length;n>0;n--)e+="0";else e=e.slice(0,o);e+=s}return e},e.prototype.snap=function(){},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(20),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i){function s(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,m=i||null===o?o:r.easeInOutQuad(e,h,o,c),g=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(m,g),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end)}):a.animateTimer=setTimeout(s,20)}}var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1;return s()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var m={start:new Date(this.start),end:new Date(this.end)};this.body.emitter.emit("rangechange",m),this.body.emitter.emit("rangechanged",m)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h?(s=this.start,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end)})}},s.prototype._onDragEnd=function(){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end)}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.start-(i-o))*e,h=i+r+(this.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale=s.SCALE.DAY,this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[])}var o=i(44),n=i(15);s.SCALE={MILLISECOND:1,SECOND:2,MINUTE:3,HOUR:4,DAY:5,WEEKDAY:6,MONTH:7,YEAR:8},s.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case s.SCALE.YEAR:this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case s.SCALE.MONTH:this.current.setDate(1);case s.SCALE.DAY:case s.SCALE.WEEKDAY:this.current.setHours(0);case s.SCALE.HOUR:this.current.setMinutes(0);case s.SCALE.MINUTE:this.current.setSeconds(0);case s.SCALE.SECOND:this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step); -break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current=new Date(this.current.valueOf()+1e3*this.step);break;case s.SCALE.MINUTE:this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case s.SCALE.HOUR:this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()+this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()+this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()+this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.getMilliseconds()0&&(this.step=e),this.autoScale=!1},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,r=6e4,a=1e3,h=1;1e3*e>t&&(this.scale=s.SCALE.YEAR,this.step=1e3),500*e>t&&(this.scale=s.SCALE.YEAR,this.step=500),100*e>t&&(this.scale=s.SCALE.YEAR,this.step=100),50*e>t&&(this.scale=s.SCALE.YEAR,this.step=50),10*e>t&&(this.scale=s.SCALE.YEAR,this.step=10),5*e>t&&(this.scale=s.SCALE.YEAR,this.step=5),e>t&&(this.scale=s.SCALE.YEAR,this.step=1),3*i>t&&(this.scale=s.SCALE.MONTH,this.step=3),i>t&&(this.scale=s.SCALE.MONTH,this.step=1),5*o>t&&(this.scale=s.SCALE.DAY,this.step=5),2*o>t&&(this.scale=s.SCALE.DAY,this.step=2),o>t&&(this.scale=s.SCALE.DAY,this.step=1),o/2>t&&(this.scale=s.SCALE.WEEKDAY,this.step=1),4*n>t&&(this.scale=s.SCALE.HOUR,this.step=4),n>t&&(this.scale=s.SCALE.HOUR,this.step=1),15*r>t&&(this.scale=s.SCALE.MINUTE,this.step=15),10*r>t&&(this.scale=s.SCALE.MINUTE,this.step=10),5*r>t&&(this.scale=s.SCALE.MINUTE,this.step=5),r>t&&(this.scale=s.SCALE.MINUTE,this.step=1),15*a>t&&(this.scale=s.SCALE.SECOND,this.step=15),10*a>t&&(this.scale=s.SCALE.SECOND,this.step=10),5*a>t&&(this.scale=s.SCALE.SECOND,this.step=5),a>t&&(this.scale=s.SCALE.SECOND,this.step=1),200*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=200),100*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=100),50*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=50),10*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=10),5*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=5),h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=1)}},s.prototype.snap=function(t){var e=new Date(t.valueOf());if(this.scale==s.SCALE.YEAR){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MONTH)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if(this.scale==s.SCALE.DAY){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.WEEKDAY){switch(this.step){case 5:case 2:e.setHours(12*Math.round(e.getHours()/12));break;default:e.setHours(6*Math.round(e.getHours()/6))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.HOUR){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MINUTE){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if(this.scale==s.SCALE.SECOND)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if(this.scale==s.SCALE.MILLISECOND){var o=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/o)*o)}return e},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case s.SCALE.YEAR:case s.SCALE.MONTH:case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case s.SCALE.MILLISECOND:case s.SCALE.SECOND:case s.SCALE.MINUTE:case s.SCALE.HOUR:return!0;default:return!1}switch(this.scale){case s.SCALE.MILLISECOND:return 0==this.current.getMilliseconds();case s.SCALE.SECOND:return 0==this.current.getSeconds();case s.SCALE.MINUTE:return 0==this.current.getHours()&&0==this.current.getMinutes();case s.SCALE.HOUR:return 0==this.current.getHours();case s.SCALE.WEEKDAY:case s.SCALE.DAY:return 1==this.current.getDate();case s.SCALE.MONTH:return 0==this.current.getMonth();case s.SCALE.YEAR:return!1;default:return!1}},s.prototype.getLabelMinor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("SSS");case s.SCALE.SECOND:return o(t).format("s");case s.SCALE.MINUTE:return o(t).format("HH:mm");case s.SCALE.HOUR:return o(t).format("HH:mm");case s.SCALE.WEEKDAY:return o(t).format("ddd D");case s.SCALE.DAY:return o(t).format("D");case s.SCALE.MONTH:return o(t).format("MMM");case s.SCALE.YEAR:return o(t).format("YYYY");default:return""}},s.prototype.getLabelMajor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("HH:mm:ss");case s.SCALE.SECOND:return o(t).format("D MMMM HH:mm");case s.SCALE.MINUTE:case s.SCALE.HOUR:return o(t).format("ddd D MMMM");case s.SCALE.WEEKDAY:case s.SCALE.DAY:return o(t).format("MMMM YYYY");case s.SCALE.MONTH:return o(t).format("YYYY");case s.SCALE.YEAR:return"";default:return""}},t.exports=s},function(t){function e(){this.options=null,this.props=null}e.prototype.setOptions=function(t){t&&util.extend(this.options,t)},e.prototype.redraw=function(){return!1},e.prototype.destroy=function(){},e.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=e},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(20),r=i(44),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(20),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.stepPixels=25,this.stepPixelsForced=25,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(20),a=i(16);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px"):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px"),t=this._redrawLabels(),1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n)}return t},s.prototype._redrawLabels=function(){n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var t=this.options.orientation,e=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,i=new a(this.range.start,this.range.end,e,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation]);this.step=i;var s=(this.dom.frame.offsetHeight-i.deadSpace*(this.dom.frame.offsetHeight/i.marginRange))/((i.marginRange-i.deadSpace)/i.step);this.stepPixels=s;var o=this.height/s,r=0;if(0==this.master){s=this.stepPixelsForced,r=Math.round(this.dom.frame.offsetHeight/s-o);for(var h=0;.5*r>h;h++)i.previous();o=this.height/s}else o+=.25;this.valueAtZero=i.marginEnd;var d,l=0,c=1;void 0!==this.options.format[t]&&(d=this.options.format[t].decimals),this.maxLabelSize=0;for(var p=0;c=0&&this._redrawLabel(p-2,i.getCurrent(d),t,"yAxis major",this.props.majorCharHeight),this._redrawLine(p,t,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(p,t,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),c++}this.conversionFactor=0==this.master?p/(this.valueAtZero-i.current):this.dom.frame.offsetHeight/i.marginRange;var f=0;void 0!==this.options.title[t]&&void 0!==this.options.title[t].text&&(f=this.props.titleCharHeight);var m=1==this.options.icons?Math.max(this.options.iconWidth,f)+this.options.labelOffsetX+15:f+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-m&&1==this.options.visible?(this.width=this.maxLabelSize+m,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+m),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),!1)},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;i0)for(n=0;n=0&&!this._checkIfInvisible(t.byStart[n],r,i);n--);for(n=s+1;n=0&&!this._checkIfInvisible(t.byEnd[n],r,i);n--);for(n=a+1;ns;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(3),a=i(4),h=i(20),d=i(25),l=i(26),c=i(33),p=i(34),u=i(35),f=i(32),m="__ungrouped__",g="__background__";s.prototype=new h,s.types={background:f,box:c,range:u,point:p},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new l(g,null,this);r.show(),this.groups[g]=r,this.hammer=o(this.body.dom.centerContainer,{prevent_default:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","padding","stack","selectable","groupOrder","dataAttributes","template","hide"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(){this.groupIds=[],this.stackDirty=!0},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,f,c),n.forEach(this.groups,function(t){var i=t==p?u:f,s=t.redraw(e,i,c);r=s||r,m+=t.height}),m=Math.max(m,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==o?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[m];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[m];this.groups[g]}if(this.groupsData){if(i){i.hide(),delete this.groups[m];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new d(n,r,this),this.groups[m]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:m},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==m||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new d(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:this.getSelection()})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.body.util.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l={start:i?i(d):d,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(h+this.props.width/5);l.end=i?i(c):c}l[this.itemsData._fieldId]=n.randomUUID();var p=s.groupFromTarget(t);p&&(l.group=p.groupId),this.options.onAdd(l,function(t){t&&e.itemsData.add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=e.indexOf(i.id);-1==o?e.push(i.id):e.splice(o,1),this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.groupFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-group"))return e["timeline-group"];e=e.parentNode}return null},s.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null},t.exports=s},function(t,e,i){function s(t,e,i,s){this.body=t,this.defaultOptions={enabled:!0,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-left"}},this.side=i,this.options=o.extend({},this.defaultOptions),this.linegraphOptions=s,this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.setOptions(e)}var o=i(1),n=i(2),r=i(20);s.prototype=new r,s.prototype.clear=function(){this.groups={},this.amountOfGroups=0},s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.className="legend",this.dom.frame.style.position="absolute",this.dom.frame.style.top="10px",this.dom.frame.style.display="block",this.dom.textArea=document.createElement("div"),this.dom.textArea.className="legendText",this.dom.textArea.style.position="relative",this.dom.textArea.style.top="0px",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.width=this.options.iconSize+5+"px",this.svg.style.height="100%",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setOptions=function(t){var e=["enabled","orientation","icons","left","right"];o.selectiveDeepExtend(e,this.options,t)},s.prototype.redraw=function(){var t=0;for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||t++);if(0==this.options[this.side].visible||0==this.amountOfGroups||0==this.options.enabled||0==t)this.hide();else{if(this.show(),"top-left"==this.options[this.side].position||"bottom-left"==this.options[this.side].position?(this.dom.frame.style.left="4px",this.dom.frame.style.textAlign="left",this.dom.textArea.style.textAlign="left",this.dom.textArea.style.left=this.options.iconSize+15+"px",this.dom.textArea.style.right="",this.svg.style.left="0px",this.svg.style.right=""):(this.dom.frame.style.right="4px",this.dom.frame.style.textAlign="right",this.dom.textArea.style.textAlign="right",this.dom.textArea.style.right=this.options.iconSize+15+"px",this.dom.textArea.style.left="",this.svg.style.right="0px",this.svg.style.left=""),"top-left"==this.options[this.side].position||"top-right"==this.options[this.side].position)this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.bottom="";else{var i=this.body.domProps.center.height-this.body.domProps.centerContainer.height;this.dom.frame.style.bottom=4+i+Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.top=""}0==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+"px",this.dom.textArea.style.right="",this.dom.textArea.style.left="",this.svg.style.width="0px"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+"px",this.drawLegendIcons());var s="";for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||(s+=this.groups[e].content+"
"));this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.autoSizeSVG=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.width),i._updateGraph.apply(i)}),this._create(),this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(20),d=i(23),l=i(24),c=i(28),p="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?this.autoSizeSVG=!0:void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a,h=[],d=[];if(t.length>0){for(n=0;n0)if(o=this.groups[t[n]],"line"==o.options.style||"stack"!=o.options.barChart.handleOverlap){var l=s[0].y,c=s[0].y;for(r=0;rs[r].y?s[r].y:l,c=c0&&(h.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,h),i.__barchartLeft=this._getStackedBarYRange(p,h),i.__barchartLeft.yAxisOrientation="left",t.push("__barchartLeft")),d.length>0&&(d.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,d),i.__barchartRight=this._getStackedBarYRange(p,d),i.__barchartRight.yAxisOrientation="right",t.push("__barchartRight"))}},s.prototype._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=o0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&(e.hide(),i=!0):e.dom.frame.parentNode||(e.show(),i=!0),i},s.prototype._drawBarGraphs=function(t,e){var i,s,o,r,a,h,d=[],l={},c=0;for(a=0;a0&&(i=Math.min(i,Math.abs(d[a-1].x-s))),o=this._getSafeDrawData(i,r,p);else{var f=a+(l[s].amount-l[s].resolved),m=a-(l[s].resolved+1);f0&&(i=Math.min(i,Math.abs(d[m].x-s))),o=this._getSafeDrawData(i,r,p),l[s].resolved+=1,"stack"==r.options.barChart.handleOverlap?(u=l[s].accumulated,l[s].accumulated+=r.zeroPosition-d[a].y):"sideBySide"==r.options.barChart.handleOverlap&&(o.width=o.width/l[s].amount,o.offset+=l[s].resolved*o.width-.5*o.width*(l[s].amount+1),"left"==r.options.barChart.align?o.offset-=.5*o.width:"right"==r.options.barChart.align&&(o.offset+=.5*o.width))}n.drawBar(d[a].x+o.offset,d[a].y-u,o.width,r.zeroPosition-d[a].y,r.className+" bar",this.svgElements,this.svg),1==r.options.drawPoints.enabled&&n.drawPoint(d[a].x+o.offset,d[a].y-u,r,this.svgElements,this.svg)}},s.prototype._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s.prototype._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.prototype._drawLineGraph=function(t,e){if(null!=t&&t.length>0){var i,s,o=Number(this.svg.style.height.replace("px",""));if(i=n.getSVGElement("path",this.svgElements,this.svg),i.setAttributeNS(null,"class",e.className),void 0!==e.style&&i.setAttributeNS(null,"style",e.style),s=1==e.options.catmullRom.enabled?this._catmullRom(t,e):this._linear(t),1==e.options.shaded.enabled){var r,a=n.getSVGElement("path",this.svgElements,this.svg);r="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+s+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+o+" "+s+"L"+t[t.length-1].x+","+o,a.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&a.setAttributeNS(null,"style",e.options.shaded.style),a.setAttributeNS(null,"d",r)}i.setAttributeNS(null,"d","M"+s),1==e.options.drawPoints.enabled&&this._drawPoints(t,e,this.svgElements,this.svg)}},s.prototype._drawPoints=function(t,e,i,s,o){void 0===o&&(o=0);for(var r=0;rl;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s.prototype._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,f,m,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,D=0;S-1>D;D++)s=0==D?t[0]:t[D-1],o=t[D],n=t[D+1],r=S>D+2?t[D+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,f=3*x*(x+v),f>0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={x:(-b*s.x+p*o.x+_*n.x)*f,y:(-b*s.y+p*o.y+_*n.y)*f},h={x:(y*o.x+u*n.x-b*r.x)*m,y:(y*o.y+u*n.y-b*r.y)*m},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s.prototype._linear=function(t){for(var e="",i=0;ic;){c++;var p=h.getCurrent(),u=this.body.util.toScreen(p),f=h.isMajor();this.options.showMinorLabels&&this._repaintMinorText(u,h.getLabelMinor(),t),f&&this.options.showMajorLabels?(u>0&&(void 0==l&&(l=u),this._repaintMajorText(u,h.getLabelMajor(),t)),this._repaintMajorLine(u,t)):this._repaintMinorLine(u,t),h.next()}if(this.options.showMajorLabels){var m=this.body.util.toTime(0),g=h.getLabelMajor(m),v=g.length*(this.props.majorCharWidth||10)+10;(void 0==l||l>v)&&this._repaintMajorText(0,g,t)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i){var s=this.dom.redundant.minorTexts.shift();if(!s){var o=document.createTextNode("");s=document.createElement("div"),s.appendChild(o),s.className="text minor",this.dom.foreground.appendChild(s)}this.dom.minorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?this.props.majorLabelHeight+"px":"0",s.style.left=t+"px"},s.prototype._repaintMajorText=function(t,e,i){var s=this.dom.redundant.majorTexts.shift();if(!s){var o=document.createTextNode(e);s=document.createElement("div"),s.className="text major",s.appendChild(o),this.dom.foreground.appendChild(s)}this.dom.majorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?"0":this.props.minorLabelHeight+"px",s.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e){var i=this.dom.redundant.minorLines.shift();i||(i=document.createElement("div"),i.className="grid vertical minor",this.dom.background.appendChild(i)),this.dom.minorLines.push(i);var s=this.props;i.style.top="top"==e?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",i.style.height=s.minorLineHeight+"px",i.style.left=t-s.minorLineWidth/2+"px"},s.prototype._repaintMajorLine=function(t,e){var i=this.dom.redundant.majorLines.shift();i||(i=document.createElement("DIV"),i.className="grid vertical major",this.dom.background.appendChild(i)),this.dom.majorLines.push(i);var s=this.props;i.style.top="top"==e?"0":this.body.domProps.top.height+"px",i.style.left=t-s.majorLineWidth/2+"px",i.style.height=s.majorLineHeight+"px"},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},s.prototype.snap=function(t){return this.step.snap(t)},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(45),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;if(e!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(31);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?Math.max(-s,0):0>s?Math.min(-s,o-s-this.props.content.width-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=.5*this.renderTimestep,this.maxPhysicsTicksPerRender=3,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null},this.defaultOptions={nodes:{mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},borderColor:"#2B7CE9",backgroundColor:"#97C2FC",highlightColor:"#D2E5FF",group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,theta:1/.6,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02}},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},dynamicSmoothCurves:!0,maxVelocity:30,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0},this.constants=a.extend({},this.defaultOptions),this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],"new":[]},this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null;var o=this;this.groups=new u,this.images=new f,this.images.setOnloadCallback(function(){o._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulation=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){o._addNodes(e.items),o.start()},update:function(t,e){o._updateNodes(e.items,e.data),o.start()},remove:function(t,e){o._removeNodes(e.items),o.start()}},this.edgesListeners={add:function(t,e){o._addEdges(e.items),o.start()},update:function(t,e){o._updateEdges(e.items),o.start()},remove:function(t,e){o._removeEdges(e.items),o.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent(void 0,!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(53),n=i(45),r=i(54),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),f=i(39),m=i(40),g=i(37),v=i(41),y=i(51),b=i(52),_=i(49);i(50),o(s.prototype),s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;et.x&&(s=t.x),ot.y&&(e=t.y),i=this.constants.clustering.initialMaxNodes?49.07548/(n+142.05338)+91444e-8:12.662/(n+7.4147)+.0964822:1==this.constants.clustering.enabled&&n>=this.constants.clustering.initialMaxNodes?77.5271985/(n+187.266146)+476710517e-13:30.5062972/(n+19.93597763)+.08413486;var r=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);s*=r}else{var a=1.1*Math.abs(o.maxX-o.minX),h=1.1*Math.abs(o.maxY-o.minY),d=this.frame.canvas.clientWidth/a,l=this.frame.canvas.clientHeight/h;s=l>=d?d:l}s>1&&(s=1);var c=this._findCenter(o);if(0==i){var p={position:c,scale:s,animation:t};this.moveTo(p),this.moving=!0,this.start()}else c.x*=s,c.y*=s,c.x-=.5*this.frame.canvas.clientWidth,c.y-=.5*this.frame.canvas.clientHeight,this._setScale(s),this._setTranslation(-c.x,-c.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this.initializing=!0,t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover))),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color);this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.')}this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._createKeyBinds(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,this.start()},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),!this.frame.canvas.getContext){var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}var e=this;this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",e._onTap.bind(e)),this.hammer.on("doubletap",e._onDoubleTap.bind(e)),this.hammer.on("hold",e._onHold.bind(e)),this.hammer.on("pinch",e._onPinch.bind(e)),this.hammer.on("touch",e._onTouch.bind(e)),this.hammer.on("dragstart",e._onDragStart.bind(e)),this.hammer.on("drag",e._onDrag.bind(e)),this.hammer.on("dragend",e._onDragEnd.bind(e)),this.hammer.on("mousewheel",e._onMouseWheel.bind(e)),this.hammer.on("DOMMouseScroll",e._onMouseWheel.bind(e)),this.hammer.on("mousemove",e._onMouseMoveTitle.bind(e)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",e._onRelease.bind(e)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=r(),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this._handleTouch(this.drag.pointer)},s.prototype._onDragStart=function(){this._handleDragStart()},s.prototype._handleDragStart=function(){var t=this.drag,e=this._getNodeAt(t.pointer);if(t.dragging=!0,t.selection=[],t.translation=this._getTranslation(),t.nodeId=null,null!=e&&1==this.constants.dragNodes){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,t.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i);var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof m&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj;if(void 0==this.popupObj){var o=this.nodes;for(e in o)if(o.hasOwnProperty(e)){var n=o[e];if(void 0!==n.getTitle()&&n.isOverlappingWith(i)){this.popupObj=n;break}}}if(void 0===this.popupObj){var r=this.edges;for(e in r)if(r.hasOwnProperty(e)){var a=r[e];if(a.connected&&void 0!==a.getTitle()&&a.isOverlappingWith(i)){this.popupObj=a;break}}}if(this.popupObj){if(this.popupObj!=s){var h=this;h.popup||(h.popup=new v(h.frame,h.constants.tooltip)),h.popup.setPosition(t.x-3,t.y-3),h.popup.setText(h.popupObj.getTitle()),h.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth&&(this.frame.canvas.width=this.frame.canvas.clientWidth,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight&&(this.frame.canvas.height=this.frame.canvas.clientHeight,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width,height:this.frame.canvas.height,oldWidth:s,oldHeight:o})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new m(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new m(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i)},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var o=t[e].getValue();void 0!==o&&(i=void 0===i?o:Math.min(o,i),s=void 0===s?o:Math.max(o,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._redraw=function(){var t=this.frame.canvas.getContext("2d"),e=this.frame.canvas.width,i=this.frame.canvas.height;t.clearRect(0,0,e,i),t.save(),t.translate(this.translation.x,this.translation.y),t.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},this._doInAllSectors("_drawAllSectorNodes",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",t,!1),1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",t),t.restore()},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._physicsTick=function(){if(!this.freezeSimulation&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s0){var i=this,s={iterations:i.stabilizationIterations};i.stabilizationIterations=0,i.startedStabilization=!1,setTimeout(function(){i.emit("stabilized",s)},0)}},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.toggleFreeze=function(){0==this.freezeSimulation?this.freezeSimulation=!0:(this.freezeSimulation=!1,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new m({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},t.exports=s},function(t,e,i){function s(t,e,i){if(!e)throw"No network provided";var s=["edges","physics"],n=o.selectiveBridgeObject(s,i);this.options=n.edges,this.physics=n.physics,this.options.smoothCurves=i.smoothCurves,this.network=e,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.title=void 0,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.value=void 0,this.selected=!1,this.hover=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.dirtyLabel=!0,this.from=null,this.to=null,this.via=null,this.originalFromId=[],this.originalToId=[],this.connected=!1,this.widthFixed=!1,this.lengthFixed=!1,this.setProperties(t),this.controlNodesEnabled=!1,this.controlNodes={from:null,to:null,positions:{}},this.connectedNode=null}var o=i(1),n=i(40);s.prototype.setProperties=function(t){if(t){var e=["style","fontSize","fontFace","fontColor","fontFill","width","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","inheritColor"];switch(o.selectiveDeepExtend(e,this.options,t),void 0!==t.from&&(this.fromId=t.from),void 0!==t.to&&(this.toId=t.to),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.dirtyLabel=!0),void 0!==t.title&&(this.title=t.title),void 0!==t.value&&(this.value=t.value),void 0!==t.length&&(this.physics.springLength=t.length),void 0!==t.color&&(this.options.inheritColor=!1,o.isString(t.color)?(this.options.color.color=t.color,this.options.color.highlight=t.color):(void 0!==t.color.color&&(this.options.color.color=t.color.color),void 0!==t.color.highlight&&(this.options.color.highlight=t.color.highlight),void 0!==t.color.hover&&(this.options.color.hover=t.color.hover))),this.connect(),this.widthFixed=this.widthFixed||void 0!==t.width,this.lengthFixed=this.lengthFixed||void 0!==t.length,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.options.style){case"line":this.draw=this._drawLine; -break;case"arrow":this.draw=this._drawArrow;break;case"arrow-center":this.draw=this._drawArrowCenter;break;case"dash-line":this.draw=this._drawDashLine;break;default:this.draw=this._drawLine}}},s.prototype.connect=function(){this.disconnect(),this.from=this.network.nodes[this.fromId]||null,this.to=this.network.nodes[this.toId]||null,this.connected=this.from&&this.to,this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this))},s.prototype.disconnect=function(){this.from&&(this.from.detachEdge(this),this.from=null),this.to&&(this.to.detachEdge(this),this.to=null),this.connected=!1},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.getValue=function(){return this.value},s.prototype.setValueRange=function(t,e){if(!this.widthFixed&&void 0!==this.value){var i=(this.options.widthMax-this.options.widthMin)/(e-t);this.options.width=(this.value-t)*i+this.options.widthMin,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier}},s.prototype.draw=function(){throw"Method draw not initialized in edge"},s.prototype.isOverlappingWith=function(t){if(this.connected){var e=10,i=this.from.x,s=this.from.y,o=this.to.x,n=this.to.y,r=t.left,a=t.top,h=this._getDistanceToEdge(i,s,o,n,r,a);return e>h}return!1},s.prototype._getColor=function(){var t=this.options.color;return"to"==this.options.inheritColor?t={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:this.to.options.color.border}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(t={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:this.from.options.color.border}),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)),t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle",o=this.labelDimensions.yLine;for(var d=0;r>d;d++)t.fillText(n[d],i,o),o+=a}},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.mozDash||void 0!==t.setLineDash){var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],"undefined"!=typeof t.setLineDash?(t.setLineDash(i),t.lineDashOffset=0):(t.mozDash=i,t.mozDashOffset=0),e=this._line(t),"undefined"!=typeof t.setLineDash?(t.setLineDash([0]),t.lineDashOffset=0):(t.mozDash=[0],t.mozDashOffset=0)}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i;if(this.from!=this.to){e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var s,o=this.to.x-this.from.x,n=this.to.y-this.from.y,r=Math.sqrt(o*o+n*n),a=this.from.distanceToBorder(t,e+Math.PI),h=(r-a)/r,d=h*this.from.x+(1-h)*this.to.x,l=h*this.from.y+(1-h)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?s=this.via:1==this.options.smoothCurves.enabled&&(s=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=s.x&&(e=Math.atan2(this.to.y-s.y,this.to.x-s.x),o=this.to.x-s.x,n=this.to.y-s.y,r=Math.sqrt(o*o+n*n));var c,p,u=this.to.distanceToBorder(t,e),f=(r-u)/r;if(1==this.options.smoothCurves.enabled&&null!=s.x?(c=(1-f)*s.x+f*this.to.x,p=(1-f)*s.y+f*this.to.y):(c=(1-f)*this.from.x+f*this.to.x,p=(1-f)*this.from.y+f*this.to.y),t.beginPath(),t.moveTo(d,l),1==this.options.smoothCurves.enabled&&null!=s.x?t.quadraticCurveTo(s.x,s.y,c,p):t.lineTo(c,p),t.stroke(),i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(c,p,e,i),t.fill(),t.stroke(),this.label){var m;if(1==this.options.smoothCurves.enabled&&null!=s){var g=.5*(.5*(this.from.x+s.x)+.5*(this.to.x+s.x)),v=.5*(.5*(this.from.y+s.y)+.5*(this.to.y+s.y));m={x:g,y:v}}else m=this._pointOnLine(.5);this._label(t,this.label,m.x,m.y)}}else{var y,b,_,x=this.from,w=.25*Math.max(100,this.physics.springLength);x.width||x.resize(t),x.width>x.height?(y=x.x+.5*x.width,b=x.y-w,_={x:y,y:x.y,angle:.9*Math.PI}):(y=x.x+w,b=x.y-.5*x.height,_={x:x.x,y:b,angle:.6*Math.PI}),t.beginPath(),t.arc(y,b,w,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(_.x,_.y,_.angle,i),t.fill(),t.stroke(),this.label&&(m=this._pointOnCircle(y,b,w,.5),this._label(t,this.label,m.x,m.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,f,m,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,f=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(m,g,u,f,o,n),v=v>l?l:v),m=u,g=f;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,f,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,f=x.y-_):(u=x.x+_,f=x.y-.5*x.height),y=u-o,b=f-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to&&(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y))},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:8},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}0==this.controlNodes.from.selected&&0==this.controlNodes.to.selected&&(this.controlNodes.positions=this.getControlNodePositions(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y,this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected&&(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()),1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodePositions=function(t){var e,i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n,h=a*this.from.x+(1-a)*this.to.x,d=a*this.from.y+(1-a)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?e=this.via:1==this.options.smoothCurves.enabled&&(e=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=e.x&&(i=Math.atan2(this.to.y-e.y,this.to.x-e.x),s=this.to.x-e.x,o=this.to.y-e.y,n=Math.sqrt(s*s+o*o));var l,c,p=this.to.distanceToBorder(t,i),u=(n-p)/n;return 1==this.options.smoothCurves.enabled&&null!=e.x?(l=(1-u)*e.x+u*this.to.x,c=(1-u)*e.y+u*this.to.y):(l=(1-u)*this.from.x+u*this.to.x,c=(1-u)*this.from.y+u*this.to.y),{from:{x:h,y:d},to:{x:l,y:c}}},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}var o=i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e.color&&(e.color=o.parseColor(e.color)),e},t.exports=s},function(t){function e(){this.images={},this.callback=void 0}e.prototype.setOnloadCallback=function(t){this.callback=t},e.prototype.load=function(t,e){var i=this.images[t];if(void 0==i){var s=this;i=new Image,this.images[t]=i,i.onload=function(){s.callback&&s.callback(this)},i.onerror=function(){this.src=e,s.callback&&s.callback(this)},i.src=t}return i},t.exports=e},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.fontDrawThreshold=3,this.id=void 0,this.x=null,this.y=null,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.dynamicEdgesLength=0,this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","group","mass"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof this.options.group||"string"==typeof this.options.group&&""!=this.options.group){var s=this.grouplist.get(this.options.group);for(var n in s)s.hasOwnProperty(n)&&(this.options[n]=s[n])}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,"image"==this.options.shape&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.discreteStep=function(t){if(this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.options.radius=(this.options.radiusMin+this.options.radiusMax)/2;else{var i=(this.options.radiusMax-this.options.radiusMin)/(e-t);this.options.radius=(this.value-t)*i+this.options.radiusMin}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(){throw"Draw method not initialized for node"},s.prototype.resize=function(){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.options.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.options.radius||this.imageObj.width,e=this.options.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e;if(0!=this.imageObj.width){if(this.clusterSize>1){var i=this.clusterSize>1?10:0;i*=this.networkScaleInv,i=Math.min(.2*this.width,i),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-i,this.top-i,this.width+2*i,this.height+2*i)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),e=this.y+this.height/2}else e=this.y;this._label(t,this.label,this.x,e,void 0,"top")},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(this.x,this.y,this.options.radius+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(){if(!this.width){this.options.radius=this.baseRadiusValue;var t=2*this.options.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t -}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.label&&this._label(t,this.label,this.x,this.y+this.height/2,void 0,"top",!0)},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y)},s.prototype._label=function(t,e,i,s,o,n,r){if(e&&Number(this.options.fontSize)*this.networkScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;1==r&&(l=s+(1-h)/(2*d));for(var c=t.measureText(a[0]).width,p=1;h>p;p++){var u=t.measureText(a[p]).width;c=u>c?u:c}var f=this.options.fontSize*h,m=i-c/2,g=s-f/2;"top"==n&&(g+=.5*d),this.labelDimensions={top:g,left:m,width:c,height:f,yLine:l},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(m,g,c,f)),t.fillStyle=this.options.fontColor||"black",t.textAlign=o||"center",t.textBaseline=n||"middle";for(var p=0;h>p;p++)t.fillText(a[p],i,l),l+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;for(var e=this.label.split("\n"),i=(Number(this.options.fontSize)+4)*e.length,s=0,o=0,n=e.length;n>o;o++)s=Math.max(s,t.measureText(e[o]).width);return{width:s,height:i}}return{width:0,height:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=a(o.attr,t.node))),i=n.length-1;i>=0;i--){var h=n[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(o)&&h.nodes.push(o)}e.attr&&(o.attr=a(o.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function c(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=a({},t.edge)),n.attr=a(n.attr||{},o),n}function p(){for(L=M.NULL,k="";" "==O||" "==O||"\n"==O||"\r"==O;)o();do{var t=!1;if("#"==O){for(var e=T-1;" "==E.charAt(e)||" "==E.charAt(e);)e--;if("\n"==E.charAt(e)||""==E.charAt(e)){for(;""!=O&&"\n"!=O;)o();t=!0}}if("/"==O&&"/"==n()){for(;""!=O&&"\n"!=O;)o();t=!0}if("/"==O&&"*"==n()){for(;""!=O;){if("*"==O&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==O||" "==O||"\n"==O||"\r"==O;)o()}while(t);if(""==O)return void(L=M.DELIMITER);var i=O+n();if(C[i])return L=M.DELIMITER,k=i,o(),void o();if(C[O])return L=M.DELIMITER,k=O,void o();if(r(O)||"-"==O){for(k+=O,o();r(O);)k+=O,o();return"false"==k?k=!1:"true"==k?k=!0:isNaN(Number(k))||(k=Number(k)),void(L=M.IDENTIFIER)}if('"'==O){for(o();""!=O&&('"'!=O||'"'==O&&'"'==n());)k+=O,'"'==O&&o(),o();if('"'!=O)throw x('End of string " expected');return o(),void(L=M.IDENTIFIER)}for(L=M.UNKNOWN;""!=O;)k+=O,o();throw new SyntaxError('Syntax error in part "'+w(k,30)+'"')}function u(){var t={};if(s(),p(),"strict"==k&&(t.strict=!0,p()),("graph"==k||"digraph"==k)&&(t.type=k,p()),L==M.IDENTIFIER&&(t.id=k,p()),"{"!=k)throw x("Angle bracket { expected");if(p(),f(t),"}"!=k)throw x("Angle bracket } expected");if(p(),""!==k)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==k&&"}"!=k;)m(t),";"==k&&p()}function m(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(L!=M.IDENTIFIER)throw x("Identifier expected");var s=k;if(p(),"="==k){if(p(),L!=M.IDENTIFIER)throw x("Identifier expected");t[s]=k,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==k&&(e={},e.type="subgraph",p(),L==M.IDENTIFIER&&(e.id=k,p())),"{"==k){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=k)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function v(t){return"node"==k?(p(),t.node=_(),"node"):"edge"==k?(p(),t.edge=_(),"edge"):"graph"==k?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==k||"--"==k;){var i,s=k;p();var o=g(t);if(o)i=o;else{if(L!=M.IDENTIFIER)throw x("Identifier or subgraph expected");i=k,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==k;){for(p(),t={};""!==k&&"]"!=k;){if(L!=M.IDENTIFIER)throw x("Attribute name expected");var e=k;if(p(),"="!=k)throw x("Equal sign = expected");if(p(),L!=M.IDENTIFIER)throw x("Attribute value expected");var i=k;h(t,e,i),p(),","==k&&p()}if("]"!=k)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(k,30)+'" (char '+T+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t){function e(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e}var s=i(t),o={nodes:[],edges:[],options:{}};return s.nodes&&s.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),o.nodes.push(e)}),s.edges&&s.edges.forEach(function(t){var i,s;i=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var i=e(t);o.edges.push(i)}),S(i,s,function(i,s){var n=c(o,i.id,s.id,t.type,t.attr),r=e(n);o.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var i=e(t);o.edges.push(i)})}),s.attr&&(o.options=s.attr),o}var M={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},E="",T=0,O="",k="",L=M.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r=o&&(o=864e5),i=new Date(i.valueOf()-.05*o),s=new Date(s.valueOf()+.05*o)}if(null!==i||null!==s){var n=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(i,s,n)}},s.prototype.setWindow=function(t,e,i){var s=i&&void 0!==i.animate?i.animate:!0;if(1==arguments.length){var o=arguments[0];this.range.setRange(o.start,o.end,s)}else this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){h.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=f,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=f,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t&&this.redraw()}},s.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},s.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},s.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},s.prototype._toTime=function(t){return h.toTime(this,t,this.props.center.width)},s.prototype._toGlobalTime=function(t){return h.toTime(this,t,this.props.root.width)},s.prototype._toScreen=function(t){return h.toScreen(this,t,this.props.center.width)},s.prototype._toGlobalScreen=function(t){return h.toScreen(this,t,this.props.root.width)},s.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},s.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){return 1!=t.options.autoResize?void t._stopAutoResize():void(t.dom.root&&(t.dom.root.offsetWidth!=t.props.lastWidth||t.dom.root.offsetHeight!=t.props.lastHeight)&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.emit("change")))},r.addEventListener(window,"resize",this._onResize),this.watchTimer=setInterval(this._onResize,1e3)},s.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),r.removeEventListener(window,"resize",this._onResize),this._onResize=null},s.prototype._onTouch=function(){this.touch.allowDragging=!0},s.prototype._onPinch=function(){this.touch.allowDragging=!1},s.prototype._onDragStart=function(){this.touch.initialScrollTop=this.props.scrollTop},s.prototype._onDrag=function(t){if(this.touch.allowDragging){var e=t.gesture.deltaY,i=this._getScrollTop(),s=this._setScrollTop(this.touch.initialScrollTop+e);s!=i&&(this.redraw(),this.emit("verticalDrag"))}},s.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},s.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("bottom"==this.options.orientation&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTops;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,f=e+(s-r/2),m=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,f),this.bezierCurveTo(l,f+d,p+h,m,p,m),this.bezierCurveTo(p-h,m,t,f+d,t,f),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t,e,i){var s=i(63),o=i(57),n=i(58),r=i(59),a=i(60),h=i(61),d=i(62);e._loadMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])},e._clearMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=void 0)},e._loadPhysicsSystem=function(){this._loadMixin(s),this._loadSelectedForceSolver(),1==this.constants.configurePhysics&&this._loadPhysicsConfiguration()},e._loadClusterSystem=function(){this.clusterSession=0,this.hubThreshold=5,this._loadMixin(o)},e._loadSectorSystem=function(){this.sectors={},this.activeSector=["default"],this.sectors.active={},this.sectors.active["default"]={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.sectors.frozen={},this.sectors.support={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.nodeIndices=this.sectors.active["default"].nodeIndices,this._loadMixin(n)},e._loadSelectionSystem=function(){this.selectionObj={nodes:{},edges:{}},this._loadMixin(r)},e._loadManipulationSystem=function(){this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.constants.dataManipulation.enabled?(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="network-manipulationDiv",this.manipulationDiv.id="network-manipulationDiv",this.manipulationDiv.style.display=1==this.editMode?"block":"none",this.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="network-manipulation-editMode",this.editModeDiv.id="network-manipulation-editMode",this.editModeDiv.style.display=1==this.editMode?"none":"block",this.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="network-manipulation-closeDiv",this.closeDiv.id="network-manipulation-closeDiv",this.closeDiv.style.display=this.manipulationDiv.style.display,this.frame.appendChild(this.closeDiv)),this._loadMixin(a),this._createManipulatorBar()):void 0!==this.manipulationDiv&&(this._createManipulatorBar(),this.frame.removeChild(this.manipulationDiv),this.frame.removeChild(this.editModeDiv),this.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._clearMixin(a))},e._loadNavigationControls=function(){this._loadMixin(h),this._cleanNavigation(),1==this.constants.navigation.enabled&&this._loadNavigationElements()},e._loadHierarchySystem=function(){this._loadMixin(d)}},function(t,e,i){function s(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay,{prevent_default:!1}),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["touch","pinch","doubletap","hold","dragstart","drag","dragend","mousewheel","DOMMouseScroll"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.windowHammer=a(window,{prevent_default:!1}),this.windowHammer.on("tap",function(i){o(i.target,t)||e.deactivate()}),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=n(),this.escListener=this.deactivate.bind(this)}function o(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var n=i(54),r=i(53),a=i(45),h=i(1);r(s.prototype),s.current=null,s.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.windowHammer=null},s.prototype.activate=function(){s.current&&s.current.deactivate(),s.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener) -},s.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},s.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=s},function(t){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){var i,s,o;!function(n,r){s=[],i=r,o="function"==typeof i?i.apply(e,s):i,!(void 0!==o&&(t.exports=o))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s={keydown:{},keyup:{}},o={};for(e=97;122>=e;e++)o[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)o[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)o[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)o["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)o["num"+e]={code:96+e,shift:!1};o["num*"]={code:106,shift:!1},o["num+"]={code:107,shift:!1},o["num-"]={code:109,shift:!1},o["num/"]={code:111,shift:!1},o["num."]={code:110,shift:!1},o.left={code:37,shift:!1},o.up={code:38,shift:!1},o.right={code:39,shift:!1},o.down={code:40,shift:!1},o.space={code:32,shift:!1},o.enter={code:13,shift:!1},o.shift={code:16,shift:void 0},o.esc={code:27,shift:!1},o.backspace={code:8,shift:!1},o.tab={code:9,shift:!1},o.ctrl={code:17,shift:!1},o.alt={code:18,shift:!1},o["delete"]={code:46,shift:!1},o.pageup={code:33,shift:!1},o.pagedown={code:34,shift:!1},o["="]={code:187,shift:!1},o["-"]={code:189,shift:!1},o["]"]={code:221,shift:!1},o["["]={code:219,shift:!1};var n=function(t){a(t,"keydown")},r=function(t){a(t,"keyup")},a=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;n0)for(i in He)s=He[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function b(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&L(t[s])!==L(e[s]))&&r++;return r+n}function T(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=fi[t]||mi[e]||e}return t}function O(t){var e,i,s={};for(i in t)a(t,i)&&(e=T(i),e&&(s[e]=t[i]));return s}function k(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}De[t]=function(s,o){var r,a,h=De._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=De().utc().set(i,t);return h.call(De._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function L(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function N(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function I(t,e,i){return pe(De([t,11,31+e-i]),e,i).week}function A(t){return z(t)?366:365}function z(t){return t%4===0&&t%100!==0||t%400===0}function P(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[Ne]<0||t._a[Ne]>11?Ne:t._a[Ie]<1||t._a[Ie]>N(t._a[Le],t._a[Ne])?Ie:t._a[Ae]<0||t._a[Ae]>23?Ae:t._a[ze]<0||t._a[ze]>59?ze:t._a[Pe]<0||t._a[Pe]>59?Pe:t._a[Re]<0||t._a[Re]>999?Re:-1,t._pf._overflowDayOfYear&&(Le>e||e>Ie)&&(e=Ie),t._pf.overflow=e)}function R(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function F(t){return t?t.toLowerCase().replace("_","-"):t}function H(t){for(var e,i,s,o,n=0;n0;){if(s=Y(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function Y(t){var e=null;if(!Fe[t]&&Ye)try{e=De.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),De.locale(e)}catch(i){}return Fe[t]}function B(t,e){return e._isUTC?De(t).zone(e._offset||0):De(t).local()}function W(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function G(t){var e,i,s=t.match(je);for(e=0,i=s.length;i>e;e++)s[e]=_i[s[e]]?_i[s[e]]:W(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function j(t,e){return t.isValid()?(e=U(e,t.localeData()),gi[e]||(gi[e]=G(e)),gi[e](t)):t.localeData().invalidDate()}function U(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Ue.lastIndex=0;s>=0&&Ue.test(t);)t=t.replace(Ue,i),Ue.lastIndex=0,s-=1;return t}function V(t,e){var i,s=e._strict;switch(t){case"Q":return ii;case"DDDD":return oi;case"YYYY":case"GGGG":case"gggg":return s?ni:qe;case"Y":case"G":case"g":return ai;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?ri:Ze;case"S":if(s)return ii;case"SS":if(s)return si;case"SSS":if(s)return oi;case"DDD":return Xe;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Qe;case"a":case"A":return e._locale._meridiemParse;case"X":return ti;case"Z":case"ZZ":return $e;case"T":return Je;case"SSSS":return Ke;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?si:Ve;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Ve;case"Do":return ei;default:return i=new RegExp(ee(te(t.replace("\\","")),"i"))}}function X(t){t=t||"";var e=t.match($e)||[],i=e[e.length-1]||[],s=(i+"").match(pi)||["-",0,0],o=+(60*s[1])+L(s[2]);return"+"===s[0]?-o:o}function q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[Ne]=3*(L(e)-1));break;case"M":case"MM":null!=e&&(o[Ne]=L(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e),null!=s?o[Ne]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ie]=L(e));break;case"Do":null!=e&&(o[Ie]=L(parseInt(e,10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=L(e));break;case"YY":o[Le]=De.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[Le]=L(e);break;case"a":case"A":i._isPm=i._locale.isPM(e);break;case"H":case"HH":case"h":case"hh":o[Ae]=L(e);break;case"m":case"mm":o[ze]=L(e);break;case"s":case"ss":o[Pe]=L(e);break;case"S":case"SS":case"SSS":case"SSSS":o[Re]=L(1e3*("0."+e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=X(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=L(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=De.parseTwoDigitYear(e)}}function Z(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[Le],pe(De(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[Le],pe(De(),n,a).year),s=r(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),h=ue(i,s,o,a,n),t._a[Le]=h.year,t._dayOfYear=h.dayOfYear}function K(t){var e,i,s,o,n=[];if(!t._d){for(s=$(t),t._w&&null==t._a[Ie]&&null==t._a[Ne]&&Z(t),t._dayOfYear&&(o=r(t._a[Le],s[Le]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=he(o,0,t._dayOfYear),t._a[Ne]=i.getUTCMonth(),t._a[Ie]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];t._d=(t._useUTC?he:ae).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()+t._tzm)}}function Q(t){var e;t._d||(e=O(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],K(t))}function $(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function J(t){if(t._f===De.ISO_8601)return void se(t);t._a=[],t._pf.empty=!0;var e,i,s,o,n,r=""+t._i,a=r.length,h=0;for(s=U(t._f,t._locale).match(je)||[],e=0;e0&&t._pf.unusedInput.push(n),r=r.slice(r.indexOf(i)+i.length),h+=i.length),_i[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),q(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=a-h,r.length>0&&t._pf.unusedInput.push(r),t._isPm&&t._a[Ae]<12&&(t._a[Ae]+=12),t._isPm===!1&&12===t._a[Ae]&&(t._a[Ae]=0),K(t),P(t)}function te(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function ee(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ie(t){var e,i,s,o,n;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;on)&&(s=n,i=e));v(t,i||e)}function se(t){var e,i,s=t._i,o=hi.exec(s);if(o){for(t._pf.iso=!0,e=0,i=li.length;i>e;e++)if(li[e][1].exec(s)){t._f=li[e][0]+(o[6]||" ");break}for(e=0,i=ci.length;i>e;e++)if(ci[e][1].exec(s)){t._f+=ci[e][0];break}s.match($e)&&(t._f+="Z"),J(t)}else t._isValid=!1}function oe(t){se(t),t._isValid===!1&&(delete t._isValid,De.createFromInputFallback(t))}function ne(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function he(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function de(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function le(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ce(t,e,i){var s=De.duration(t).abs(),o=Oe(s.as("s")),n=Oe(s.as("m")),r=Oe(s.as("h")),a=Oe(s.as("d")),h=Oe(s.as("M")),d=Oe(s.as("y")),l=o0,l[4]=i,le.apply({},l)}function pe(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=De(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function ue(t,e,i,s,o){var n,r,a=he(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:A(t-1)+r}}function fe(t){var e=t._i,i=t._f;return t._locale=t._locale||De.localeData(t._l),null===e||i===n&&""===e?De.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),De.isMoment(e)?new m(e,!0):(i?M(i)?ie(t):J(t):re(t),new m(t)))}function me(t,e){var i,s;if(1===e.length&&M(e[0])&&(e=e[0]),!e.length)return De();for(i=e[0],s=1;s=0?"+":"-";return e+_(Math.abs(t),6)},gg:function(){return _(this.weekYear()%100,2)},gggg:function(){return _(this.weekYear(),4)},ggggg:function(){return _(this.weekYear(),5)},GG:function(){return _(this.isoWeekYear()%100,2)},GGGG:function(){return _(this.isoWeekYear(),4)},GGGGG:function(){return _(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return L(this.milliseconds()/100)},SS:function(){return _(L(this.milliseconds()/10),2)},SSS:function(){return _(this.milliseconds(),3)},SSSS:function(){return _(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(L(t/60),2)+":"+_(L(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(L(t/60),2)+_(L(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},xi={},wi=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];yi.length;)Ce=yi.pop(),_i[Ce+"o"]=u(_i[Ce],Ce);for(;bi.length;)Ce=bi.pop(),_i[Ce+Ce]=p(_i[Ce],2);_i.DDDD=p(_i.DDD,3),v(f.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,i,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(i=De.utc([2e3,e]),s="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=De([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var i=this._calendar[t];return"function"==typeof i?i.apply(e):i},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return pe(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),De=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._i=t,o._f=e,o._l=i,o._strict=s,o._isUTC=!1,o._pf=h(),fe(o)},De.suppressDeprecationWarnings=!1,De.createFromInputFallback=l("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i)}),De.min=function(){var t=[].slice.call(arguments,0);return me("isBefore",t)},De.max=function(){var t=[].slice.call(arguments,0);return me("isAfter",t)},De.utc=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=e,o._strict=s,o._pf=h(),fe(o).utc()},De.unix=function(t){return De(1e3*t)},De.duration=function(t,e){var i,s,o,n,r=t,h=null;return De.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=We.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:L(h[Ie])*i,h:L(h[Ae])*i,m:L(h[ze])*i,s:L(h[Pe])*i,ms:L(h[Re])*i}):(h=Ge.exec(t))?(i="-"===h[1]?-1:1,o=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},r={y:o(h[2]),M:o(h[3]),d:o(h[4]),h:o(h[5]),m:o(h[6]),s:o(h[7]),w:o(h[8])}):"object"==typeof r&&("from"in r||"to"in r)&&(n=w(De(r.from),De(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new g(r),De.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},De.version=Ee,De.defaultFormat=di,De.ISO_8601=function(){},De.momentProperties=He,De.updateOffset=function(){},De.relativeTimeThreshold=function(t,e){return vi[t]===n?!1:e===n?vi[t]:(vi[t]=e,!0)},De.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return De.locale(t,e)}),De.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?De.defineLocale(t,e):De.localeData(t),i&&(De.duration._locale=De._locale=i)),De._locale._abbr},De.defineLocale=function(t,e){return null!==e?(e.abbr=t,Fe[t]||(Fe[t]=new f),Fe[t].set(e),De.locale(t),Fe[t]):(delete Fe[t],null)},De.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return De.localeData(t)}),De.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return De._locale;if(!M(t)){if(e=Y(t))return e;t=[t]}return H(t)},De.isMoment=function(t){return t instanceof m||null!=t&&a(t,"_isAMomentObject")},De.isDuration=function(t){return t instanceof g};for(Ce=wi.length-1;Ce>=0;--Ce)k(wi[Ce]);De.normalizeUnits=function(t){return T(t)},De.invalid=function(t){var e=De.utc(0/0);return null!=t?v(e._pf,t):e._pf.userInvalidated=!0,e},De.parseZone=function(){return De.apply(null,arguments).parseZone()},De.parseTwoDigitYear=function(t){return L(t)+(L(t)>68?1900:2e3)},v(De.fn=m.prototype,{clone:function(){return De(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=De(this).utc();return 00:!1},parsingFlags:function(){return v({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.zone(0,t)},local:function(t){return this._isUTC&&(this.zone(0,t),this._isUTC=!1,t&&this.add(this._dateTzOffset(),"m")),this},format:function(t){var e=j(this,t||De.defaultFormat);return this.localeData().postformat(e)},add:S(1,"add"),subtract:S(-1,"subtract"),diff:function(t,e,i){var s,o,n,r=B(t,this),a=6e4*(this.zone()-r.zone());return e=T(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+r.daysInMonth()),o=12*(this.year()-r.year())+(this.month()-r.month()),n=this-De(this).startOf("month")-(r-De(r).startOf("month")),n-=6e4*(this.zone()-De(this).startOf("month").zone()-(r.zone()-De(r).startOf("month").zone())),o+=n/s,"year"===e&&(o/=12)):(s=this-r,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-a)/864e5:"week"===e?(s-a)/6048e5:s),i?o:b(o)},from:function(t,e){return De.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(De(),t)},calendar:function(t){var e=t||De(),i=B(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this))},isLeapYear:function(){return z(this.year())},isDST:function(){return this.zone()+t):+this.clone().startOf(e)>+De(t).startOf(e)},isBefore:function(t,e){return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+t>+this):+this.clone().startOf(e)<+De(t).startOf(e)},isSame:function(t,e){return e=T(e||"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+this===+t):+this.clone().startOf(e)===+B(t,this).startOf(e)},min:l("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),this>t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),t>this?this:t}),zone:function(t,e){var i,s=this._offset||0;return null==t?this._isUTC?s:this._dateTzOffset():("string"==typeof t&&(t=X(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateTzOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.subtract(i,"m"),s!==t&&(!e||this._changeInProgress?D(this,De.duration(s-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,De.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(t){return t=t?De(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return N(this.year(),this.month())},dayOfYear:function(t){var e=Oe((De(this).startOf("day")-De(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=pe(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=pe(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=pe(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return I(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return I(this.year(),t.dow,t.doy) -},get:function(t){return t=T(t),this[t]()},set:function(t,e){return t=T(t),"function"==typeof this[t]&&this[t](e),this},locale:function(t){var e;return t===n?this._locale._abbr:(e=De.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Use moment().localeData() instead.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),De.fn.millisecond=De.fn.milliseconds=be("Milliseconds",!1),De.fn.second=De.fn.seconds=be("Seconds",!1),De.fn.minute=De.fn.minutes=be("Minutes",!1),De.fn.hour=De.fn.hours=be("Hours",!0),De.fn.date=be("Date",!0),De.fn.dates=l("dates accessor is deprecated. Use date instead.",be("Date",!0)),De.fn.year=be("FullYear",!0),De.fn.years=l("years accessor is deprecated. Use year instead.",be("FullYear",!0)),De.fn.days=De.fn.day,De.fn.months=De.fn.month,De.fn.weeks=De.fn.week,De.fn.isoWeeks=De.fn.isoWeek,De.fn.quarters=De.fn.quarter,De.fn.toJSON=De.fn.toISOString,v(De.duration.fn=g.prototype,{_bubble:function(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;r.milliseconds=s%1e3,t=b(s/1e3),r.seconds=t%60,e=b(t/60),r.minutes=e%60,i=b(e/60),r.hours=i%24,o+=b(i/24),a=b(_e(o)),o-=b(xe(a)),n+=b(o/30),o%=30,a+=b(n/12),n%=12,r.days=o,r.months=n,r.years=a},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return b(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12)},humanize:function(t){var e=ce(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=De.duration(t,e);return this._milliseconds+=i._milliseconds,this._days+=i._days,this._months+=i._months,this._bubble(),this},subtract:function(t,e){var i=De.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=T(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=T(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*_e(e),"month"===t?i:i/12;switch(e=this._days+xe(this._months/12),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t)}},lang:De.fn.lang,locale:De.fn.locale,toIsoString:l("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),i=Math.abs(this.days()),s=Math.abs(this.hours()),o=Math.abs(this.minutes()),n=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"},localeData:function(){return this._locale}}),De.duration.fn.toString=De.duration.fn.toISOString;for(Ce in ui)a(ui,Ce)&&we(Ce.toLowerCase());De.duration.fn.asMilliseconds=function(){return this.as("ms")},De.duration.fn.asSeconds=function(){return this.as("s")},De.duration.fn.asMinutes=function(){return this.as("m")},De.duration.fn.asHours=function(){return this.as("h")},De.duration.fn.asDays=function(){return this.as("d")},De.duration.fn.asWeeks=function(){return this.as("weeks")},De.duration.fn.asMonths=function(){return this.as("M")},De.duration.fn.asYears=function(){return this.as("y")},De.locale("en",{ordinal:function(t){var e=t%10,i=1===L(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),Ye?o.exports=De:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(Te.moment=Me),De}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(68)(t))},function(t,e,i){var s;!function(o,n){"use strict";function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){D.register(t)}),w.onTouch(a.DOCUMENT,v,D.detect),w.onTouch(a.DOCUMENT,y,D.detect),a.READY=!0)}var a=function M(t,e){return new M.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",f=a.POINTER_TOUCH="touch",m=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(D,d),a&&(d.changedLength=h,d.eventType=a,s.call(D,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(D,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return S.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=f;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(m,s)&&(o=m),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return D.stopDetect()}}}},S=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[f]=i===(e.MSPOINTER_TYPE_TOUCH||f),s[m]=i===(e.MSPOINTER_TYPE_PEN||m),s[t]},reset:function(){this.pointers={}}},D=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?D.startDetect(i,t):t.eventType==_&&D.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=D.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=D.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=D.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=D.current,h=D.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),this.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e)for(c=0;l>c;c++)if(p=this.edges[d[c]],void 0!==p){var u=this.nodes[p.fromId==t.id?p.toId:p.fromId];u.dynamicEdges.length<=this.hubThreshold+s&&u.id!=t.id&&this._addToCluster(t,u,e)}}},e._addToCluster=function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdgesLength),t+=n.dynamicEdgesLength,e+=Math.pow(n.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(40);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(40),n=i(37);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=document.getElementById("network-manipulationDiv"),e=document.getElementById("network-manipulation-closeDiv"),i=document.getElementById("network-manipulation-editMode");1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDiv.innerHTML=""+t.addNode+"
"+t.addEdge+"",1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDiv.innerHTML+="
"+t.editNode+"":1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDiv.innerHTML+="
"+t.editEdge+""),0==this._selectionIsEmpty()&&(this.manipulationDiv.innerHTML+="
"+t.del+"");var e=document.getElementById("network-manipulate-addNode");e.onclick=this._createAddNodeToolbar.bind(this);var i=document.getElementById("network-manipulate-connectNode");if(i.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit){var s=document.getElementById("network-manipulate-editNode");s.onclick=this._editNode.bind(this)}else if(1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()){var s=document.getElementById("network-manipulate-editEdge");s.onclick=this._createEditEdgeToolbar.bind(this)}if(0==this._selectionIsEmpty()){var o=document.getElementById("network-manipulate-delete");o.onclick=this._deleteSelected.bind(this)}var n=document.getElementById("network-manipulation-closeDiv");n.onclick=this._toggleEditMode.bind(this),this.boundFunction=this._createManipulatorBar.bind(this),this.on("select",this.boundFunction)}else{this.editModeDiv.innerHTML=""+t.edit+"";var r=document.getElementById("network-manipulate-editModeButton");r.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.addDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._addNode.bind(this),this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0;var t=this.constants.locales[this.constants.locale];this.boundFunction&&this.off("select",this.boundFunction),this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDiv.innerHTML=""+t.back+"
"+t.edgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._handleConnect.bind(this),this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleDragStart=function(){},this._handleDragEnd=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.editEdgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._manipulationReleaseOverload=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulation=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!=e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulation=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge;i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(!(this.triggerFunctions.del.length=2))throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(45));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t0){"RL"==this.constants.hierarchicalLayout.direction||"DU"==this.constants.hierarchicalLayout.direction?this.constants.hierarchicalLayout.levelSeparation*=-1:this.constants.hierarchicalLayout.levelSeparation=Math.abs(this.constants.hierarchicalLayout.levelSeparation),"RL"==this.constants.hierarchicalLayout.direction||"LR"==this.constants.hierarchicalLayout.direction?1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="vertical"):1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="horizontal");var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s=0;s1&&o.hierarchyEnumerated===!1&&this._setLevelDirected(o.level,o.edges,o.id)}},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");t.style.background=1==this.constants.smoothCurves.enabled?"#A4FF56":"#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=64},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,f=4/3,m=this.constants.physics.repulsion.nodeDistance,g=m;for(d=0;di&&(r=.5*g>i?1:v*i+f,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=i,s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.theta){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),f=.5*u,m=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:g-f,maxY:g+f},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},e._placeInRegion=function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},e._splitBranch=function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(31),BackgroundItem:i(32),BoxItem:i(33),PointItem:i(34),RangeItem:i(35)},Component:i(20),CurrentTime:i(21),CustomTime:i(22),DataAxis:i(23),GraphGroup:i(24),Group:i(25),BackgroundGroup:i(26),ItemSet:i(27),Legend:i(28),LineGraph:i(29),TimeAxis:i(30)}},e.Network=i(36),e.network={Edge:i(37),Groups:i(38),Images:i(39),Node:i(40),Popup:i(41),dotparser:i(42),gephiParser:i(43)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(44),e.hammer=i(45)},function(module,exports,__webpack_require__){var moment=__webpack_require__(44);exports.isNumber=function(t){return t instanceof Number||"number"==typeof t},exports.isString=function(t){return t instanceof String||"string"==typeof t},exports.isDate=function(t){if(t instanceof Date)return!0;if(exports.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},exports.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},exports.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},exports.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},exports.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;ii;i++)if(t[i]!=e[i])return!1;return!0},exports.convert=function(t,e){var i;if(void 0===t)return void 0;if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(moment.isMoment(t))return new Date(t.valueOf());if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])):moment(t).toDate();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"Moment":if(exports.isNumber(t))return moment(t);if(t instanceof Date)return moment(t.valueOf());if(moment.isMoment(t))return moment(t);if(exports.isString(t))return i=ASPDateRegex.exec(t),moment(i?Number(i[1]):t);throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"ISODate":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(moment.isMoment(t))return t.toDate().toISOString();if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ISODate");case"ASPDate":if(exports.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(exports.isString(t)){i=ASPDateRegex.exec(t);var s;return s=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+e+'"')}};var ASPDateRegex=/^\/?Date\((\-?\d+)/i;exports.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},exports.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},exports.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},exports.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},exports.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},exports.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},exports.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},exports.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},exports.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},exports.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},exports.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},exports.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},exports.option={},exports.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},exports.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},exports.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},exports.option.asSize=function(t,e){return"function"==typeof t&&(t=t()),exports.isString(t)?t:exports.isNumber(t)?t+"px":e||null},exports.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},exports.GiveDec=function(Hex){var Value;return Value="A"==Hex?10:"B"==Hex?11:"C"==Hex?12:"D"==Hex?13:"E"==Hex?14:"F"==Hex?15:eval(Hex)},exports.GiveHex=function(t){var e;return e=10==t?"A":11==t?"B":12==t?"C":13==t?"D":14==t?"E":15==t?"F":""+t},exports.parseColor=function(t){var e;if(exports.isString(t)){if(exports.isValidRGB(t)){var i=t.substr(4).substr(0,t.length-5).split(",");t=exports.RGBToHex(i[0],i[1],i[2])}if(exports.isValidHex(t)){var s=exports.hexToHSV(t),o={h:s.h,s:.45*s.s,v:Math.min(1,1.05*s.v)},n={h:s.h,s:Math.min(1,1.25*s.v),v:.6*s.v},r=exports.HSVToHex(n.h,n.h,n.v),a=exports.HSVToHex(o.h,o.s,o.v);e={background:t,border:r,highlight:{background:a,border:r},hover:{background:a,border:r}}}else e={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else e={},e.background=t.background||"white",e.border=t.border||e.background,exports.isString(t.highlight)?e.highlight={border:t.highlight,background:t.highlight}:(e.highlight={},e.highlight.background=t.highlight&&t.highlight.background||e.background,e.highlight.border=t.highlight&&t.highlight.border||e.border),exports.isString(t.hover)?e.hover={border:t.hover,background:t.hover}:(e.hover={},e.hover.background=t.hover&&t.hover.background||e.background,e.hover.border=t.hover&&t.hover.border||e.border);return e},exports.hexToRGB=function(t){t=t.replace("#","").toUpperCase();var e=exports.GiveDec(t.substring(0,1)),i=exports.GiveDec(t.substring(1,2)),s=exports.GiveDec(t.substring(2,3)),o=exports.GiveDec(t.substring(3,4)),n=exports.GiveDec(t.substring(4,5)),r=exports.GiveDec(t.substring(5,6)),a=16*e+i,h=16*s+o,i=16*n+r;return{r:a,g:h,b:i}},exports.RGBToHex=function(t,e,i){var s=exports.GiveHex(Math.floor(t/16)),o=exports.GiveHex(t%16),n=exports.GiveHex(Math.floor(e/16)),r=exports.GiveHex(e%16),a=exports.GiveHex(Math.floor(i/16)),h=exports.GiveHex(i%16),d=s+o+n+r+a+h;return"#"+d},exports.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var cssUtil={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};exports.addCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e),o=exports.extend(i,s);t.style.cssText=cssUtil.join(o)},exports.removeCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=cssUtil.join(i)},exports.HSVToRGB=function(t,e,i){var s,o,n,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},exports.HSVToHex=function(t,e,i){var s=exports.HSVToRGB(t,e,i);return exports.RGBToHex(s.r,s.g,s.b)},exports.hexToHSV=function(t){var e=exports.hexToRGB(t);return exports.RGBToHSV(e.r,e.g,e.b)},exports.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},exports.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},exports.selectiveBridgeObject=function(t,e){if("object"==typeof e){for(var i=Object.create(e),s=0;s=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===s?d[i]:d[i][s],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,n++}return-1},exports.binarySearchValue=function(t,e,i,s){for(var o,n,r,a,h=1e4,d=0,l=0,c=t.length-1;c>=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},exports.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},exports.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&r.setAttributeNS(null,"style",s.group.options.drawPoints.styles),r.setAttributeNS(null,"class",s.className+" point"),r},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var o=i(1),n=i(5);s.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=n.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var m=h[p];c[m]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var m={},f=0,g=c.length;g>f;f++){var v=c[f];m[v]=t.getValue(p,f)}h(m)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,m=i&&i.filter,f=[];if(void 0!=t)d=n._getItem(t,u),m&&!m(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!m||m(d))&&f.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!m||m(d))&&f.push(d));if(i&&i.order&&void 0==t&&this._sort(f,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=f.length;p>c;c++)f[c]=this._filterFields(f[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(f[c]);return s}return f},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.get=function(){var t,e,i,s=this,n=o.getType(arguments[0]);"String"==n||"Number"==n||"Array"==n?(t=arguments[0],e=arguments[1],i=arguments[2]):(e=arguments[0],i=arguments[1]);var r=o.extend({},this._options,e);this._options.filter&&e&&e.filter&&(r.filter=function(t){return s._options.filter(t)&&e.filter(t)});var a=[];return void 0!=t&&a.push(t),a.push(r),a.push(i),this._data&&this._data.get.apply(this._data,a)},s.prototype.getIds=function(t){var e;if(this._data){var i,s=this._options.filter;i=t&&t.filter?s?function(e){return s(e)&&t.filter(e)}:t.filter:s,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},s.prototype.getDataSet=function(){for(var t=this;t instanceof s;)t=t._data;return t||null},s.prototype._onEvent=function(t,e,i){var s,o,n,r,a=e&&e.items,h=this._data,d=[],l=[],c=[];if(a&&h){switch(t){case"add":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t){function e(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}e.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},e.extend=function(t,i){var s=new e(i);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){s.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},e.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new l,this.eye=new h(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}var o=i(56),n=i(3),r=i(4),a=i(1),h=i(10),d=i(9),l=i(7),c=i(8),p=i(11),u=i(12);o(s.prototype),s.prototype._setScale=function(){this.scale=new h(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var f=(t-p)/(m-p),g=240*f,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new u(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new h(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new u(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new h(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new u(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new h(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new h(n,r,this.zMin)),e=this._convert3Dto2D(new h(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),m=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(m.x,m.y),g.stroke(),p=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),m=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(m.x,m.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var S=this.yLabel;S.length>0&&(l=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-l:this.xMax+l,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(S,o.x,o.y));var D=this.zLabel;D.length>0&&(d=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new h(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(D,o.x-d,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,d,l,c,p,u,m,f=this.frame.canvas,g=f.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/D/2,1),a=this._hsv2rgb(c,p,u),d=a):(u=1,a=this._hsv2rgb(c,p,u),d=this.colorAxis)):(a="gray",d=this.colorAxis),l=.5,g.lineWidth=l,g.fillStyle=a,g.strokeStyle=d,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,m,f;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(m=this.colorDot,f=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=f,i.fillStyle=m,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=getMouseX(t),this.startMouseY=getMouseY(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},a.addEventListener(document,"mousemove",e.onmousemove),a.addEventListener(document,"mouseup",e.onmouseup),a.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(getMouseX(t))-this.startMouseX,i=parseFloat(getMouseY(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,o=this.startArmRotation.vertical+i/200,n=4,r=Math.sin(n/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new d(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var l=n.surfaces;if(l)for(var c=l.length-1;c>=0;c--){var p=l[c],u=p.corners,m=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,m)||this._insideTriangle(h,f))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},getMouseX=function(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0},getMouseY=function(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0},t.exports=s},function(t,e,i){var s=i(10);Camera=function(){this.armLocation=new s,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new s,this.cameraRotation=new s(.5*Math.PI,0,0),this.calculateCameraOrientation()},Camera.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},Camera.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},Camera.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},Camera.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},Camera.prototype.getArmLength=function(){return this.armLength},Camera.prototype.getCameraLocation=function(){return this.cameraLocation},Camera.prototype.getCameraRotation=function(){return this.cameraRotation},Camera.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=Camera},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column +},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(30),l=i(21),c=i(22),p=i(27);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(30),l=i(21),c=i(22),p=i(29);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t){function e(t,e,i,s,o){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.setRange(t,e,i,s,o)}e.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},e.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(t){var e=""+Number(this.current).toPrecision(5);if(void 0===t||isNaN(Number(t))){if(-1!=e.indexOf(",")||-1!=e.indexOf("."))for(var i=e.length-1;i>0;i--){if("0"!=e[i]){if("."==e[i]||","==e[i]){e=e.slice(0,i);break}break}e=e.slice(0,i)}}else{var s="",o=e.indexOf("e");if(-1!=o&&(s=e.slice(o),e=e.slice(0,o)),o=Math.max(e.indexOf(","),e.indexOf(".")),-1===o?(0!==t&&(e+="."),o=e.length+t):0!==t&&(o+=t+1),o>e.length)for(var n=o-e.length;n>0;n--)e+="0";else e=e.slice(0,o);e+=s}return e},e.prototype.snap=function(){},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(20),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i){function s(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,f=i||null===o?o:r.easeInOutQuad(e,h,o,c),g=i||null===n?n:r.easeInOutQuad(e,d,n,c);m=a._applyRange(f,g),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||m,m&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end)}):a.animateTimer=setTimeout(s,20)}}var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1;return s()}var m=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),m){var f={start:new Date(this.start),end:new Date(this.end)};this.body.emitter.emit("rangechange",f),this.body.emitter.emit("rangechanged",f)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h?(s=this.start,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return s>=this.start&&s<=this.start||o>=this.start&&o<=this.end||this.start>=s&&this.start<=o||this.end>=s&&this.end<=o||this.body.emitter.emit("checkRangedItems"),this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end)})}},s.prototype._onDragEnd=function(){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end)}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.start-(i-o))*e,h=i+r+(this.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale=s.SCALE.DAY,this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[])}var o=i(44),n=i(15);s.SCALE={MILLISECOND:1,SECOND:2,MINUTE:3,HOUR:4,DAY:5,WEEKDAY:6,MONTH:7,YEAR:8},s.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case s.SCALE.YEAR:this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case s.SCALE.MONTH:this.current.setDate(1);case s.SCALE.DAY:case s.SCALE.WEEKDAY:this.current.setHours(0);case s.SCALE.HOUR:this.current.setMinutes(0);case s.SCALE.MINUTE:this.current.setSeconds(0);case s.SCALE.SECOND:this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1); +break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current=new Date(this.current.valueOf()+1e3*this.step);break;case s.SCALE.MINUTE:this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case s.SCALE.HOUR:this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()+this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()+this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()+this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.getMilliseconds()0&&(this.step=e),this.autoScale=!1},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,r=6e4,a=1e3,h=1;1e3*e>t&&(this.scale=s.SCALE.YEAR,this.step=1e3),500*e>t&&(this.scale=s.SCALE.YEAR,this.step=500),100*e>t&&(this.scale=s.SCALE.YEAR,this.step=100),50*e>t&&(this.scale=s.SCALE.YEAR,this.step=50),10*e>t&&(this.scale=s.SCALE.YEAR,this.step=10),5*e>t&&(this.scale=s.SCALE.YEAR,this.step=5),e>t&&(this.scale=s.SCALE.YEAR,this.step=1),3*i>t&&(this.scale=s.SCALE.MONTH,this.step=3),i>t&&(this.scale=s.SCALE.MONTH,this.step=1),5*o>t&&(this.scale=s.SCALE.DAY,this.step=5),2*o>t&&(this.scale=s.SCALE.DAY,this.step=2),o>t&&(this.scale=s.SCALE.DAY,this.step=1),o/2>t&&(this.scale=s.SCALE.WEEKDAY,this.step=1),4*n>t&&(this.scale=s.SCALE.HOUR,this.step=4),n>t&&(this.scale=s.SCALE.HOUR,this.step=1),15*r>t&&(this.scale=s.SCALE.MINUTE,this.step=15),10*r>t&&(this.scale=s.SCALE.MINUTE,this.step=10),5*r>t&&(this.scale=s.SCALE.MINUTE,this.step=5),r>t&&(this.scale=s.SCALE.MINUTE,this.step=1),15*a>t&&(this.scale=s.SCALE.SECOND,this.step=15),10*a>t&&(this.scale=s.SCALE.SECOND,this.step=10),5*a>t&&(this.scale=s.SCALE.SECOND,this.step=5),a>t&&(this.scale=s.SCALE.SECOND,this.step=1),200*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=200),100*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=100),50*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=50),10*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=10),5*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=5),h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=1)}},s.prototype.snap=function(t){var e=new Date(t.valueOf());if(this.scale==s.SCALE.YEAR){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MONTH)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if(this.scale==s.SCALE.DAY){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.WEEKDAY){switch(this.step){case 5:case 2:e.setHours(12*Math.round(e.getHours()/12));break;default:e.setHours(6*Math.round(e.getHours()/6))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.HOUR){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MINUTE){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if(this.scale==s.SCALE.SECOND)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if(this.scale==s.SCALE.MILLISECOND){var o=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/o)*o)}return e},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case s.SCALE.YEAR:case s.SCALE.MONTH:case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case s.SCALE.MILLISECOND:case s.SCALE.SECOND:case s.SCALE.MINUTE:case s.SCALE.HOUR:return!0;default:return!1}switch(this.scale){case s.SCALE.MILLISECOND:return 0==this.current.getMilliseconds();case s.SCALE.SECOND:return 0==this.current.getSeconds();case s.SCALE.MINUTE:return 0==this.current.getHours()&&0==this.current.getMinutes();case s.SCALE.HOUR:return 0==this.current.getHours();case s.SCALE.WEEKDAY:case s.SCALE.DAY:return 1==this.current.getDate();case s.SCALE.MONTH:return 0==this.current.getMonth();case s.SCALE.YEAR:return!1;default:return!1}},s.prototype.getLabelMinor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("SSS");case s.SCALE.SECOND:return o(t).format("s");case s.SCALE.MINUTE:return o(t).format("HH:mm");case s.SCALE.HOUR:return o(t).format("HH:mm");case s.SCALE.WEEKDAY:return o(t).format("ddd D");case s.SCALE.DAY:return o(t).format("D");case s.SCALE.MONTH:return o(t).format("MMM");case s.SCALE.YEAR:return o(t).format("YYYY");default:return""}},s.prototype.getLabelMajor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("HH:mm:ss");case s.SCALE.SECOND:return o(t).format("D MMMM HH:mm");case s.SCALE.MINUTE:case s.SCALE.HOUR:return o(t).format("ddd D MMMM");case s.SCALE.WEEKDAY:case s.SCALE.DAY:return o(t).format("MMMM YYYY");case s.SCALE.MONTH:return o(t).format("YYYY");case s.SCALE.YEAR:return"";default:return""}},t.exports=s},function(t){function e(){this.options=null,this.props=null}e.prototype.setOptions=function(t){t&&util.extend(this.options,t)},e.prototype.redraw=function(){return!1},e.prototype.destroy=function(){},e.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=e},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(20),r=i(44),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(20),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.stepPixels=25,this.stepPixelsForced=25,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(20),a=i(16);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px"):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px"),t=this._redrawLabels(),1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n)}return t},s.prototype._redrawLabels=function(){n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var t=this.options.orientation,e=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,i=new a(this.range.start,this.range.end,e,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation]);this.step=i;var s=(this.dom.frame.offsetHeight-i.deadSpace*(this.dom.frame.offsetHeight/i.marginRange))/((i.marginRange-i.deadSpace)/i.step);this.stepPixels=s;var o=this.height/s,r=0;if(0==this.master){s=this.stepPixelsForced,r=Math.round(this.dom.frame.offsetHeight/s-o);for(var h=0;.5*r>h;h++)i.previous();o=this.height/s}else o+=.25;this.valueAtZero=i.marginEnd;var d,l=0,c=1;void 0!==this.options.format[t]&&(d=this.options.format[t].decimals),this.maxLabelSize=0;for(var p=0;c=0&&this._redrawLabel(p-2,i.getCurrent(d),t,"yAxis major",this.props.majorCharHeight),this._redrawLine(p,t,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(p,t,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),c++}this.conversionFactor=0==this.master?p/(this.valueAtZero-i.current):this.dom.frame.offsetHeight/i.marginRange;var m=0;void 0!==this.options.title[t]&&void 0!==this.options.title[t].text&&(m=this.props.titleCharHeight);var f=1==this.options.icons?Math.max(this.options.iconWidth,m)+this.options.labelOffsetX+15:m+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-f&&1==this.options.visible?(this.width=this.maxLabelSize+f,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+f),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),!1)},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(n=0;nl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,n=0;nl})}for(n=0;n=0&&(n=e[r],!o(n));r--)void 0===s[n.id]&&(s[n.id]=!0,i.push(n));for(r=t+1;rs;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(3),a=i(4),h=i(20),d=i(25),l=i(26),c=i(33),p=i(34),u=i(35),m=i(32),f="__ungrouped__",g="__background__";s.prototype=new h,s.types={background:m,box:c,range:u,point:p},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new l(g,null,this);r.show(),this.groups[g]=r,this.hammer=o(this.body.dom.centerContainer,{prevent_default:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","padding","stack","selectable","groupOrder","dataAttributes","template","hide"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(){this.groupIds=[],this.stackDirty=!0},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},f=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,v),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==o?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[f];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[f];this.groups[g]}if(this.groupsData){if(i){i.hide(),delete this.groups[f];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new d(n,r,this),this.groups[f]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:f},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==f||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new d(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:this.getSelection()})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.body.util.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l={start:i?i(d):d,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(h+this.props.width/5);l.end=i?i(c):c}l[this.itemsData._fieldId]=n.randomUUID();var p=s.groupFromTarget(t);p&&(l.group=p.groupId),this.options.onAdd(l,function(t){t&&e.itemsData.add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=e.indexOf(i.id);-1==o?e.push(i.id):e.splice(o,1),this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.groupFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-group"))return e["timeline-group"];e=e.parentNode}return null},s.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null},t.exports=s},function(t,e,i){function s(t,e,i,s){this.body=t,this.defaultOptions={enabled:!0,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-left"}},this.side=i,this.options=o.extend({},this.defaultOptions),this.linegraphOptions=s,this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.setOptions(e)}var o=i(1),n=i(2),r=i(20);s.prototype=new r,s.prototype.clear=function(){this.groups={},this.amountOfGroups=0},s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.className="legend",this.dom.frame.style.position="absolute",this.dom.frame.style.top="10px",this.dom.frame.style.display="block",this.dom.textArea=document.createElement("div"),this.dom.textArea.className="legendText",this.dom.textArea.style.position="relative",this.dom.textArea.style.top="0px",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.width=this.options.iconSize+5+"px",this.svg.style.height="100%",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setOptions=function(t){var e=["enabled","orientation","icons","left","right"];o.selectiveDeepExtend(e,this.options,t)},s.prototype.redraw=function(){var t=0;for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||t++);if(0==this.options[this.side].visible||0==this.amountOfGroups||0==this.options.enabled||0==t)this.hide();else{if(this.show(),"top-left"==this.options[this.side].position||"bottom-left"==this.options[this.side].position?(this.dom.frame.style.left="4px",this.dom.frame.style.textAlign="left",this.dom.textArea.style.textAlign="left",this.dom.textArea.style.left=this.options.iconSize+15+"px",this.dom.textArea.style.right="",this.svg.style.left="0px",this.svg.style.right=""):(this.dom.frame.style.right="4px",this.dom.frame.style.textAlign="right",this.dom.textArea.style.textAlign="right",this.dom.textArea.style.right=this.options.iconSize+15+"px",this.dom.textArea.style.left="",this.svg.style.right="0px",this.svg.style.left=""),"top-left"==this.options[this.side].position||"top-right"==this.options[this.side].position)this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.bottom="";else{var i=this.body.domProps.center.height-this.body.domProps.centerContainer.height;this.dom.frame.style.bottom=4+i+Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.top=""}0==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+"px",this.dom.textArea.style.right="",this.dom.textArea.style.left="",this.svg.style.width="0px"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+"px",this.drawLegendIcons());var s="";for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||(s+=this.groups[e].content+"
"));this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.autoSizeSVG=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.width),i._updateGraph.apply(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(20),d=i(23),l=i(24),c=i(28),p=i(52),u="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?this.autoSizeSVG=!0:void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),this._applySampling(a,c),e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a=[],h=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&(e.hide(),i=!0):e.dom.frame.parentNode||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;nc;){c++;var p=h.getCurrent(),u=this.body.util.toScreen(p),m=h.isMajor();this.options.showMinorLabels&&this._repaintMinorText(u,h.getLabelMinor(),t),m&&this.options.showMajorLabels?(u>0&&(void 0==l&&(l=u),this._repaintMajorText(u,h.getLabelMajor(),t)),this._repaintMajorLine(u,t)):this._repaintMinorLine(u,t),h.next()}if(this.options.showMajorLabels){var f=this.body.util.toTime(0),g=h.getLabelMajor(f),v=g.length*(this.props.majorCharWidth||10)+10;(void 0==l||l>v)&&this._repaintMajorText(0,g,t)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i){var s=this.dom.redundant.minorTexts.shift();if(!s){var o=document.createTextNode("");s=document.createElement("div"),s.appendChild(o),s.className="text minor",this.dom.foreground.appendChild(s)}this.dom.minorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?this.props.majorLabelHeight+"px":"0",s.style.left=t+"px"},s.prototype._repaintMajorText=function(t,e,i){var s=this.dom.redundant.majorTexts.shift();if(!s){var o=document.createTextNode(e);s=document.createElement("div"),s.className="text major",s.appendChild(o),this.dom.foreground.appendChild(s)}this.dom.majorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?"0":this.props.minorLabelHeight+"px",s.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e){var i=this.dom.redundant.minorLines.shift();i||(i=document.createElement("div"),i.className="grid vertical minor",this.dom.background.appendChild(i)),this.dom.minorLines.push(i);var s=this.props;i.style.top="top"==e?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",i.style.height=s.minorLineHeight+"px",i.style.left=t-s.minorLineWidth/2+"px"},s.prototype._repaintMajorLine=function(t,e){var i=this.dom.redundant.majorLines.shift();i||(i=document.createElement("DIV"),i.className="grid vertical major",this.dom.background.appendChild(i)),this.dom.majorLines.push(i);var s=this.props;i.style.top="top"==e?"0":this.body.domProps.top.height+"px",i.style.left=t-s.majorLineWidth/2+"px",i.style.height=s.majorLineHeight+"px"},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},s.prototype.snap=function(t){return this.step.snap(t)},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(45),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;if(e!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(31);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?Math.max(-s,0):0>s?Math.min(-s,o-s-this.props.content.width-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=.5*this.renderTimestep,this.maxPhysicsTicksPerRender=3,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null},this.defaultOptions={nodes:{mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},borderColor:"#2B7CE9",backgroundColor:"#97C2FC",highlightColor:"#D2E5FF",group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,theta:1/.6,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02}},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},dynamicSmoothCurves:!0,maxVelocity:30,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0},this.constants=a.extend({},this.defaultOptions),this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],"new":[]},this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null;var o=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){o._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulation=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){o._addNodes(e.items),o.start()},update:function(t,e){o._updateNodes(e.items,e.data),o.start()},remove:function(t,e){o._removeNodes(e.items),o.start()}},this.edgesListeners={add:function(t,e){o._addEdges(e.items),o.start()},update:function(t,e){o._updateEdges(e.items),o.start()},remove:function(t,e){o._removeEdges(e.items),o.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent(void 0,!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(56),n=i(45),r=i(57),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),m=i(39),f=i(40),g=i(37),v=i(41),y=i(54),b=i(55),_=i(49);i(50),o(s.prototype),s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;et.x&&(s=t.x),ot.y&&(e=t.y),i=this.constants.clustering.initialMaxNodes?49.07548/(n+142.05338)+91444e-8:12.662/(n+7.4147)+.0964822:1==this.constants.clustering.enabled&&n>=this.constants.clustering.initialMaxNodes?77.5271985/(n+187.266146)+476710517e-13:30.5062972/(n+19.93597763)+.08413486;var r=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);s*=r}else{var a=1.1*Math.abs(o.maxX-o.minX),h=1.1*Math.abs(o.maxY-o.minY),d=this.frame.canvas.clientWidth/a,l=this.frame.canvas.clientHeight/h;s=l>=d?d:l}s>1&&(s=1);var c=this._findCenter(o);if(0==i){var p={position:c,scale:s,animation:t};this.moveTo(p),this.moving=!0,this.start()}else c.x*=s,c.y*=s,c.x-=.5*this.frame.canvas.clientWidth,c.y-=.5*this.frame.canvas.clientHeight,this._setScale(s),this._setTranslation(-c.x,-c.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this.initializing=!0,t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover))),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color); +this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.')}this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._createKeyBinds(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,this.start()},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),!this.frame.canvas.getContext){var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}var e=this;this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",e._onTap.bind(e)),this.hammer.on("doubletap",e._onDoubleTap.bind(e)),this.hammer.on("hold",e._onHold.bind(e)),this.hammer.on("pinch",e._onPinch.bind(e)),this.hammer.on("touch",e._onTouch.bind(e)),this.hammer.on("dragstart",e._onDragStart.bind(e)),this.hammer.on("drag",e._onDrag.bind(e)),this.hammer.on("dragend",e._onDragEnd.bind(e)),this.hammer.on("mousewheel",e._onMouseWheel.bind(e)),this.hammer.on("DOMMouseScroll",e._onMouseWheel.bind(e)),this.hammer.on("mousemove",e._onMouseMoveTitle.bind(e)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",e._onRelease.bind(e)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=r(),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this._handleTouch(this.drag.pointer)},s.prototype._onDragStart=function(){this._handleDragStart()},s.prototype._handleDragStart=function(){var t=this.drag,e=this._getNodeAt(t.pointer);if(t.dragging=!0,t.selection=[],t.translation=this._getTranslation(),t.nodeId=null,null!=e&&1==this.constants.dragNodes){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,t.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i);var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof f&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj;if(void 0==this.popupObj){var o=this.nodes;for(e in o)if(o.hasOwnProperty(e)){var n=o[e];if(void 0!==n.getTitle()&&n.isOverlappingWith(i)){this.popupObj=n;break}}}if(void 0===this.popupObj){var r=this.edges;for(e in r)if(r.hasOwnProperty(e)){var a=r[e];if(a.connected&&void 0!==a.getTitle()&&a.isOverlappingWith(i)){this.popupObj=a;break}}}if(this.popupObj){if(this.popupObj!=s){var h=this;h.popup||(h.popup=new v(h.frame,h.constants.tooltip)),h.popup.setPosition(t.x-3,t.y-3),h.popup.setText(h.popupObj.getTitle()),h.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth&&(this.frame.canvas.width=this.frame.canvas.clientWidth,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight&&(this.frame.canvas.height=this.frame.canvas.clientHeight,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width,height:this.frame.canvas.height,oldWidth:s,oldHeight:o})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new f(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i)},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var o=t[e].getValue();void 0!==o&&(i=void 0===i?o:Math.min(o,i),s=void 0===s?o:Math.max(o,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._redraw=function(){var t=this.frame.canvas.getContext("2d"),e=this.frame.canvas.width,i=this.frame.canvas.height;t.clearRect(0,0,e,i),t.save(),t.translate(this.translation.x,this.translation.y),t.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},this._doInAllSectors("_drawAllSectorNodes",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",t,!1),1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",t),t.restore()},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._physicsTick=function(){if(!this.freezeSimulation&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s0){var i=this,s={iterations:i.stabilizationIterations};i.stabilizationIterations=0,i.startedStabilization=!1,setTimeout(function(){i.emit("stabilized",s)},0)}},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.toggleFreeze=function(){0==this.freezeSimulation?this.freezeSimulation=!0:(this.freezeSimulation=!1,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new f({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},t.exports=s},function(t,e,i){function s(t,e,i){if(!e)throw"No network provided";var s=["edges","physics"],n=o.selectiveBridgeObject(s,i);this.options=n.edges,this.physics=n.physics,this.options.smoothCurves=i.smoothCurves,this.network=e,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.title=void 0,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.value=void 0,this.selected=!1,this.hover=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.dirtyLabel=!0,this.from=null,this.to=null,this.via=null,this.originalFromId=[],this.originalToId=[],this.connected=!1,this.widthFixed=!1,this.lengthFixed=!1,this.setProperties(t),this.controlNodesEnabled=!1,this.controlNodes={from:null,to:null,positions:{}},this.connectedNode=null}var o=i(1),n=i(40);s.prototype.setProperties=function(t){if(t){var e=["style","fontSize","fontFace","fontColor","fontFill","width","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","inheritColor"];switch(o.selectiveDeepExtend(e,this.options,t),void 0!==t.from&&(this.fromId=t.from),void 0!==t.to&&(this.toId=t.to),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.dirtyLabel=!0),void 0!==t.title&&(this.title=t.title),void 0!==t.value&&(this.value=t.value),void 0!==t.length&&(this.physics.springLength=t.length),void 0!==t.color&&(this.options.inheritColor=!1,o.isString(t.color)?(this.options.color.color=t.color,this.options.color.highlight=t.color):(void 0!==t.color.color&&(this.options.color.color=t.color.color),void 0!==t.color.highlight&&(this.options.color.highlight=t.color.highlight),void 0!==t.color.hover&&(this.options.color.hover=t.color.hover))),this.connect(),this.widthFixed=this.widthFixed||void 0!==t.width,this.lengthFixed=this.lengthFixed||void 0!==t.length,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.options.style){case"line":this.draw=this._drawLine;break;case"arrow":this.draw=this._drawArrow;break;case"arrow-center":this.draw=this._drawArrowCenter;break;case"dash-line":this.draw=this._drawDashLine;break;default:this.draw=this._drawLine}}},s.prototype.connect=function(){this.disconnect(),this.from=this.network.nodes[this.fromId]||null,this.to=this.network.nodes[this.toId]||null,this.connected=this.from&&this.to,this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this))},s.prototype.disconnect=function(){this.from&&(this.from.detachEdge(this),this.from=null),this.to&&(this.to.detachEdge(this),this.to=null),this.connected=!1},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.getValue=function(){return this.value},s.prototype.setValueRange=function(t,e){if(!this.widthFixed&&void 0!==this.value){var i=(this.options.widthMax-this.options.widthMin)/(e-t);this.options.width=(this.value-t)*i+this.options.widthMin,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier}},s.prototype.draw=function(){throw"Method draw not initialized in edge"},s.prototype.isOverlappingWith=function(t){if(this.connected){var e=10,i=this.from.x,s=this.from.y,o=this.to.x,n=this.to.y,r=t.left,a=t.top,h=this._getDistanceToEdge(i,s,o,n,r,a);return e>h}return!1},s.prototype._getColor=function(){var t=this.options.color;return"to"==this.options.inheritColor?t={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:this.to.options.color.border}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(t={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:this.from.options.color.border}),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)),t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle",o=this.labelDimensions.yLine;for(var d=0;r>d;d++)t.fillText(n[d],i,o),o+=a}},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.mozDash||void 0!==t.setLineDash){var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],"undefined"!=typeof t.setLineDash?(t.setLineDash(i),t.lineDashOffset=0):(t.mozDash=i,t.mozDashOffset=0),e=this._line(t),"undefined"!=typeof t.setLineDash?(t.setLineDash([0]),t.lineDashOffset=0):(t.mozDash=[0],t.mozDashOffset=0)}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i;if(this.from!=this.to){e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var s,o=this.to.x-this.from.x,n=this.to.y-this.from.y,r=Math.sqrt(o*o+n*n),a=this.from.distanceToBorder(t,e+Math.PI),h=(r-a)/r,d=h*this.from.x+(1-h)*this.to.x,l=h*this.from.y+(1-h)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?s=this.via:1==this.options.smoothCurves.enabled&&(s=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=s.x&&(e=Math.atan2(this.to.y-s.y,this.to.x-s.x),o=this.to.x-s.x,n=this.to.y-s.y,r=Math.sqrt(o*o+n*n));var c,p,u=this.to.distanceToBorder(t,e),m=(r-u)/r;if(1==this.options.smoothCurves.enabled&&null!=s.x?(c=(1-m)*s.x+m*this.to.x,p=(1-m)*s.y+m*this.to.y):(c=(1-m)*this.from.x+m*this.to.x,p=(1-m)*this.from.y+m*this.to.y),t.beginPath(),t.moveTo(d,l),1==this.options.smoothCurves.enabled&&null!=s.x?t.quadraticCurveTo(s.x,s.y,c,p):t.lineTo(c,p),t.stroke(),i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(c,p,e,i),t.fill(),t.stroke(),this.label){var f;if(1==this.options.smoothCurves.enabled&&null!=s){var g=.5*(.5*(this.from.x+s.x)+.5*(this.to.x+s.x)),v=.5*(.5*(this.from.y+s.y)+.5*(this.to.y+s.y));f={x:g,y:v}}else f=this._pointOnLine(.5);this._label(t,this.label,f.x,f.y)}}else{var y,b,_,x=this.from,w=.25*Math.max(100,this.physics.springLength);x.width||x.resize(t),x.width>x.height?(y=x.x+.5*x.width,b=x.y-w,_={x:y,y:x.y,angle:.9*Math.PI}):(y=x.x+w,b=x.y-.5*x.height,_={x:x.x,y:b,angle:.6*Math.PI}),t.beginPath(),t.arc(y,b,w,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(_.x,_.y,_.angle,i),t.fill(),t.stroke(),this.label&&(f=this._pointOnCircle(y,b,w,.5),this._label(t,this.label,f.x,f.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,m,f,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,m=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(f,g,u,m,o,n),v=v>l?l:v),f=u,g=m;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,m,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,m=x.y-_):(u=x.x+_,m=x.y-.5*x.height),y=u-o,b=m-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to&&(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y))},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:8},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}0==this.controlNodes.from.selected&&0==this.controlNodes.to.selected&&(this.controlNodes.positions=this.getControlNodePositions(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y,this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected&&(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()),1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodePositions=function(t){var e,i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n,h=a*this.from.x+(1-a)*this.to.x,d=a*this.from.y+(1-a)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?e=this.via:1==this.options.smoothCurves.enabled&&(e=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=e.x&&(i=Math.atan2(this.to.y-e.y,this.to.x-e.x),s=this.to.x-e.x,o=this.to.y-e.y,n=Math.sqrt(s*s+o*o));var l,c,p=this.to.distanceToBorder(t,i),u=(n-p)/n;return 1==this.options.smoothCurves.enabled&&null!=e.x?(l=(1-u)*e.x+u*this.to.x,c=(1-u)*e.y+u*this.to.y):(l=(1-u)*this.from.x+u*this.to.x,c=(1-u)*this.from.y+u*this.to.y),{from:{x:h,y:d},to:{x:l,y:c}}},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}var o=i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e.color&&(e.color=o.parseColor(e.color)),e},t.exports=s},function(t){function e(){this.images={},this.callback=void 0}e.prototype.setOnloadCallback=function(t){this.callback=t},e.prototype.load=function(t,e){var i=this.images[t];if(void 0==i){var s=this;i=new Image,this.images[t]=i,i.onload=function(){s.callback&&s.callback(this)},i.onerror=function(){this.src=e,s.callback&&s.callback(this)},i.src=t}return i},t.exports=e},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.fontDrawThreshold=3,this.id=void 0,this.x=null,this.y=null,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.dynamicEdgesLength=0,this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","group","mass"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof this.options.group||"string"==typeof this.options.group&&""!=this.options.group){var s=this.grouplist.get(this.options.group);for(var n in s)s.hasOwnProperty(n)&&(this.options[n]=s[n])}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,"image"==this.options.shape&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.discreteStep=function(t){if(this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.options.radius=(this.options.radiusMin+this.options.radiusMax)/2;else{var i=(this.options.radiusMax-this.options.radiusMin)/(e-t);this.options.radius=(this.value-t)*i+this.options.radiusMin}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(){throw"Draw method not initialized for node"},s.prototype.resize=function(){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.options.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.options.radius||this.imageObj.width,e=this.options.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e;if(0!=this.imageObj.width){if(this.clusterSize>1){var i=this.clusterSize>1?10:0;i*=this.networkScaleInv,i=Math.min(.2*this.width,i),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-i,this.top-i,this.width+2*i,this.height+2*i)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),e=this.y+this.height/2}else e=this.y;this._label(t,this.label,this.x,e,void 0,"top")},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(this.x,this.y,this.options.radius+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(){if(!this.width){this.options.radius=this.baseRadiusValue;var t=2*this.options.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.label&&this._label(t,this.label,this.x,this.y+this.height/2,void 0,"top",!0)},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y)},s.prototype._label=function(t,e,i,s,o,n,r){if(e&&Number(this.options.fontSize)*this.networkScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;1==r&&(l=s+(1-h)/(2*d));for(var c=t.measureText(a[0]).width,p=1;h>p;p++){var u=t.measureText(a[p]).width;c=u>c?u:c}var m=this.options.fontSize*h,f=i-c/2,g=s-m/2;"top"==n&&(g+=.5*d),this.labelDimensions={top:g,left:f,width:c,height:m,yLine:l},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(f,g,c,m)),t.fillStyle=this.options.fontColor||"black",t.textAlign=o||"center",t.textBaseline=n||"middle";for(var p=0;h>p;p++)t.fillText(a[p],i,l),l+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;for(var e=this.label.split("\n"),i=(Number(this.options.fontSize)+4)*e.length,s=0,o=0,n=e.length;n>o;o++)s=Math.max(s,t.measureText(e[o]).width);return{width:s,height:i}}return{width:0,height:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=a(o.attr,t.node))),i=n.length-1;i>=0;i--){var h=n[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(o)&&h.nodes.push(o)}e.attr&&(o.attr=a(o.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function c(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=a({},t.edge)),n.attr=a(n.attr||{},o),n}function p(){for(k=M.NULL,L="";" "==O||" "==O||"\n"==O||"\r"==O;)o();do{var t=!1;if("#"==O){for(var e=T-1;" "==E.charAt(e)||" "==E.charAt(e);)e--;if("\n"==E.charAt(e)||""==E.charAt(e)){for(;""!=O&&"\n"!=O;)o();t=!0}}if("/"==O&&"/"==n()){for(;""!=O&&"\n"!=O;)o();t=!0}if("/"==O&&"*"==n()){for(;""!=O;){if("*"==O&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==O||" "==O||"\n"==O||"\r"==O;)o()}while(t);if(""==O)return void(k=M.DELIMITER);var i=O+n();if(C[i])return k=M.DELIMITER,L=i,o(),void o();if(C[O])return k=M.DELIMITER,L=O,void o();if(r(O)||"-"==O){for(L+=O,o();r(O);)L+=O,o();return"false"==L?L=!1:"true"==L?L=!0:isNaN(Number(L))||(L=Number(L)),void(k=M.IDENTIFIER)}if('"'==O){for(o();""!=O&&('"'!=O||'"'==O&&'"'==n());)L+=O,'"'==O&&o(),o();if('"'!=O)throw x('End of string " expected');return o(),void(k=M.IDENTIFIER)}for(k=M.UNKNOWN;""!=O;)L+=O,o();throw new SyntaxError('Syntax error in part "'+w(L,30)+'"')}function u(){var t={};if(s(),p(),"strict"==L&&(t.strict=!0,p()),("graph"==L||"digraph"==L)&&(t.type=L,p()),k==M.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),m(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==L&&"}"!=L;)f(t),";"==L&&p()}function f(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(k!=M.IDENTIFIER)throw x("Identifier expected");var s=L;if(p(),"="==L){if(p(),k!=M.IDENTIFIER)throw x("Identifier expected");t[s]=L,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==L&&(e={},e.type="subgraph",p(),k==M.IDENTIFIER&&(e.id=L,p())),"{"==L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=L)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function v(t){return"node"==L?(p(),t.node=_(),"node"):"edge"==L?(p(),t.edge=_(),"edge"):"graph"==L?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==L||"--"==L;){var i,s=L;p();var o=g(t);if(o)i=o;else{if(k!=M.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==L;){for(p(),t={};""!==L&&"]"!=L;){if(k!=M.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),k!=M.IDENTIFIER)throw x("Attribute value expected");var i=L;h(t,e,i),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(L,30)+'" (char '+T+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t){function e(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e}var s=i(t),o={nodes:[],edges:[],options:{}};return s.nodes&&s.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),o.nodes.push(e)}),s.edges&&s.edges.forEach(function(t){var i,s;i=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var i=e(t);o.edges.push(i)}),S(i,s,function(i,s){var n=c(o,i.id,s.id,t.type,t.attr),r=e(n);o.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var i=e(t);o.edges.push(i)})}),s.attr&&(o.options=s.attr),o}var M={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},E="",T=0,O="",L="",k=M.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r=o&&(o=864e5),i=new Date(i.valueOf()-.05*o),s=new Date(s.valueOf()+.05*o)}if(null!==i||null!==s){var n=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(i,s,n)}},s.prototype.setWindow=function(t,e,i){var s=i&&void 0!==i.animate?i.animate:!0;if(1==arguments.length){var o=arguments[0];this.range.setRange(o.start,o.end,s)}else this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){h.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=m,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=m,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=m,this.components.forEach(function(e){t=e.redraw()||t}),t&&this.redraw(),this.emit("finishedRedraw")}},s.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},s.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},s.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},s.prototype._toTime=function(t){return h.toTime(this,t,this.props.center.width)},s.prototype._toGlobalTime=function(t){return h.toTime(this,t,this.props.root.width)},s.prototype._toScreen=function(t){return h.toScreen(this,t,this.props.center.width)},s.prototype._toGlobalScreen=function(t){return h.toScreen(this,t,this.props.root.width)},s.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},s.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){return 1!=t.options.autoResize?void t._stopAutoResize():void(t.dom.root&&(t.dom.root.offsetWidth!=t.props.lastWidth||t.dom.root.offsetHeight!=t.props.lastHeight)&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.emit("change")))},r.addEventListener(window,"resize",this._onResize),this.watchTimer=setInterval(this._onResize,1e3)},s.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),r.removeEventListener(window,"resize",this._onResize),this._onResize=null},s.prototype._onTouch=function(){this.touch.allowDragging=!0},s.prototype._onPinch=function(){this.touch.allowDragging=!1},s.prototype._onDragStart=function(){this.touch.initialScrollTop=this.props.scrollTop},s.prototype._onDrag=function(t){if(this.touch.allowDragging){var e=t.gesture.deltaY,i=this._getScrollTop(),s=this._setScrollTop(this.touch.initialScrollTop+e);s!=i&&(this.redraw(),this.emit("verticalDrag"))}},s.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},s.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("bottom"==this.options.orientation&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTops;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,m=e+(s-r/2),f=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,m),this.bezierCurveTo(l,m+d,p+h,f,p,f),this.bezierCurveTo(p-h,f,t,m+d,t,m),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t,e,i){function s(t,e){this.groupId=t,this.options=e}var o=i(2),n=i(53);s.prototype.getYRange=function(t){var e=t[0].y,i=t[0].y;for(j=0;jt[j].y?t[j].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=o.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?s._catmullRom(t,e):s._linear(t),1==e.options.shaded.enabled){var d,l=o.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&n.draw(t,e,i)}},s._catmullRomUniform=function(t){for(var e,i,s,o,n,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,D=0;S-1>D;D++)s=0==D?t[0]:t[D-1],o=t[D],n=t[D+1],r=S>D+2?t[D+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s._linear=function(t){for(var e="",i=0;it[s].y?t[s].y:e,i=i0&&(r=Math.min(r,Math.abs(p[l-1].x-a))),h=s._getSafeDrawData(r,d,f);else{var v=l+(u[a].amount-u[a].resolved),y=l-(u[a].resolved+1);v0&&(r=Math.min(r,Math.abs(p[y].x-a))),h=s._getSafeDrawData(r,d,f),u[a].resolved+=1,"stack"==d.options.barChart.handleOverlap?(g=u[a].accumulated,u[a].accumulated+=d.zeroPosition-p[l].y):"sideBySide"==d.options.barChart.handleOverlap&&(h.width=h.width/u[a].amount,h.offset+=u[a].resolved*h.width-.5*h.width*(u[a].amount+1),"left"==d.options.barChart.align?h.offset-=.5*h.width:"right"==d.options.barChart.align&&(h.offset+=.5*h.width))}o.drawBar(p[l].x+h.offset,p[l].y-g,h.width,d.zeroPosition-p[l].y,d.className+" bar",i.svgElements,i.svg),1==d.options.drawPoints.enabled&&n.draw(dataset,d,i,h.offset)}},s._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.getStackedBarYRange=function(t,e,i,o,n){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};s._getDataIntersections(r,t),e[o]=s._getStackedBarYRange(r,t),e[o].yAxisOrientation=n,i.push(o)}},s._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=ot[j].y?t[j].y:e,i=is;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){var i,s,o;!function(n,r){s=[],i=r,o="function"==typeof i?i.apply(e,s):i,!(void 0!==o&&(t.exports=o))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s={keydown:{},keyup:{}},o={};for(e=97;122>=e;e++)o[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)o[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)o[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)o["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)o["num"+e]={code:96+e,shift:!1};o["num*"]={code:106,shift:!1},o["num+"]={code:107,shift:!1},o["num-"]={code:109,shift:!1},o["num/"]={code:111,shift:!1},o["num."]={code:110,shift:!1},o.left={code:37,shift:!1},o.up={code:38,shift:!1},o.right={code:39,shift:!1},o.down={code:40,shift:!1},o.space={code:32,shift:!1},o.enter={code:13,shift:!1},o.shift={code:16,shift:void 0},o.esc={code:27,shift:!1},o.backspace={code:8,shift:!1},o.tab={code:9,shift:!1},o.ctrl={code:17,shift:!1},o.alt={code:18,shift:!1},o["delete"]={code:46,shift:!1},o.pageup={code:33,shift:!1},o.pagedown={code:34,shift:!1},o["="]={code:187,shift:!1},o["-"]={code:189,shift:!1},o["]"]={code:221,shift:!1},o["["]={code:219,shift:!1};var n=function(t){a(t,"keydown")},r=function(t){a(t,"keyup")},a=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;n0)for(i in He)s=He[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function b(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&k(t[s])!==k(e[s]))&&r++;return r+n}function T(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=mi[t]||fi[e]||e}return t}function O(t){var e,i,s={};for(i in t)a(t,i)&&(e=T(i),e&&(s[e]=t[i]));return s}function L(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}De[t]=function(s,o){var r,a,h=De._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=De().utc().set(i,t);return h.call(De._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function k(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function N(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function I(t,e,i){return pe(De([t,11,31+e-i]),e,i).week}function A(t){return z(t)?366:365}function z(t){return t%4===0&&t%100!==0||t%400===0}function P(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[Ne]<0||t._a[Ne]>11?Ne:t._a[Ie]<1||t._a[Ie]>N(t._a[ke],t._a[Ne])?Ie:t._a[Ae]<0||t._a[Ae]>23?Ae:t._a[ze]<0||t._a[ze]>59?ze:t._a[Pe]<0||t._a[Pe]>59?Pe:t._a[Re]<0||t._a[Re]>999?Re:-1,t._pf._overflowDayOfYear&&(ke>e||e>Ie)&&(e=Ie),t._pf.overflow=e)}function R(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function F(t){return t?t.toLowerCase().replace("_","-"):t}function H(t){for(var e,i,s,o,n=0;n0;){if(s=Y(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function Y(t){var e=null;if(!Fe[t]&&Ye)try{e=De.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),De.locale(e)}catch(i){}return Fe[t]}function W(t,e){return e._isUTC?De(t).zone(e._offset||0):De(t).local()}function B(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function G(t){var e,i,s=t.match(je);for(e=0,i=s.length;i>e;e++)s[e]=_i[s[e]]?_i[s[e]]:B(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function j(t,e){return t.isValid()?(e=U(e,t.localeData()),gi[e]||(gi[e]=G(e)),gi[e](t)):t.localeData().invalidDate()}function U(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Ue.lastIndex=0;s>=0&&Ue.test(t);)t=t.replace(Ue,i),Ue.lastIndex=0,s-=1;return t}function V(t,e){var i,s=e._strict;switch(t){case"Q":return ii;case"DDDD":return oi;case"YYYY":case"GGGG":case"gggg":return s?ni:qe;case"Y":case"G":case"g":return ai;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?ri:Ze;case"S":if(s)return ii;case"SS":if(s)return si;case"SSS":if(s)return oi;case"DDD":return Xe;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Qe;case"a":case"A":return e._locale._meridiemParse;case"X":return ti;case"Z":case"ZZ":return $e;case"T":return Je;case"SSSS":return Ke;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?si:Ve;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Ve;case"Do":return ei;default:return i=new RegExp(ee(te(t.replace("\\","")),"i"))}}function X(t){t=t||"";var e=t.match($e)||[],i=e[e.length-1]||[],s=(i+"").match(pi)||["-",0,0],o=+(60*s[1])+k(s[2]);return"+"===s[0]?-o:o}function q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[Ne]=3*(k(e)-1));break;case"M":case"MM":null!=e&&(o[Ne]=k(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e),null!=s?o[Ne]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ie]=k(e));break;case"Do":null!=e&&(o[Ie]=k(parseInt(e,10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=k(e));break;case"YY":o[ke]=De.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[ke]=k(e);break;case"a":case"A":i._isPm=i._locale.isPM(e);break;case"H":case"HH":case"h":case"hh":o[Ae]=k(e);break;case"m":case"mm":o[ze]=k(e);break;case"s":case"ss":o[Pe]=k(e);break;case"S":case"SS":case"SSS":case"SSSS":o[Re]=k(1e3*("0."+e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=X(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=k(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=De.parseTwoDigitYear(e)}}function Z(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[ke],pe(De(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[ke],pe(De(),n,a).year),s=r(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),h=ue(i,s,o,a,n),t._a[ke]=h.year,t._dayOfYear=h.dayOfYear}function K(t){var e,i,s,o,n=[];if(!t._d){for(s=$(t),t._w&&null==t._a[Ie]&&null==t._a[Ne]&&Z(t),t._dayOfYear&&(o=r(t._a[ke],s[ke]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=he(o,0,t._dayOfYear),t._a[Ne]=i.getUTCMonth(),t._a[Ie]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];t._d=(t._useUTC?he:ae).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()+t._tzm)}}function Q(t){var e;t._d||(e=O(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],K(t))}function $(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function J(t){if(t._f===De.ISO_8601)return void se(t);t._a=[],t._pf.empty=!0;var e,i,s,o,n,r=""+t._i,a=r.length,h=0;for(s=U(t._f,t._locale).match(je)||[],e=0;e0&&t._pf.unusedInput.push(n),r=r.slice(r.indexOf(i)+i.length),h+=i.length),_i[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),q(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=a-h,r.length>0&&t._pf.unusedInput.push(r),t._isPm&&t._a[Ae]<12&&(t._a[Ae]+=12),t._isPm===!1&&12===t._a[Ae]&&(t._a[Ae]=0),K(t),P(t)}function te(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function ee(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ie(t){var e,i,s,o,n;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;on)&&(s=n,i=e));v(t,i||e)}function se(t){var e,i,s=t._i,o=hi.exec(s);if(o){for(t._pf.iso=!0,e=0,i=li.length;i>e;e++)if(li[e][1].exec(s)){t._f=li[e][0]+(o[6]||" ");break}for(e=0,i=ci.length;i>e;e++)if(ci[e][1].exec(s)){t._f+=ci[e][0];break}s.match($e)&&(t._f+="Z"),J(t)}else t._isValid=!1}function oe(t){se(t),t._isValid===!1&&(delete t._isValid,De.createFromInputFallback(t))}function ne(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function he(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function de(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function le(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ce(t,e,i){var s=De.duration(t).abs(),o=Oe(s.as("s")),n=Oe(s.as("m")),r=Oe(s.as("h")),a=Oe(s.as("d")),h=Oe(s.as("M")),d=Oe(s.as("y")),l=o0,l[4]=i,le.apply({},l)}function pe(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=De(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function ue(t,e,i,s,o){var n,r,a=he(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:A(t-1)+r}}function me(t){var e=t._i,i=t._f;return t._locale=t._locale||De.localeData(t._l),null===e||i===n&&""===e?De.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),De.isMoment(e)?new f(e,!0):(i?M(i)?ie(t):J(t):re(t),new f(t)))}function fe(t,e){var i,s;if(1===e.length&&M(e[0])&&(e=e[0]),!e.length)return De();for(i=e[0],s=1;s=0?"+":"-";return e+_(Math.abs(t),6)},gg:function(){return _(this.weekYear()%100,2)},gggg:function(){return _(this.weekYear(),4)},ggggg:function(){return _(this.weekYear(),5)},GG:function(){return _(this.isoWeekYear()%100,2)},GGGG:function(){return _(this.isoWeekYear(),4)},GGGGG:function(){return _(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return k(this.milliseconds()/100)},SS:function(){return _(k(this.milliseconds()/10),2)},SSS:function(){return _(this.milliseconds(),3)},SSSS:function(){return _(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+":"+_(k(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+_(k(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},xi={},wi=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];yi.length;)Ce=yi.pop(),_i[Ce+"o"]=u(_i[Ce],Ce);for(;bi.length;)Ce=bi.pop(),_i[Ce+Ce]=p(_i[Ce],2);_i.DDDD=p(_i.DDD,3),v(m.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,i,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(i=De.utc([2e3,e]),s="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=De([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var i=this._calendar[t];return"function"==typeof i?i.apply(e):i},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return pe(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),De=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._i=t,o._f=e,o._l=i,o._strict=s,o._isUTC=!1,o._pf=h(),me(o)},De.suppressDeprecationWarnings=!1,De.createFromInputFallback=l("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i)}),De.min=function(){var t=[].slice.call(arguments,0);return fe("isBefore",t)},De.max=function(){var t=[].slice.call(arguments,0);return fe("isAfter",t)},De.utc=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=e,o._strict=s,o._pf=h(),me(o).utc()},De.unix=function(t){return De(1e3*t)},De.duration=function(t,e){var i,s,o,n,r=t,h=null;return De.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=Be.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:k(h[Ie])*i,h:k(h[Ae])*i,m:k(h[ze])*i,s:k(h[Pe])*i,ms:k(h[Re])*i}):(h=Ge.exec(t))?(i="-"===h[1]?-1:1,o=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},r={y:o(h[2]),M:o(h[3]),d:o(h[4]),h:o(h[5]),m:o(h[6]),s:o(h[7]),w:o(h[8])}):"object"==typeof r&&("from"in r||"to"in r)&&(n=w(De(r.from),De(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new g(r),De.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},De.version=Ee,De.defaultFormat=di,De.ISO_8601=function(){},De.momentProperties=He,De.updateOffset=function(){},De.relativeTimeThreshold=function(t,e){return vi[t]===n?!1:e===n?vi[t]:(vi[t]=e,!0)},De.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return De.locale(t,e)}),De.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?De.defineLocale(t,e):De.localeData(t),i&&(De.duration._locale=De._locale=i)),De._locale._abbr},De.defineLocale=function(t,e){return null!==e?(e.abbr=t,Fe[t]||(Fe[t]=new m),Fe[t].set(e),De.locale(t),Fe[t]):(delete Fe[t],null)},De.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return De.localeData(t)}),De.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return De._locale;if(!M(t)){if(e=Y(t))return e;t=[t]}return H(t)},De.isMoment=function(t){return t instanceof f||null!=t&&a(t,"_isAMomentObject")},De.isDuration=function(t){return t instanceof g};for(Ce=wi.length-1;Ce>=0;--Ce)L(wi[Ce]);De.normalizeUnits=function(t){return T(t)},De.invalid=function(t){var e=De.utc(0/0);return null!=t?v(e._pf,t):e._pf.userInvalidated=!0,e},De.parseZone=function(){return De.apply(null,arguments).parseZone()},De.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)},v(De.fn=f.prototype,{clone:function(){return De(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=De(this).utc();return 00:!1},parsingFlags:function(){return v({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.zone(0,t)},local:function(t){return this._isUTC&&(this.zone(0,t),this._isUTC=!1,t&&this.add(this._dateTzOffset(),"m")),this},format:function(t){var e=j(this,t||De.defaultFormat);return this.localeData().postformat(e)},add:S(1,"add"),subtract:S(-1,"subtract"),diff:function(t,e,i){var s,o,n,r=W(t,this),a=6e4*(this.zone()-r.zone());return e=T(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+r.daysInMonth()),o=12*(this.year()-r.year())+(this.month()-r.month()),n=this-De(this).startOf("month")-(r-De(r).startOf("month")),n-=6e4*(this.zone()-De(this).startOf("month").zone()-(r.zone()-De(r).startOf("month").zone())),o+=n/s,"year"===e&&(o/=12)):(s=this-r,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-a)/864e5:"week"===e?(s-a)/6048e5:s),i?o:b(o)},from:function(t,e){return De.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(De(),t)},calendar:function(t){var e=t||De(),i=W(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this))},isLeapYear:function(){return z(this.year())},isDST:function(){return this.zone()+t):+this.clone().startOf(e)>+De(t).startOf(e)},isBefore:function(t,e){return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+t>+this):+this.clone().startOf(e)<+De(t).startOf(e)},isSame:function(t,e){return e=T(e||"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+this===+t):+this.clone().startOf(e)===+W(t,this).startOf(e)},min:l("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),this>t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),t>this?this:t}),zone:function(t,e){var i,s=this._offset||0;return null==t?this._isUTC?s:this._dateTzOffset():("string"==typeof t&&(t=X(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateTzOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.subtract(i,"m"),s!==t&&(!e||this._changeInProgress?D(this,De.duration(s-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,De.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(t){return t=t?De(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return N(this.year(),this.month())},dayOfYear:function(t){var e=Oe((De(this).startOf("day")-De(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=pe(this,this.localeData()._week.dow,this.localeData()._week.doy).year; +return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=pe(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=pe(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return I(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return I(this.year(),t.dow,t.doy)},get:function(t){return t=T(t),this[t]()},set:function(t,e){return t=T(t),"function"==typeof this[t]&&this[t](e),this},locale:function(t){var e;return t===n?this._locale._abbr:(e=De.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Use moment().localeData() instead.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),De.fn.millisecond=De.fn.milliseconds=be("Milliseconds",!1),De.fn.second=De.fn.seconds=be("Seconds",!1),De.fn.minute=De.fn.minutes=be("Minutes",!1),De.fn.hour=De.fn.hours=be("Hours",!0),De.fn.date=be("Date",!0),De.fn.dates=l("dates accessor is deprecated. Use date instead.",be("Date",!0)),De.fn.year=be("FullYear",!0),De.fn.years=l("years accessor is deprecated. Use year instead.",be("FullYear",!0)),De.fn.days=De.fn.day,De.fn.months=De.fn.month,De.fn.weeks=De.fn.week,De.fn.isoWeeks=De.fn.isoWeek,De.fn.quarters=De.fn.quarter,De.fn.toJSON=De.fn.toISOString,v(De.duration.fn=g.prototype,{_bubble:function(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;r.milliseconds=s%1e3,t=b(s/1e3),r.seconds=t%60,e=b(t/60),r.minutes=e%60,i=b(e/60),r.hours=i%24,o+=b(i/24),a=b(_e(o)),o-=b(xe(a)),n+=b(o/30),o%=30,a+=b(n/12),n%=12,r.days=o,r.months=n,r.years=a},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return b(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12)},humanize:function(t){var e=ce(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=De.duration(t,e);return this._milliseconds+=i._milliseconds,this._days+=i._days,this._months+=i._months,this._bubble(),this},subtract:function(t,e){var i=De.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=T(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=T(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*_e(e),"month"===t?i:i/12;switch(e=this._days+xe(this._months/12),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t)}},lang:De.fn.lang,locale:De.fn.locale,toIsoString:l("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),i=Math.abs(this.days()),s=Math.abs(this.hours()),o=Math.abs(this.minutes()),n=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"},localeData:function(){return this._locale}}),De.duration.fn.toString=De.duration.fn.toISOString;for(Ce in ui)a(ui,Ce)&&we(Ce.toLowerCase());De.duration.fn.asMilliseconds=function(){return this.as("ms")},De.duration.fn.asSeconds=function(){return this.as("s")},De.duration.fn.asMinutes=function(){return this.as("m")},De.duration.fn.asHours=function(){return this.as("h")},De.duration.fn.asDays=function(){return this.as("d")},De.duration.fn.asWeeks=function(){return this.as("weeks")},De.duration.fn.asMonths=function(){return this.as("M")},De.duration.fn.asYears=function(){return this.as("y")},De.locale("en",{ordinal:function(t){var e=t%10,i=1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),Ye?o.exports=De:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(Te.moment=Me),De}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(71)(t))},function(t,e,i){var s;!function(o,n){"use strict";function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){D.register(t)}),w.onTouch(a.DOCUMENT,v,D.detect),w.onTouch(a.DOCUMENT,y,D.detect),a.READY=!0)}var a=function M(t,e){return new M.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",m=a.POINTER_TOUCH="touch",f=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(D,d),a&&(d.changedLength=h,d.eventType=a,s.call(D,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(D,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return S.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=m;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(f,s)&&(o=f),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return D.stopDetect()}}}},S=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[m]=i===(e.MSPOINTER_TYPE_TOUCH||m),s[f]=i===(e.MSPOINTER_TYPE_PEN||f),s[t]},reset:function(){this.pointers={}}},D=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?D.startDetect(i,t):t.eventType==_&&D.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=D.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=D.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=D.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=D.current,h=D.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),this.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e)for(c=0;l>c;c++)if(p=this.edges[d[c]],void 0!==p){var u=this.nodes[p.fromId==t.id?p.toId:p.fromId];u.dynamicEdges.length<=this.hubThreshold+s&&u.id!=t.id&&this._addToCluster(t,u,e)}}},e._addToCluster=function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdgesLength),t+=n.dynamicEdgesLength,e+=Math.pow(n.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(40);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t] +},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(40),n=i(37);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDOM={},this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=this.manipulationDiv,e=this.closeDiv,i=this.editModeDiv;1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,this.manipulationDOM={},1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDOM.addNodeSpan=document.createElement("span"),this.manipulationDOM.addNodeSpan.className="network-manipulationUI add",this.manipulationDOM.addNodeLabelSpan=document.createElement("span"),this.manipulationDOM.addNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addNodeLabelSpan.innerHTML=t.addNode,this.manipulationDOM.addNodeSpan.appendChild(this.manipulationDOM.addNodeLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.addEdgeSpan=document.createElement("span"),this.manipulationDOM.addEdgeSpan.className="network-manipulationUI connect",this.manipulationDOM.addEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.addEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addEdgeLabelSpan.innerHTML=t.addEdge,this.manipulationDOM.addEdgeSpan.appendChild(this.manipulationDOM.addEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.addNodeSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.addEdgeSpan),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?(this.manipulationDOM.seperatorLineDiv2=document.createElement("div"),this.manipulationDOM.seperatorLineDiv2.className="network-seperatorLine",this.manipulationDOM.editNodeSpan=document.createElement("span"),this.manipulationDOM.editNodeSpan.className="network-manipulationUI edit",this.manipulationDOM.editNodeLabelSpan=document.createElement("span"),this.manipulationDOM.editNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editNodeLabelSpan.innerHTML=t.editNode,this.manipulationDOM.editNodeSpan.appendChild(this.manipulationDOM.editNodeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv2),this.manipulationDiv.appendChild(this.manipulationDOM.editNodeSpan)):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.seperatorLineDiv3=document.createElement("div"),this.manipulationDOM.seperatorLineDiv3.className="network-seperatorLine",this.manipulationDOM.editEdgeSpan=document.createElement("span"),this.manipulationDOM.editEdgeSpan.className="network-manipulationUI edit",this.manipulationDOM.editEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.editEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editEdgeLabelSpan.innerHTML=t.editEdge,this.manipulationDOM.editEdgeSpan.appendChild(this.manipulationDOM.editEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv3),this.manipulationDiv.appendChild(this.manipulationDOM.editEdgeSpan)),0==this._selectionIsEmpty()&&(this.manipulationDOM.seperatorLineDiv4=document.createElement("div"),this.manipulationDOM.seperatorLineDiv4.className="network-seperatorLine",this.manipulationDOM.deleteSpan=document.createElement("span"),this.manipulationDOM.deleteSpan.className="network-manipulationUI delete",this.manipulationDOM.deleteLabelSpan=document.createElement("span"),this.manipulationDOM.deleteLabelSpan.className="network-manipulationLabel",this.manipulationDOM.deleteLabelSpan.innerHTML=t.del,this.manipulationDOM.deleteSpan.appendChild(this.manipulationDOM.deleteLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv4),this.manipulationDiv.appendChild(this.manipulationDOM.deleteSpan)),this.manipulationDOM.addNodeSpan.onclick=this._createAddNodeToolbar.bind(this),this.manipulationDOM.addEdgeSpan.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDOM.editNodeSpan.onclick=this._editNode.bind(this):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.editEdgeSpan.onclick=this._createEditEdgeToolbar.bind(this)),0==this._selectionIsEmpty()&&(this.manipulationDOM.deleteSpan.onclick=this._deleteSelected.bind(this)),this.closeDiv.onclick=this._toggleEditMode.bind(this),this.boundFunction=this._createManipulatorBar.bind(this),this.on("select",this.boundFunction)}else{for(;this.editModeDiv.hasChildNodes();)this.editModeDiv.removeChild(this.editModeDiv.firstChild);this.manipulationDOM.editModeSpan=document.createElement("span"),this.manipulationDOM.editModeSpan.className="network-manipulationUI edit editmode",this.manipulationDOM.editModeLabelSpan=document.createElement("span"),this.manipulationDOM.editModeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editModeLabelSpan.innerHTML=t.edit,this.manipulationDOM.editModeSpan.appendChild(this.manipulationDOM.editModeLabelSpan),this.editModeDiv.appendChild(this.manipulationDOM.editModeSpan),this.manipulationDOM.editModeSpan.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.addDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._addNode.bind(this),this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0;var t=this.constants.locales[this.constants.locale];this.boundFunction&&this.off("select",this.boundFunction),this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.edgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._handleConnect.bind(this),this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleDragStart=function(){},this._handleDragEnd=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.editEdgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._manipulationReleaseOverload=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulation=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!=e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulation=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge;i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(!(this.triggerFunctions.del.length=2))throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(45));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t0){"RL"==this.constants.hierarchicalLayout.direction||"DU"==this.constants.hierarchicalLayout.direction?this.constants.hierarchicalLayout.levelSeparation*=-1:this.constants.hierarchicalLayout.levelSeparation=Math.abs(this.constants.hierarchicalLayout.levelSeparation),"RL"==this.constants.hierarchicalLayout.direction||"LR"==this.constants.hierarchicalLayout.direction?1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="vertical"):1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="horizontal");var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s=0;s1&&o.hierarchyEnumerated===!1&&this._setLevelDirected(o.level,o.edges,o.id)}},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");t.style.background=1==this.constants.smoothCurves.enabled?"#A4FF56":"#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=67},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,m=4/3,f=this.constants.physics.repulsion.nodeDistance,g=f;for(d=0;di&&(r=.5*g>i?1:v*i+m,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=i,s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.theta){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),m=.5*u,f=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-m,maxX:f+m,minY:g-m,maxY:g+m},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},e._placeInRegion=function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},e._splitBranch=function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); //# sourceMappingURL=vis.map \ No newline at end of file diff --git a/docs/graph2d.html b/docs/graph2d.html index f14fb807..31577896 100644 --- a/docs/graph2d.html +++ b/docs/graph2d.html @@ -349,7 +349,7 @@ The options colored in green can also be used as options for the groups. All opt style String 'line' - This allows the user to define if this should be a linegraph or a barchart. The options are: 'line' or 'bar'. + This allows the user to define if this should be a linegraph, barchart or pointcloud. The options are: 'line', 'bar', 'points'. barChart.width @@ -943,6 +943,14 @@ Graph2d.off('rangechanged', onChange); Description Properties + + finishedRedraw + Fired after a redraw is complete. When moving the Graph2d around, this could be fired frequently. + + + none. + + rangechange diff --git a/docs/network.html b/docs/network.html index d4fd6b89..b6c84012 100644 --- a/docs/network.html +++ b/docs/network.html @@ -2382,6 +2382,8 @@ network.off('select', onSelect);
  • nodes: an array with the ids of the selected nodes
  • edges: an array with the ids of the selected edges
  • +
  • pointer.DOM:object containing XY coordinates in the DOM
  • +
  • pointer.canvas:object containing XY coordinates in the canvas
@@ -2392,6 +2394,8 @@ network.off('select', onSelect);
  • nodes: an array with the ids of the selected nodes
  • edges: an array with the ids of the selected edges
  • +
  • pointer.DOM:object containing XY coordinates in the DOM
  • +
  • pointer.canvas:object containing XY coordinates in the canvas
diff --git a/docs/timeline.html b/docs/timeline.html index 05d970b6..9aff7f68 100644 --- a/docs/timeline.html +++ b/docs/timeline.html @@ -1000,8 +1000,16 @@ timeline.off('select', onSelect); Description Properties + + finishedRedraw + Fired after a redraw is complete. When moving the timeline around, this could be fired frequently. + + + none. + + - + rangechange Fired repeatedly when the user is dragging the timeline window. diff --git a/download/vis.zip b/download/vis.zip index 8c8b68a5..790c699d 100644 Binary files a/download/vis.zip and b/download/vis.zip differ diff --git a/examples/graph2d/03_groups.html b/examples/graph2d/03_groups.html index 8ec2ac56..8b924a63 100644 --- a/examples/graph2d/03_groups.html +++ b/examples/graph2d/03_groups.html @@ -32,7 +32,7 @@ + + + +

Graph2d | Scatterplot

+
+ You can manually disable the automatic sorting of the datapoints by using the sort option. You can use this with the + style: 'points' option for making a scatterplot! +
+
+var options = {
+    sort: false,
+    sampling:false,
+    style:'points'
+};
+
+
+
+ + + + \ No newline at end of file diff --git a/examples/graph2d/index.html b/examples/graph2d/index.html index 93e7c9bd..1bfe0151 100644 --- a/examples/graph2d/index.html +++ b/examples/graph2d/index.html @@ -22,6 +22,8 @@

13_localization.html

14_toggleGroups.html

15_streaming_data.html

+

16_bothAxis_titles.html

+

17_dynamicStyling.html

diff --git a/examples/timeline/03_performance.html b/examples/timeline/03_performance.html index de7588ab..665b473a 100644 --- a/examples/timeline/03_performance.html +++ b/examples/timeline/03_performance.html @@ -56,9 +56,6 @@ end: now.clone().add(11, 'days'), zoomMin: 1000 * 60 * 60 * 24, // a day zoomMax: 1000 * 60 * 60 * 24 * 30 * 3 // three months - //maxHeight: 300, - //height: '300px', - //orientation: 'top' }; var timeline = new vis.Timeline(container, items, options); diff --git a/index.html b/index.html index d359fff5..15c0a03e 100644 --- a/index.html +++ b/index.html @@ -76,7 +76,7 @@ bower install vis

download

Click here to download vis.js -(version 3.6.4) +(version 3.7.0)

Example