diff --git a/HISTORY.md b/HISTORY.md index b40fff50..2bb9a236 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -4,6 +4,11 @@ http://visjs.org ## not yet released, version 3.4.2 +### Network + +- Changed timings for zoomExtent animation. +- Fixed possible cause of freezing graph when animating. + ## 2014-10-11, version 3.4.1 diff --git a/dist/vis.js b/dist/vis.js index d2e27c20..6de9ce1e 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 3.4.2-SNAPSHOT - * @date 2014-09-11 + * @date 2014-09-12 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -93,8 +93,8 @@ return /******/ (function(modules) { // webpackBootstrap Camera: __webpack_require__(6), Filter: __webpack_require__(7), Point2d: __webpack_require__(8), - Point3d: __webpack_require__(9), - Slider: __webpack_require__(10), + Point3d: __webpack_require__(10), + Slider: __webpack_require__(9), StepNumber: __webpack_require__(11) }; @@ -2923,11 +2923,11 @@ return /******/ (function(modules) { // webpackBootstrap var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); var util = __webpack_require__(1); - var Point3d = __webpack_require__(9); + var Point3d = __webpack_require__(10); var Point2d = __webpack_require__(8); var Camera = __webpack_require__(6); var Filter = __webpack_require__(7); - var Slider = __webpack_require__(10); + var Slider = __webpack_require__(9); var StepNumber = __webpack_require__(11); /** @@ -5193,7 +5193,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 6 */ /***/ function(module, exports, __webpack_require__) { - var Point3d = __webpack_require__(9); + var Point3d = __webpack_require__(10); /** * @class Camera @@ -5572,97 +5572,6 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 9 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * @prototype Point3d - * @param {Number} [x] - * @param {Number} [y] - * @param {Number} [z] - */ - function Point3d(x, y, z) { - this.x = x !== undefined ? x : 0; - this.y = y !== undefined ? y : 0; - this.z = z !== undefined ? z : 0; - }; - - /** - * Subtract the two provided points, returns a-b - * @param {Point3d} a - * @param {Point3d} b - * @return {Point3d} a-b - */ - Point3d.subtract = function(a, b) { - var sub = new Point3d(); - sub.x = a.x - b.x; - sub.y = a.y - b.y; - sub.z = a.z - b.z; - return sub; - }; - - /** - * Add the two provided points, returns a+b - * @param {Point3d} a - * @param {Point3d} b - * @return {Point3d} a+b - */ - Point3d.add = function(a, b) { - var sum = new Point3d(); - sum.x = a.x + b.x; - sum.y = a.y + b.y; - sum.z = a.z + b.z; - return sum; - }; - - /** - * Calculate the average of two 3d points - * @param {Point3d} a - * @param {Point3d} b - * @return {Point3d} The average, (a+b)/2 - */ - Point3d.avg = function(a, b) { - return new Point3d( - (a.x + b.x) / 2, - (a.y + b.y) / 2, - (a.z + b.z) / 2 - ); - }; - - /** - * Calculate the cross product of the two provided points, returns axb - * Documentation: http://en.wikipedia.org/wiki/Cross_product - * @param {Point3d} a - * @param {Point3d} b - * @return {Point3d} cross product axb - */ - Point3d.crossProduct = function(a, b) { - var crossproduct = new Point3d(); - - crossproduct.x = a.y * b.z - a.z * b.y; - crossproduct.y = a.z * b.x - a.x * b.z; - crossproduct.z = a.x * b.y - a.y * b.x; - - return crossproduct; - }; - - - /** - * Rtrieve the length of the vector (or the distance from this point to the origin - * @return {Number} length - */ - Point3d.prototype.length = function() { - return Math.sqrt( - this.x * this.x + - this.y * this.y + - this.z * this.z - ); - }; - - module.exports = Point3d; - - -/***/ }, -/* 10 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); @@ -6013,6 +5922,97 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Slider; +/***/ }, +/* 10 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * @prototype Point3d + * @param {Number} [x] + * @param {Number} [y] + * @param {Number} [z] + */ + function Point3d(x, y, z) { + this.x = x !== undefined ? x : 0; + this.y = y !== undefined ? y : 0; + this.z = z !== undefined ? z : 0; + }; + + /** + * Subtract the two provided points, returns a-b + * @param {Point3d} a + * @param {Point3d} b + * @return {Point3d} a-b + */ + Point3d.subtract = function(a, b) { + var sub = new Point3d(); + sub.x = a.x - b.x; + sub.y = a.y - b.y; + sub.z = a.z - b.z; + return sub; + }; + + /** + * Add the two provided points, returns a+b + * @param {Point3d} a + * @param {Point3d} b + * @return {Point3d} a+b + */ + Point3d.add = function(a, b) { + var sum = new Point3d(); + sum.x = a.x + b.x; + sum.y = a.y + b.y; + sum.z = a.z + b.z; + return sum; + }; + + /** + * Calculate the average of two 3d points + * @param {Point3d} a + * @param {Point3d} b + * @return {Point3d} The average, (a+b)/2 + */ + Point3d.avg = function(a, b) { + return new Point3d( + (a.x + b.x) / 2, + (a.y + b.y) / 2, + (a.z + b.z) / 2 + ); + }; + + /** + * Calculate the cross product of the two provided points, returns axb + * Documentation: http://en.wikipedia.org/wiki/Cross_product + * @param {Point3d} a + * @param {Point3d} b + * @return {Point3d} cross product axb + */ + Point3d.crossProduct = function(a, b) { + var crossproduct = new Point3d(); + + crossproduct.x = a.y * b.z - a.z * b.y; + crossproduct.y = a.z * b.x - a.x * b.z; + crossproduct.z = a.x * b.y - a.y * b.x; + + return crossproduct; + }; + + + /** + * Rtrieve the length of the vector (or the distance from this point to the origin + * @return {Number} length + */ + Point3d.prototype.length = function() { + return Math.sqrt( + this.x * this.x + + this.y * this.y + + this.z * this.z + ); + }; + + module.exports = Point3d; + + /***/ }, /* 11 */ /***/ function(module, exports, __webpack_require__) { @@ -16431,6 +16431,7 @@ return /******/ (function(modules) { // webpackBootstrap this.animationEasingFunction = options.animation.easingFunction; this._classicRedraw = this._redraw; this._redraw = this._transitionRedraw; + this._redraw(); this.moving = true; this.start(); } @@ -22362,23 +22363,23 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js - //! version : 2.8.3 + //! version : 2.7.0 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors //! license : MIT //! momentjs.com (function (undefined) { + /************************************ Constants ************************************/ var moment, - VERSION = '2.8.3', + VERSION = "2.7.0", // the global-scope this is NOT the global object in Node.js globalScope = typeof global !== 'undefined' ? global : this, oldGlobalMoment, round = Math.round, - hasOwnProperty = Object.prototype.hasOwnProperty, i, YEAR = 0, @@ -22389,11 +22390,22 @@ return /******/ (function(modules) { // webpackBootstrap SECOND = 5, MILLISECOND = 6, - // internal storage for locale config files - locales = {}, - - // extra moment internal properties (plugins register props here) - momentProperties = [], + // internal storage for language config files + languages = {}, + + // moment internal properties + momentProperties = { + _isAMomentObject: null, + _i : null, + _f : null, + _l : null, + _strict : null, + _tzm : null, + _isUTC : null, + _offset : null, // optional. Combine with _isUTC + _pf : null, + _lang : null // optional + }, // check for nodeJS hasModule = (typeof module !== 'undefined' && module.exports), @@ -22452,7 +22464,7 @@ return /******/ (function(modules) { // webpackBootstrap ['HH', /(T| )\d\d/] ], - // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30'] + // timezone chunker "+10:00" > ["10", "00"] or "-1530" > ["-15", "30"] parseTimezoneChunker = /([\+\-]|\d\d)/gi, // getter and setter names @@ -22499,11 +22511,12 @@ return /******/ (function(modules) { // webpackBootstrap // default relative time thresholds relativeTimeThresholds = { - s: 45, // seconds to minute - m: 45, // minutes to hour - h: 22, // hours to day - d: 26, // days to month - M: 11 // months to year + s: 45, //seconds to minutes + m: 45, //minutes to hours + h: 22, //hours to days + dd: 25, //days to month (month == 1) + dm: 45, //days to months (months > 1) + dy: 345 //days to year }, // tokens to ordinalize and pad @@ -22515,10 +22528,10 @@ return /******/ (function(modules) { // webpackBootstrap return this.month() + 1; }, MMM : function (format) { - return this.localeData().monthsShort(this, format); + return this.lang().monthsShort(this, format); }, MMMM : function (format) { - return this.localeData().months(this, format); + return this.lang().months(this, format); }, D : function () { return this.date(); @@ -22530,13 +22543,13 @@ return /******/ (function(modules) { // webpackBootstrap return this.day(); }, dd : function (format) { - return this.localeData().weekdaysMin(this, format); + return this.lang().weekdaysMin(this, format); }, ddd : function (format) { - return this.localeData().weekdaysShort(this, format); + return this.lang().weekdaysShort(this, format); }, dddd : function (format) { - return this.localeData().weekdays(this, format); + return this.lang().weekdays(this, format); }, w : function () { return this.week(); @@ -22582,10 +22595,10 @@ return /******/ (function(modules) { // webpackBootstrap return this.isoWeekday(); }, a : function () { - return this.localeData().meridiem(this.hours(), this.minutes(), true); + return this.lang().meridiem(this.hours(), this.minutes(), true); }, A : function () { - return this.localeData().meridiem(this.hours(), this.minutes(), false); + return this.lang().meridiem(this.hours(), this.minutes(), false); }, H : function () { return this.hours(); @@ -22613,19 +22626,19 @@ return /******/ (function(modules) { // webpackBootstrap }, Z : function () { var a = -this.zone(), - b = '+'; + b = "+"; if (a < 0) { a = -a; - b = '-'; + b = "-"; } - return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2); + return b + leftZeroFill(toInt(a / 60), 2) + ":" + leftZeroFill(toInt(a) % 60, 2); }, ZZ : function () { var a = -this.zone(), - b = '+'; + b = "+"; if (a < 0) { a = -a; - b = '-'; + b = "-"; } return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2); }, @@ -22643,8 +22656,6 @@ return /******/ (function(modules) { // webpackBootstrap } }, - deprecations = {}, - lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin']; // Pick the first defined of two or three arguments. dfl comes from @@ -22653,14 +22664,10 @@ return /******/ (function(modules) { // webpackBootstrap switch (arguments.length) { case 2: return a != null ? a : b; case 3: return a != null ? a : b != null ? b : c; - default: throw new Error('Implement me'); + default: throw new Error("Implement me"); } } - function hasOwnProp(a, b) { - return hasOwnProperty.call(a, b); - } - function defaultParsingFlags() { // We need to deep clone this object, and es5 standard is not very // helpful. @@ -22678,31 +22685,23 @@ return /******/ (function(modules) { // webpackBootstrap }; } - function printMsg(msg) { - if (moment.suppressDeprecationWarnings === false && - typeof console !== 'undefined' && console.warn) { - console.warn('Deprecation warning: ' + msg); - } - } - function deprecate(msg, fn) { var firstTime = true; + function printMsg() { + if (moment.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && console.warn) { + console.warn("Deprecation warning: " + msg); + } + } return extend(function () { if (firstTime) { - printMsg(msg); + printMsg(); firstTime = false; } return fn.apply(this, arguments); }, fn); } - function deprecateSimple(name, msg) { - if (!deprecations[name]) { - printMsg(msg); - deprecations[name] = true; - } - } - function padToken(func, count) { return function (a) { return leftZeroFill(func.call(this, a), count); @@ -22710,7 +22709,7 @@ return /******/ (function(modules) { // webpackBootstrap } function ordinalizeToken(func, period) { return function (a) { - return this.localeData().ordinal(func.call(this, a), period); + return this.lang().ordinal(func.call(this, a), period); }; } @@ -22729,16 +22728,14 @@ return /******/ (function(modules) { // webpackBootstrap Constructors ************************************/ - function Locale() { + function Language() { + } // Moment prototype object - function Moment(config, skipOverflow) { - if (skipOverflow !== false) { - checkOverflow(config); - } - copyConfig(this, config); - this._d = new Date(+config._d); + function Moment(config) { + checkOverflow(config); + extend(this, config); } // Duration Constructor @@ -22772,8 +22769,6 @@ return /******/ (function(modules) { // webpackBootstrap this._data = {}; - this._locale = moment.localeData(); - this._bubble(); } @@ -22784,67 +22779,31 @@ return /******/ (function(modules) { // webpackBootstrap function extend(a, b) { for (var i in b) { - if (hasOwnProp(b, i)) { + if (b.hasOwnProperty(i)) { a[i] = b[i]; } } - if (hasOwnProp(b, 'toString')) { + if (b.hasOwnProperty("toString")) { a.toString = b.toString; } - if (hasOwnProp(b, 'valueOf')) { + if (b.hasOwnProperty("valueOf")) { a.valueOf = b.valueOf; } return a; } - function copyConfig(to, from) { - var i, prop, val; - - if (typeof from._isAMomentObject !== 'undefined') { - to._isAMomentObject = from._isAMomentObject; - } - if (typeof from._i !== 'undefined') { - to._i = from._i; - } - if (typeof from._f !== 'undefined') { - to._f = from._f; - } - if (typeof from._l !== 'undefined') { - to._l = from._l; - } - if (typeof from._strict !== 'undefined') { - to._strict = from._strict; - } - if (typeof from._tzm !== 'undefined') { - to._tzm = from._tzm; - } - if (typeof from._isUTC !== 'undefined') { - to._isUTC = from._isUTC; - } - if (typeof from._offset !== 'undefined') { - to._offset = from._offset; - } - if (typeof from._pf !== 'undefined') { - to._pf = from._pf; - } - if (typeof from._locale !== 'undefined') { - to._locale = from._locale; - } - - if (momentProperties.length > 0) { - for (i in momentProperties) { - prop = momentProperties[i]; - val = from[prop]; - if (typeof val !== 'undefined') { - to[prop] = val; - } + function cloneMoment(m) { + var result = {}, i; + for (i in m) { + if (m.hasOwnProperty(i) && momentProperties.hasOwnProperty(i)) { + result[i] = m[i]; } } - return to; + return result; } function absRound(number) { @@ -22867,51 +22826,7 @@ return /******/ (function(modules) { // webpackBootstrap return (sign ? (forceSign ? '+' : '') : '-') + output; } - function positiveMomentsDifference(base, other) { - var res = {milliseconds: 0, months: 0}; - - res.months = other.month() - base.month() + - (other.year() - base.year()) * 12; - if (base.clone().add(res.months, 'M').isAfter(other)) { - --res.months; - } - - res.milliseconds = +other - +(base.clone().add(res.months, 'M')); - - return res; - } - - function momentsDifference(base, other) { - var res; - other = makeAs(other, base); - if (base.isBefore(other)) { - res = positiveMomentsDifference(base, other); - } else { - res = positiveMomentsDifference(other, base); - res.milliseconds = -res.milliseconds; - res.months = -res.months; - } - - return res; - } - - // TODO: remove 'name' arg after deprecation is removed - function createAdder(direction, name) { - return function (val, period) { - var dur, tmp; - //invert the arguments, but complain about it - if (period !== null && !isNaN(+period)) { - deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).'); - tmp = val; val = period; period = tmp; - } - - val = typeof val === 'string' ? +val : val; - dur = moment.duration(val, period); - addOrSubtractDurationFromMoment(this, dur, direction); - return this; - }; - } - + // helper function for _.addTime and _.subtractTime function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { var milliseconds = duration._milliseconds, days = duration._days, @@ -22938,8 +22853,8 @@ return /******/ (function(modules) { // webpackBootstrap } function isDate(input) { - return Object.prototype.toString.call(input) === '[object Date]' || - input instanceof Date; + return Object.prototype.toString.call(input) === '[object Date]' || + input instanceof Date; } // compare two arrays, return the number of differences @@ -22971,7 +22886,7 @@ return /******/ (function(modules) { // webpackBootstrap prop; for (prop in inputObject) { - if (hasOwnProp(inputObject, prop)) { + if (inputObject.hasOwnProperty(prop)) { normalizedProp = normalizeUnits(prop); if (normalizedProp) { normalizedInput[normalizedProp] = inputObject[prop]; @@ -22999,7 +22914,7 @@ return /******/ (function(modules) { // webpackBootstrap moment[field] = function (format, index) { var i, getter, - method = moment._locale[field], + method = moment.fn._lang[field], results = []; if (typeof format === 'number') { @@ -23009,7 +22924,7 @@ return /******/ (function(modules) { // webpackBootstrap getter = function (i) { var m = moment().utc().set(setter, i); - return method.call(moment._locale, m, format || ''); + return method.call(moment.fn._lang, m, format || ''); }; if (index != null) { @@ -23094,50 +23009,10 @@ return /******/ (function(modules) { // webpackBootstrap return m._isValid; } - function normalizeLocale(key) { + function normalizeLanguage(key) { return key ? key.toLowerCase().replace('_', '-') : key; } - // pick the locale from the array - // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each - // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root - function chooseLocale(names) { - var i = 0, j, next, locale, split; - - while (i < names.length) { - split = normalizeLocale(names[i]).split('-'); - j = split.length; - next = normalizeLocale(names[i + 1]); - next = next ? next.split('-') : null; - while (j > 0) { - locale = loadLocale(split.slice(0, j).join('-')); - if (locale) { - return locale; - } - if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { - //the next array item is better than a shallower substring of this one - break; - } - j--; - } - i++; - } - return null; - } - - function loadLocale(name) { - var oldLocale = null; - if (!locales[name] && hasModule) { - try { - oldLocale = moment.locale(); - !(function webpackMissingModule() { var e = new Error("Cannot find module \"./locale\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()); - // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales - moment.locale(oldLocale); - } catch (e) { } - } - return locales[name]; - } - // Return a moment from input, that is local/utc/zone equivalent to model. function makeAs(input, model) { return model._isUTC ? moment(input).zone(model._offset || 0) : @@ -23145,11 +23020,11 @@ return /******/ (function(modules) { // webpackBootstrap } /************************************ - Locale + Languages ************************************/ - extend(Locale.prototype, { + extend(Language.prototype, { set : function (config) { var prop, i; @@ -23163,12 +23038,12 @@ return /******/ (function(modules) { // webpackBootstrap } }, - _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + _months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), months : function (m) { return this._months[m.month()]; }, - _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + _monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), monthsShort : function (m) { return this._monthsShort[m.month()]; }, @@ -23194,17 +23069,17 @@ return /******/ (function(modules) { // webpackBootstrap } }, - _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + _weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), weekdays : function (m) { return this._weekdays[m.day()]; }, - _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + _weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), weekdaysShort : function (m) { return this._weekdaysShort[m.day()]; }, - _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + _weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), weekdaysMin : function (m) { return this._weekdaysMin[m.day()]; }, @@ -23231,11 +23106,11 @@ return /******/ (function(modules) { // webpackBootstrap }, _longDateFormat : { - LT : 'h:mm A', - L : 'MM/DD/YYYY', - LL : 'MMMM D, YYYY', - LLL : 'MMMM D, YYYY LT', - LLLL : 'dddd, MMMM D, YYYY LT' + 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 (key) { var output = this._longDateFormat[key]; @@ -23277,37 +23152,35 @@ return /******/ (function(modules) { // webpackBootstrap }, _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' + 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 (number, withoutSuffix, string, isFuture) { var output = this._relativeTime[string]; return (typeof output === 'function') ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number); }, - pastFuture : function (diff, output) { var format = this._relativeTime[diff > 0 ? 'future' : 'past']; return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); }, ordinal : function (number) { - return this._ordinal.replace('%d', number); + return this._ordinal.replace("%d", number); }, - _ordinal : '%d', + _ordinal : "%d", preparse : function (string) { return string; @@ -23332,6 +23205,78 @@ return /******/ (function(modules) { // webpackBootstrap } }); + // Loads a language definition into the `languages` cache. The function + // takes a key and optionally values. If not in the browser and no values + // are provided, it will load the language file module. As a convenience, + // this function also returns the language values. + function loadLang(key, values) { + values.abbr = key; + if (!languages[key]) { + languages[key] = new Language(); + } + languages[key].set(values); + return languages[key]; + } + + // Remove a language from the `languages` cache. Mostly useful in tests. + function unloadLang(key) { + delete languages[key]; + } + + // Determines which language definition to use and returns it. + // + // With no parameters, it will return the global language. If you + // pass in a language key, such as 'en', it will return the + // definition for 'en', so long as 'en' has already been loaded using + // moment.lang. + function getLangDefinition(key) { + var i = 0, j, lang, next, split, + get = function (k) { + if (!languages[k] && hasModule) { + try { + __webpack_require__(61)("./" + k); + } catch (e) { } + } + return languages[k]; + }; + + if (!key) { + return moment.fn._lang; + } + + if (!isArray(key)) { + //short-circuit everything else + lang = get(key); + if (lang) { + return lang; + } + key = [key]; + } + + //pick the language from the array + //try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + //substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + while (i < key.length) { + split = normalizeLanguage(key[i]).split('-'); + j = split.length; + next = normalizeLanguage(key[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + lang = get(split.slice(0, j).join('-')); + if (lang) { + return lang; + } + if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return moment.fn._lang; + } + /************************************ Formatting ************************************/ @@ -23339,9 +23284,9 @@ return /******/ (function(modules) { // webpackBootstrap function removeFormattingTokens(input) { if (input.match(/\[[\s\S]/)) { - return input.replace(/^\[|\]$/g, ''); + return input.replace(/^\[|\]$/g, ""); } - return input.replace(/\\/g, ''); + return input.replace(/\\/g, ""); } function makeFormatFunction(format) { @@ -23356,7 +23301,7 @@ return /******/ (function(modules) { // webpackBootstrap } return function (mom) { - var output = ''; + var output = ""; for (i = 0; i < length; i++) { output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; } @@ -23366,11 +23311,12 @@ return /******/ (function(modules) { // webpackBootstrap // format date using native date object function formatMoment(m, format) { + if (!m.isValid()) { - return m.localeData().invalidDate(); + return m.lang().invalidDate(); } - format = expandFormat(format, m.localeData()); + format = expandFormat(format, m.lang()); if (!formatFunctions[format]) { formatFunctions[format] = makeFormatFunction(format); @@ -23379,11 +23325,11 @@ return /******/ (function(modules) { // webpackBootstrap return formatFunctions[format](m); } - function expandFormat(format, locale) { + function expandFormat(format, lang) { var i = 5; function replaceLongDateFormatTokens(input) { - return locale.longDateFormat(input) || input; + return lang.longDateFormat(input) || input; } localFormattingTokens.lastIndex = 0; @@ -23424,19 +23370,13 @@ return /******/ (function(modules) { // webpackBootstrap case 'ggggg': return strict ? parseTokenSixDigits : parseTokenOneToSixDigits; case 'S': - if (strict) { - return parseTokenOneDigit; - } + if (strict) { return parseTokenOneDigit; } /* falls through */ case 'SS': - if (strict) { - return parseTokenTwoDigits; - } + if (strict) { return parseTokenTwoDigits; } /* falls through */ case 'SSS': - if (strict) { - return parseTokenThreeDigits; - } + if (strict) { return parseTokenThreeDigits; } /* falls through */ case 'DDD': return parseTokenOneToThreeDigits; @@ -23448,7 +23388,7 @@ return /******/ (function(modules) { // webpackBootstrap return parseTokenWord; case 'a': case 'A': - return config._locale._meridiemParse; + return getLangDefinition(config._l)._meridiemParse; case 'X': return parseTokenTimestampMs; case 'Z': @@ -23485,13 +23425,13 @@ return /******/ (function(modules) { // webpackBootstrap case 'Do': return parseTokenOrdinal; default : - a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i')); + a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), "i")); return a; } } function timezoneMinutesFromString(string) { - string = string || ''; + string = string || ""; var possibleTzMatches = (string.match(parseTokenTimezone) || []), tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [], parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0], @@ -23520,7 +23460,7 @@ return /******/ (function(modules) { // webpackBootstrap break; case 'MMM' : // fall through to MMMM case 'MMMM' : - a = config._locale.monthsParse(input); + a = getLangDefinition(config._l).monthsParse(input); // if we didn't find a month name, mark the date as invalid. if (a != null) { datePartArray[MONTH] = a; @@ -23560,7 +23500,7 @@ return /******/ (function(modules) { // webpackBootstrap // AM / PM case 'a' : // fall through to A case 'A' : - config._isPm = config._locale.isPM(input); + config._isPm = getLangDefinition(config._l).isPM(input); break; // 24 HOUR case 'H' : // fall through to hh @@ -23600,7 +23540,7 @@ return /******/ (function(modules) { // webpackBootstrap case 'dd': case 'ddd': case 'dddd': - a = config._locale.weekdaysParse(input); + a = getLangDefinition(config._l).weekdaysParse(input); // if we didn't get a weekday name, mark the date as invalid if (a != null) { config._w = config._w || {}; @@ -23636,7 +23576,7 @@ return /******/ (function(modules) { // webpackBootstrap } function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp; + var w, weekYear, week, weekday, dow, doy, temp, lang; w = config._w; if (w.GG != null || w.W != null || w.E != null) { @@ -23651,8 +23591,9 @@ return /******/ (function(modules) { // webpackBootstrap week = dfl(w.W, 1); weekday = dfl(w.E, 1); } else { - dow = config._locale._week.dow; - doy = config._locale._week.doy; + lang = getLangDefinition(config._l); + dow = lang._week.dow; + doy = lang._week.doy; weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year); week = dfl(w.w, 1); @@ -23766,6 +23707,7 @@ return /******/ (function(modules) { // webpackBootstrap // date from string and format string function makeDateFromStringAndFormat(config) { + if (config._f === moment.ISO_8601) { parseISO(config); return; @@ -23775,12 +23717,13 @@ return /******/ (function(modules) { // webpackBootstrap config._pf.empty = true; // This array is used to make a Date, either with `new Date` or `Date.UTC` - var string = '' + config._i, + var lang = getLangDefinition(config._l), + string = '' + config._i, i, parsedInput, tokens, token, skipped, stringLength = string.length, totalParsedInputLength = 0; - tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + tokens = expandFormat(config._f, lang).match(formattingTokens) || []; for (i = 0; i < tokens.length; i++) { token = tokens[i]; @@ -23855,10 +23798,7 @@ return /******/ (function(modules) { // webpackBootstrap for (i = 0; i < config._f.length; i++) { currentScore = 0; - tempConfig = copyConfig({}, config); - if (config._useUTC != null) { - tempConfig._useUTC = config._useUTC; - } + tempConfig = extend({}, config); tempConfig._pf = defaultParsingFlags(); tempConfig._f = config._f[i]; makeDateFromStringAndFormat(tempConfig); @@ -23894,8 +23834,8 @@ return /******/ (function(modules) { // webpackBootstrap config._pf.iso = true; for (i = 0, l = isoDates.length; i < l; i++) { if (isoDates[i][1].exec(string)) { - // match[5] should be 'T' or undefined - config._f = isoDates[i][0] + (match[6] || ' '); + // match[5] should be "T" or undefined + config._f = isoDates[i][0] + (match[6] || " "); break; } } @@ -23906,7 +23846,7 @@ return /******/ (function(modules) { // webpackBootstrap } } if (string.match(parseTokenTimezone)) { - config._f += 'Z'; + config._f += "Z"; } makeDateFromStringAndFormat(config); } else { @@ -23923,29 +23863,21 @@ return /******/ (function(modules) { // webpackBootstrap } } - function map(arr, fn) { - var res = [], i; - for (i = 0; i < arr.length; ++i) { - res.push(fn(arr[i], i)); - } - return res; - } - function makeDateFromInput(config) { - var input = config._i, matched; + var input = config._i, + matched = aspNetJsonRegex.exec(input); + if (input === undefined) { config._d = new Date(); - } else if (isDate(input)) { - config._d = new Date(+input); - } else if ((matched = aspNetJsonRegex.exec(input)) !== null) { + } else if (matched) { config._d = new Date(+matched[1]); } else if (typeof input === 'string') { makeDateFromString(config); } else if (isArray(input)) { - config._a = map(input.slice(0), function (obj) { - return parseInt(obj, 10); - }); + config._a = input.slice(0); dateFromConfig(config); + } else if (isDate(input)) { + config._d = new Date(+input); } else if (typeof(input) === 'object') { dateFromObject(config); } else if (typeof(input) === 'number') { @@ -23976,13 +23908,13 @@ return /******/ (function(modules) { // webpackBootstrap return date; } - function parseWeekday(input, locale) { + function parseWeekday(input, language) { if (typeof input === 'string') { if (!isNaN(input)) { input = parseInt(input, 10); } else { - input = locale.weekdaysParse(input); + input = language.weekdaysParse(input); if (typeof input !== 'number') { return null; } @@ -23997,33 +23929,29 @@ return /******/ (function(modules) { // webpackBootstrap // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize - function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { - return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + function substituteTimeAgo(string, number, withoutSuffix, isFuture, lang) { + return lang.relativeTime(number || 1, !!withoutSuffix, string, isFuture); } - function relativeTime(posNegDuration, withoutSuffix, locale) { - var duration = moment.duration(posNegDuration).abs(), - seconds = round(duration.as('s')), - minutes = round(duration.as('m')), - hours = round(duration.as('h')), - days = round(duration.as('d')), - months = round(duration.as('M')), - years = round(duration.as('y')), - - args = seconds < relativeTimeThresholds.s && ['s', seconds] || + function relativeTime(milliseconds, withoutSuffix, lang) { + var seconds = round(Math.abs(milliseconds) / 1000), + minutes = round(seconds / 60), + hours = round(minutes / 60), + days = round(hours / 24), + years = round(days / 365), + args = seconds < relativeTimeThresholds.s && ['s', seconds] || minutes === 1 && ['m'] || minutes < relativeTimeThresholds.m && ['mm', minutes] || hours === 1 && ['h'] || hours < relativeTimeThresholds.h && ['hh', hours] || days === 1 && ['d'] || - days < relativeTimeThresholds.d && ['dd', days] || - months === 1 && ['M'] || - months < relativeTimeThresholds.M && ['MM', months] || + days <= relativeTimeThresholds.dd && ['dd', days] || + days <= relativeTimeThresholds.dm && ['M'] || + days < relativeTimeThresholds.dy && ['MM', round(days / 30)] || years === 1 && ['y'] || ['yy', years]; - args[2] = withoutSuffix; - args[3] = +posNegDuration > 0; - args[4] = locale; + args[3] = milliseconds > 0; + args[4] = lang; return substituteTimeAgo.apply({}, args); } @@ -24054,7 +23982,7 @@ return /******/ (function(modules) { // webpackBootstrap daysToDayOfWeek += 7; } - adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd'); + adjustedMoment = moment(mom).add('d', daysToDayOfWeek); return { week: Math.ceil(adjustedMoment.dayOfYear() / 7), year: adjustedMoment.year() @@ -24084,18 +24012,18 @@ return /******/ (function(modules) { // webpackBootstrap var input = config._i, format = config._f; - config._locale = config._locale || moment.localeData(config._l); - if (input === null || (format === undefined && input === '')) { return moment.invalid({nullInput: true}); } if (typeof input === 'string') { - config._i = input = config._locale.preparse(input); + config._i = input = getLangDefinition().preparse(input); } if (moment.isMoment(input)) { - return new Moment(input, true); + config = cloneMoment(input); + + config._d = new Date(+input._d); } else if (format) { if (isArray(format)) { makeDateFromStringAndArray(config); @@ -24109,12 +24037,12 @@ return /******/ (function(modules) { // webpackBootstrap return new Moment(config); } - moment = function (input, format, locale, strict) { + moment = function (input, format, lang, strict) { var c; - if (typeof(locale) === 'boolean') { - strict = locale; - locale = undefined; + if (typeof(lang) === "boolean") { + strict = lang; + lang = undefined; } // object construction must be done this way. // https://github.com/moment/moment/issues/1423 @@ -24122,7 +24050,7 @@ return /******/ (function(modules) { // webpackBootstrap c._isAMomentObject = true; c._i = input; c._f = format; - c._l = locale; + c._l = lang; c._strict = strict; c._isUTC = false; c._pf = defaultParsingFlags(); @@ -24133,14 +24061,13 @@ return /******/ (function(modules) { // webpackBootstrap moment.suppressDeprecationWarnings = false; moment.createFromInputFallback = deprecate( - '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 (config) { - config._d = new Date(config._i); - } - ); + "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 (config) { + config._d = new Date(config._i); + }); // Pick a moment m from moments so that m[fn](other) is true for all // other. This relies on the function fn to be transitive. @@ -24177,12 +24104,12 @@ return /******/ (function(modules) { // webpackBootstrap }; // creating with utc - moment.utc = function (input, format, locale, strict) { + moment.utc = function (input, format, lang, strict) { var c; - if (typeof(locale) === 'boolean') { - strict = locale; - locale = undefined; + if (typeof(lang) === "boolean") { + strict = lang; + lang = undefined; } // object construction must be done this way. // https://github.com/moment/moment/issues/1423 @@ -24190,7 +24117,7 @@ return /******/ (function(modules) { // webpackBootstrap c._isAMomentObject = true; c._useUTC = true; c._isUTC = true; - c._l = locale; + c._l = lang; c._i = input; c._f = format; c._strict = strict; @@ -24211,8 +24138,7 @@ return /******/ (function(modules) { // webpackBootstrap match = null, sign, ret, - parseIso, - diffRes; + parseIso; if (moment.isDuration(input)) { duration = { @@ -24228,7 +24154,7 @@ return /******/ (function(modules) { // webpackBootstrap duration.milliseconds = input; } } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) { - sign = (match[1] === '-') ? -1 : 1; + sign = (match[1] === "-") ? -1 : 1; duration = { y: 0, d: toInt(match[DATE]) * sign, @@ -24238,7 +24164,7 @@ return /******/ (function(modules) { // webpackBootstrap ms: toInt(match[MILLISECOND]) * sign }; } else if (!!(match = isoDurationRegex.exec(input))) { - sign = (match[1] === '-') ? -1 : 1; + sign = (match[1] === "-") ? -1 : 1; parseIso = function (inp) { // We'd normally use ~~inp for this, but unfortunately it also // converts floats to ints. @@ -24256,19 +24182,12 @@ return /******/ (function(modules) { // webpackBootstrap s: parseIso(match[7]), w: parseIso(match[8]) }; - } else if (typeof duration === 'object' && - ('from' in duration || 'to' in duration)) { - diffRes = momentsDifference(moment(duration.from), moment(duration.to)); - - duration = {}; - duration.ms = diffRes.milliseconds; - duration.M = diffRes.months; } ret = new Duration(duration); - if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { - ret._locale = input._locale; + if (moment.isDuration(input) && input.hasOwnProperty('_lang')) { + ret._lang = input._lang; } return ret; @@ -24292,99 +24211,46 @@ return /******/ (function(modules) { // webpackBootstrap moment.updateOffset = function () {}; // This function allows you to set a threshold for relative time strings - moment.relativeTimeThreshold = function (threshold, limit) { - if (relativeTimeThresholds[threshold] === undefined) { - return false; - } - if (limit === undefined) { - return relativeTimeThresholds[threshold]; - } - relativeTimeThresholds[threshold] = limit; - return true; + moment.relativeTimeThreshold = function(threshold, limit) { + if (relativeTimeThresholds[threshold] === undefined) { + return false; + } + relativeTimeThresholds[threshold] = limit; + return true; }; - moment.lang = deprecate( - 'moment.lang is deprecated. Use moment.locale instead.', - function (key, value) { - return moment.locale(key, value); - } - ); - - // This function will load locale and then set the global locale. If + // This function will load languages and then set the global language. If // no arguments are passed in, it will simply return the current global - // locale key. - moment.locale = function (key, values) { - var data; - if (key) { - if (typeof(values) !== 'undefined') { - data = moment.defineLocale(key, values); - } - else { - data = moment.localeData(key); - } - - if (data) { - moment.duration._locale = moment._locale = data; - } - } - - return moment._locale._abbr; - }; - - moment.defineLocale = function (name, values) { - if (values !== null) { - values.abbr = name; - if (!locales[name]) { - locales[name] = new Locale(); - } - locales[name].set(values); - - // backwards compat for now: also set the locale - moment.locale(name); - - return locales[name]; - } else { - // useful for testing - delete locales[name]; - return null; - } - }; - - moment.langData = deprecate( - 'moment.langData is deprecated. Use moment.localeData instead.', - function (key) { - return moment.localeData(key); - } - ); - - // returns locale data - moment.localeData = function (key) { - var locale; - - if (key && key._locale && key._locale._abbr) { - key = key._locale._abbr; - } - + // language key. + moment.lang = function (key, values) { + var r; if (!key) { - return moment._locale; - } + return moment.fn._lang._abbr; + } + if (values) { + loadLang(normalizeLanguage(key), values); + } else if (values === null) { + unloadLang(key); + key = 'en'; + } else if (!languages[key]) { + getLangDefinition(key); + } + r = moment.duration.fn._lang = moment.fn._lang = getLangDefinition(key); + return r._abbr; + }; - if (!isArray(key)) { - //short-circuit everything else - locale = loadLocale(key); - if (locale) { - return locale; - } - key = [key]; + // returns language data + moment.langData = function (key) { + if (key && key._lang && key._lang._abbr) { + key = key._lang._abbr; } - - return chooseLocale(key); + return getLangDefinition(key); }; // compare moment object moment.isMoment = function (obj) { return obj instanceof Moment || - (obj != null && hasOwnProp(obj, '_isAMomentObject')); + (obj != null && obj.hasOwnProperty('_isAMomentObject')); }; // for typechecking Duration objects @@ -24440,7 +24306,7 @@ return /******/ (function(modules) { // webpackBootstrap }, toString : function () { - return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + return this.clone().lang('en').format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ"); }, toDate : function () { @@ -24474,6 +24340,7 @@ return /******/ (function(modules) { // webpackBootstrap }, isDSTShifted : function () { + if (this._a) { return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; } @@ -24489,35 +24356,53 @@ return /******/ (function(modules) { // webpackBootstrap return this._pf.overflow; }, - utc : function (keepLocalTime) { - return this.zone(0, keepLocalTime); + utc : function () { + return this.zone(0); }, - local : function (keepLocalTime) { - if (this._isUTC) { - this.zone(0, keepLocalTime); - this._isUTC = false; - - if (keepLocalTime) { - this.add(this._dateTzOffset(), 'm'); - } - } + local : function () { + this.zone(0); + this._isUTC = false; return this; }, format : function (inputString) { var output = formatMoment(this, inputString || moment.defaultFormat); - return this.localeData().postformat(output); + return this.lang().postformat(output); }, - add : createAdder(1, 'add'), + add : function (input, val) { + var dur; + // switch args to support add('s', 1) and add(1, 's') + if (typeof input === 'string' && typeof val === 'string') { + dur = moment.duration(isNaN(+val) ? +input : +val, isNaN(+val) ? val : input); + } else if (typeof input === 'string') { + dur = moment.duration(+val, input); + } else { + dur = moment.duration(input, val); + } + addOrSubtractDurationFromMoment(this, dur, 1); + return this; + }, - subtract : createAdder(-1, 'subtract'), + subtract : function (input, val) { + var dur; + // switch args to support subtract('s', 1) and subtract(1, 's') + if (typeof input === 'string' && typeof val === 'string') { + dur = moment.duration(isNaN(+val) ? +input : +val, isNaN(+val) ? val : input); + } else if (typeof input === 'string') { + dur = moment.duration(+val, input); + } else { + dur = moment.duration(input, val); + } + addOrSubtractDurationFromMoment(this, dur, -1); + return this; + }, diff : function (input, units, asFloat) { var that = makeAs(input, this), zoneDiff = (this.zone() - that.zone()) * 6e4, - diff, output, daysAdjust; + diff, output; units = normalizeUnits(units); @@ -24528,12 +24413,11 @@ return /******/ (function(modules) { // webpackBootstrap output = ((this.year() - that.year()) * 12) + (this.month() - that.month()); // adjust by taking difference in days, average number of days // and dst in the given months. - daysAdjust = (this - moment(this).startOf('month')) - - (that - moment(that).startOf('month')); + output += ((this - moment(this).startOf('month')) - + (that - moment(that).startOf('month'))) / diff; // same as above but with zones, to negate all dst - daysAdjust -= ((this.zone() - moment(this).startOf('month').zone()) - - (that.zone() - moment(that).startOf('month').zone())) * 6e4; - output += daysAdjust / diff; + output -= ((this.zone() - moment(this).startOf('month').zone()) - + (that.zone() - moment(that).startOf('month').zone())) * 6e4 / diff; if (units === 'year') { output = output / 12; } @@ -24550,7 +24434,7 @@ return /******/ (function(modules) { // webpackBootstrap }, from : function (time, withoutSuffix) { - return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + return moment.duration(this.diff(time)).lang(this.lang()._abbr).humanize(!withoutSuffix); }, fromNow : function (withoutSuffix) { @@ -24569,7 +24453,7 @@ return /******/ (function(modules) { // webpackBootstrap diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse'; - return this.format(this.localeData().calendar(format, this)); + return this.format(this.lang().calendar(format, this)); }, isLeapYear : function () { @@ -24584,8 +24468,8 @@ return /******/ (function(modules) { // webpackBootstrap day : function (input) { var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); if (input != null) { - input = parseWeekday(input, this.localeData()); - return this.add(input - day, 'd'); + input = parseWeekday(input, this.lang()); + return this.add({ d : input - day }); } else { return day; } @@ -24593,7 +24477,7 @@ return /******/ (function(modules) { // webpackBootstrap month : makeAccessor('Month', true), - startOf : function (units) { + startOf: function (units) { units = normalizeUnits(units); // the following switch intentionally omits break keywords // to utilize falling through the cases. @@ -24638,41 +24522,26 @@ return /******/ (function(modules) { // webpackBootstrap endOf: function (units) { units = normalizeUnits(units); - return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); + return this.startOf(units).add((units === 'isoWeek' ? 'week' : units), 1).subtract('ms', 1); }, isAfter: function (input, units) { - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this > +input; - } else { - return +this.clone().startOf(units) > +moment(input).startOf(units); - } + units = typeof units !== 'undefined' ? units : 'millisecond'; + return +this.clone().startOf(units) > +moment(input).startOf(units); }, isBefore: function (input, units) { - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this < +input; - } else { - return +this.clone().startOf(units) < +moment(input).startOf(units); - } + units = typeof units !== 'undefined' ? units : 'millisecond'; + return +this.clone().startOf(units) < +moment(input).startOf(units); }, isSame: function (input, units) { - units = normalizeUnits(units || 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this === +input; - } else { - return +this.clone().startOf(units) === +makeAs(input, this).startOf(units); - } + units = units || 'ms'; + return +this.clone().startOf(units) === +makeAs(input, this).startOf(units); }, min: deprecate( - 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548', + "moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548", function (other) { other = moment.apply(null, arguments); return other < this ? this : other; @@ -24680,43 +24549,36 @@ return /******/ (function(modules) { // webpackBootstrap ), max: deprecate( - 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548', + "moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548", function (other) { other = moment.apply(null, arguments); return other > this ? this : other; } ), - // keepLocalTime = true means only change the timezone, without - // affecting the local hour. So 5:31:26 +0300 --[zone(2, true)]--> - // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist int zone - // +0200, so we adjust the time as needed, to be valid. + // keepTime = true means only change the timezone, without affecting + // the local hour. So 5:31:26 +0300 --[zone(2, true)]--> 5:31:26 +0200 + // It is possible that 5:31:26 doesn't exist int zone +0200, so we + // adjust the time as needed, to be valid. // // Keeping the time actually adds/subtracts (one hour) // from the actual represented time. That is why we call updateOffset // a second time. In case it wants us to change the offset again // _changeInProgress == true case, then we have to adjust, because // there is no such time in the given timezone. - zone : function (input, keepLocalTime) { - var offset = this._offset || 0, - localAdjust; + zone : function (input, keepTime) { + var offset = this._offset || 0; if (input != null) { - if (typeof input === 'string') { + if (typeof input === "string") { input = timezoneMinutesFromString(input); } if (Math.abs(input) < 16) { input = input * 60; } - if (!this._isUTC && keepLocalTime) { - localAdjust = this._dateTzOffset(); - } this._offset = input; this._isUTC = true; - if (localAdjust != null) { - this.subtract(localAdjust, 'm'); - } if (offset !== input) { - if (!keepLocalTime || this._changeInProgress) { + if (!keepTime || this._changeInProgress) { addOrSubtractDurationFromMoment(this, moment.duration(offset - input, 'm'), 1, false); } else if (!this._changeInProgress) { @@ -24726,17 +24588,17 @@ return /******/ (function(modules) { // webpackBootstrap } } } else { - return this._isUTC ? offset : this._dateTzOffset(); + return this._isUTC ? offset : this._d.getTimezoneOffset(); } return this; }, zoneAbbr : function () { - return this._isUTC ? 'UTC' : ''; + return this._isUTC ? "UTC" : ""; }, zoneName : function () { - return this._isUTC ? 'Coordinated Universal Time' : ''; + return this._isUTC ? "Coordinated Universal Time" : ""; }, parseZone : function () { @@ -24765,7 +24627,7 @@ return /******/ (function(modules) { // webpackBootstrap dayOfYear : function (input) { var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1; - return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + return input == null ? dayOfYear : this.add("d", (input - dayOfYear)); }, quarter : function (input) { @@ -24773,28 +24635,28 @@ return /******/ (function(modules) { // webpackBootstrap }, weekYear : function (input) { - var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year; - return input == null ? year : this.add((input - year), 'y'); + var year = weekOfYear(this, this.lang()._week.dow, this.lang()._week.doy).year; + return input == null ? year : this.add("y", (input - year)); }, isoWeekYear : function (input) { var year = weekOfYear(this, 1, 4).year; - return input == null ? year : this.add((input - year), 'y'); + return input == null ? year : this.add("y", (input - year)); }, week : function (input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); + var week = this.lang().week(this); + return input == null ? week : this.add("d", (input - week) * 7); }, isoWeek : function (input) { var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); + return input == null ? week : this.add("d", (input - week) * 7); }, weekday : function (input) { - var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; - return input == null ? weekday : this.add(input - weekday, 'd'); + var weekday = (this.day() + 7 - this.lang()._week.dow) % 7; + return input == null ? weekday : this.add("d", input - weekday); }, isoWeekday : function (input) { @@ -24809,7 +24671,7 @@ return /******/ (function(modules) { // webpackBootstrap }, weeksInYear : function () { - var weekInfo = this.localeData()._week; + var weekInfo = this._lang._week; return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); }, @@ -24826,42 +24688,16 @@ return /******/ (function(modules) { // webpackBootstrap return this; }, - // If passed a locale key, it will set the locale for this - // instance. Otherwise, it will return the locale configuration + // If passed a language key, it will set the language for this + // instance. Otherwise, it will return the language configuration // variables for this instance. - locale : function (key) { - var newLocaleData; - + lang : function (key) { if (key === undefined) { - return this._locale._abbr; + return this._lang; } else { - newLocaleData = moment.localeData(key); - if (newLocaleData != null) { - this._locale = newLocaleData; - } + this._lang = getLangDefinition(key); return this; } - }, - - lang : deprecate( - 'moment().lang() is deprecated. Use moment().localeData() instead.', - function (key) { - if (key === undefined) { - return this.localeData(); - } else { - return this.locale(key); - } - } - ), - - localeData : function () { - return this._locale; - }, - - _dateTzOffset : function () { - // On Firefox.24 Date#getTimezoneOffset returns a floating point. - // https://github.com/moment/moment/pull/1871 - return Math.round(this._d.getTimezoneOffset() / 15) * 15; } }); @@ -24870,7 +24706,7 @@ return /******/ (function(modules) { // webpackBootstrap // TODO: Move this out of here! if (typeof value === 'string') { - value = mom.localeData().monthsParse(value); + value = mom.lang().monthsParse(value); // TODO: Another silent failure? if (typeof value !== 'number') { return mom; @@ -24917,9 +24753,9 @@ return /******/ (function(modules) { // webpackBootstrap moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true); // moment.fn.month is defined separately moment.fn.date = makeAccessor('Date', true); - moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true)); + moment.fn.dates = deprecate("dates accessor is deprecated. Use date instead.", makeAccessor('Date', true)); moment.fn.year = makeAccessor('FullYear', true); - moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true)); + moment.fn.years = deprecate("years accessor is deprecated. Use year instead.", makeAccessor('FullYear', true)); // add plural methods moment.fn.days = moment.fn.day; @@ -24936,17 +24772,6 @@ return /******/ (function(modules) { // webpackBootstrap ************************************/ - function daysToYears (days) { - // 400 years have 146097 days (taking into account leap year rules) - return days * 400 / 146097; - } - - function yearsToDays (years) { - // years * 365 + absRound(years / 4) - - // absRound(years / 100) + absRound(years / 400); - return years * 146097 / 400; - } - extend(moment.duration.fn = Duration.prototype, { _bubble : function () { @@ -24954,7 +24779,7 @@ return /******/ (function(modules) { // webpackBootstrap days = this._days, months = this._months, data = this._data, - seconds, minutes, hours, years = 0; + seconds, minutes, hours, years; // The following code bubbles up values, see the tests for // examples of what that means. @@ -24970,40 +24795,15 @@ return /******/ (function(modules) { // webpackBootstrap data.hours = hours % 24; days += absRound(hours / 24); + data.days = days % 30; - // Accurately convert days to years, assume start from year 0. - years = absRound(daysToYears(days)); - days -= absRound(yearsToDays(years)); - - // 30 days to a month - // TODO (iskren): Use anchor date (like 1st Jan) to compute this. months += absRound(days / 30); - days %= 30; + data.months = months % 12; - // 12 months -> 1 year - years += absRound(months / 12); - months %= 12; - - data.days = days; - data.months = months; + years = absRound(months / 12); data.years = years; }, - abs : function () { - 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); - - return this; - }, - weeks : function () { return absRound(this.days() / 7); }, @@ -25016,13 +24816,14 @@ return /******/ (function(modules) { // webpackBootstrap }, humanize : function (withSuffix) { - var output = relativeTime(this, !withSuffix, this.localeData()); + var difference = +this, + output = relativeTime(difference, !withSuffix, this.lang()); if (withSuffix) { - output = this.localeData().pastFuture(+this, output); + output = this.lang().pastFuture(difference, output); } - return this.localeData().postformat(output); + return this.lang().postformat(output); }, add : function (input, val) { @@ -25056,41 +24857,13 @@ return /******/ (function(modules) { // webpackBootstrap }, as : function (units) { - var days, months; units = normalizeUnits(units); - - if (units === 'month' || units === 'year') { - days = this._days + this._milliseconds / 864e5; - months = this._months + daysToYears(days) * 12; - return units === 'month' ? months : months / 12; - } else { - // handle milliseconds separately because of floating point math errors (issue #1867) - days = this._days + yearsToDays(this._months / 12); - switch (units) { - case 'week': return days / 7 + this._milliseconds / 6048e5; - case 'day': return days + this._milliseconds / 864e5; - case 'hour': return days * 24 + this._milliseconds / 36e5; - case 'minute': return days * 24 * 60 + this._milliseconds / 6e4; - case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000; - // Math.floor prevents floating point math errors here - case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds; - default: throw new Error('Unknown unit ' + units); - } - } + return this['as' + units.charAt(0).toUpperCase() + units.slice(1) + 's'](); }, lang : moment.fn.lang, - locale : moment.fn.locale, - - toIsoString : deprecate( - 'toIsoString() is deprecated. Please use toISOString() instead ' + - '(notice the capitals)', - function () { - return this.toISOString(); - } - ), - toISOString : function () { + toIsoString : function () { // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js var years = Math.abs(this.years()), months = Math.abs(this.months()), @@ -25114,59 +24887,41 @@ return /******/ (function(modules) { // webpackBootstrap (hours ? hours + 'H' : '') + (minutes ? minutes + 'M' : '') + (seconds ? seconds + 'S' : ''); - }, - - localeData : function () { - return this._locale; } }); - moment.duration.fn.toString = moment.duration.fn.toISOString; - function makeDurationGetter(name) { moment.duration.fn[name] = function () { return this._data[name]; }; } + function makeDurationAsGetter(name, factor) { + moment.duration.fn['as' + name] = function () { + return +this / factor; + }; + } + for (i in unitMillisecondFactors) { - if (hasOwnProp(unitMillisecondFactors, i)) { + if (unitMillisecondFactors.hasOwnProperty(i)) { + makeDurationAsGetter(i, unitMillisecondFactors[i]); makeDurationGetter(i.toLowerCase()); } } - moment.duration.fn.asMilliseconds = function () { - return this.as('ms'); - }; - moment.duration.fn.asSeconds = function () { - return this.as('s'); - }; - moment.duration.fn.asMinutes = function () { - return this.as('m'); - }; - moment.duration.fn.asHours = function () { - return this.as('h'); - }; - moment.duration.fn.asDays = function () { - return this.as('d'); - }; - moment.duration.fn.asWeeks = function () { - return this.as('weeks'); - }; + makeDurationAsGetter('Weeks', 6048e5); moment.duration.fn.asMonths = function () { - return this.as('M'); - }; - moment.duration.fn.asYears = function () { - return this.as('y'); + return (+this - this.years() * 31536e6) / 2592e6 + this.years() * 12; }; + /************************************ - Default Locale + Default Lang ************************************/ - // Set default locale, other locale will inherit from English. - moment.locale('en', { + // Set default language, other languages will inherit from English. + moment.lang('en', { ordinal : function (number) { var b = number % 10, output = (toInt(number % 100 / 10) === 1) ? 'th' : @@ -25177,7 +24932,7 @@ return /******/ (function(modules) { // webpackBootstrap } }); - /* EMBED_LOCALES */ + /* EMBED_LANGUAGES */ /************************************ Exposing Moment @@ -25191,9 +24946,9 @@ return /******/ (function(modules) { // webpackBootstrap oldGlobalMoment = globalScope.moment; if (shouldDeprecate) { globalScope.moment = deprecate( - 'Accessing Moment through the global scope is ' + - 'deprecated, and will be removed in an upcoming ' + - 'release.', + "Accessing Moment through the global scope is " + + "deprecated, and will be removed in an upcoming " + + "release.", moment); } else { globalScope.moment = moment; @@ -25204,14 +24959,14 @@ return /******/ (function(modules) { // webpackBootstrap if (hasModule) { module.exports = moment; } else if (true) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, module) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, module) { if (module.config && module.config() && module.config().noGlobal === true) { // release the global variable globalScope.moment = oldGlobalMoment; } return moment; - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + }.call(exports, __webpack_require__, exports, module)), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); makeGlobal(true); } else { makeGlobal(); @@ -27374,9 +27129,9 @@ return /******/ (function(modules) { // webpackBootstrap // AMD export if(true) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { return Hammer; - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + }.call(exports, __webpack_require__, exports, module)), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // commonjs export } else if(typeof module !== 'undefined' && module.exports) { module.exports = Hammer; @@ -30464,7 +30219,7 @@ return /******/ (function(modules) { // webpackBootstrap */ exports._zoomExtent = function(event) { // FIXME: this is a workaround because the binding of Hammer on Document makes this fire twice - if (this._zoomExtentLastTime === undefined || new Date() - this._zoomExtentLastTime > 50) { + if (this._zoomExtentLastTime === undefined || new Date() - this._zoomExtentLastTime > 200) { this._zoomExtentLastTime = new Date(); this.zoomExtent({duration:800}); event.stopPropagation(); @@ -31718,11 +31473,17 @@ return /******/ (function(modules) { // webpackBootstrap /* 61 */ /***/ function(module, exports, __webpack_require__) { + var map = {}; function webpackContext(req) { - throw new Error("Cannot find module '" + req + "'."); - } - webpackContext.resolve = webpackContext; - webpackContext.keys = function() { return []; }; + return __webpack_require__(webpackContextResolve(req)); + }; + function webpackContextResolve(req) { + return map[req] || (function() { throw new Error("Cannot find module '" + req + "'.") }()); + }; + webpackContext.keys = function webpackContextKeys() { + return Object.keys(map); + }; + webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; @@ -32372,4 +32133,4 @@ return /******/ (function(modules) { // webpackBootstrap /***/ } /******/ ]) -}); +}) diff --git a/dist/vis.map b/dist/vis.map index 9096a318..73ba5691 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","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","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","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","found","low","high","newLow","newHigh","guess","isVisible","start","console","log","binarySearchGeneric","sidePreference","newGuess","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","style","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","prototype","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","item","col","cols","getValue","update","updatedIds","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","map","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","keys","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","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","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","setOptions","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","delay","mouseX","mouseY","tooltipTimeout","clearTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","setTimeout","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","LN10","step1","pow","step2","step5","toPrecision","getStep","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setGroups","groups","setSelection","focus","getSelection","itemData","middle","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","minimumStep","containerHeight","customRange","current","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","slice","isMajor","now","hours","minutes","seconds","milliseconds","clone","direction","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","time","initTime","done","initStart","initEnd","changed","_applyRange","anyChanged","_cancelAnimation","newStart","newEnd","getRange","conversion","allowDragging","gesture","deltaX","deltaY","diffRange","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","initDate","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","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","date","year","getLabelMinor","format","getLabelMajor","destroy","_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","amountOfGroups","addGroup","graphOptions","updateGroup","removeGroup","hide","show","lineContainer","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","offsetTop","offsetLeft","ii","repositionY","labelSet","setParent","_checkIfVisible","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","box","_updateUngrouped","centerContainer","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","getLabelSet","oldItemsData","getItems","_order","getGroups","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","selected","dragLeftItem","dragRightItem","itemProps","newProps","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","lastStart","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_getRelevantData","_convertXcoordinates","_getYRanges","_updateYAxis","_convertYcoordinates","_drawLineGraph","_drawBarGraphs","dataContainer","_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","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","setAttribute","baseClassName","onTop","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","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","stabilized","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","mousetrap","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","_onRelease","_onMouseMoveTitle","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_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","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","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","dataArray","allowedToMoveX","allowedToMoveY","focusOnNode","nodePosition","easingFunction","animateView","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","active","getScale","networkConstants","fromId","toId","widthSelected","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","yLine","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","dynamicEdges","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","attributes","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","listeners","events","args","scrollTop","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","_addEvent","_characterFromEvent","fromCharCode","_MAP","_KEYCODE_MAP","_stop","tag_name","tagName","contentEditable","_modifiersMatch","modifiers1","modifiers2","_resetSequences","do_not_reset","active_sequences","_sequence_levels","_inside_sequence","_getMatches","character","modifiers","combination","matches","_isModifier","seq","combo","_eventModifiers","altKey","metaKey","_fireCallback","cancelBubble","_handleCharacter","processed_sequence_callback","_handleKey","keyCode","_ignore_next_keyup","_resetSequenceTimer","_reset_timer","_getReverseMap","_REVERSE_MAP","_pickBestAction","_bindSequence","_increaseSequence","_callbackAndReset","_bindSingle","sequence_name","sequence","_SPECIAL_ALIASES","_SHIFT_MAP","_bindMultiple","combinations",8,9,13,16,17,18,20,27,32,33,34,35,36,37,38,39,40,45,46,91,93,224,106,107,109,110,111,186,187,188,189,190,191,192,219,220,221,222,"~","!","@","#","$","%","^","&","*","(",")","_","+",":","\"","<",">","?","|","command","return","escape","_direct_map","trigger","__WEBPACK_AMD_DEFINE_RESULT__","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","_d","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","month","weeks","week","days","day","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","method","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","code","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","parts","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dayOfYear","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","dates","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","context","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","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","Infinity","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","nodeIds","getSelectedNodes","edgeIds","getSelectedEdges","idArray","RangeError","selectNodes","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","supportNodes","targetNode","targetViaNode","connectionEdge","alert","smooth","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","hammerDoc","_stopMovement","_zoomExtent","_zoomExtentLastTime","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","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","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","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","found","low","high","newLow","newHigh","guess","isVisible","start","console","log","binarySearchGeneric","sidePreference","newGuess","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","style","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","prototype","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","item","col","cols","getValue","update","updatedIds","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","map","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","keys","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","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","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","setOptions","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","delay","mouseX","mouseY","tooltipTimeout","clearTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","setTimeout","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","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","sub","sum","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","LN10","step1","pow","step2","step5","toPrecision","getStep","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setGroups","groups","setSelection","focus","getSelection","itemData","middle","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","minimumStep","containerHeight","customRange","current","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","slice","isMajor","now","hours","minutes","seconds","milliseconds","clone","direction","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","time","initTime","done","initStart","initEnd","changed","_applyRange","anyChanged","_cancelAnimation","newStart","newEnd","getRange","conversion","allowDragging","gesture","deltaX","deltaY","diffRange","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","initDate","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","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","date","year","getLabelMinor","format","getLabelMajor","destroy","_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","amountOfGroups","addGroup","graphOptions","updateGroup","removeGroup","hide","show","lineContainer","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","offsetTop","offsetLeft","ii","repositionY","labelSet","setParent","_checkIfVisible","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","box","_updateUngrouped","centerContainer","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","getLabelSet","oldItemsData","getItems","_order","getGroups","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","selected","dragLeftItem","dragRightItem","itemProps","newProps","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","lastStart","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_getRelevantData","_convertXcoordinates","_getYRanges","_updateYAxis","_convertYcoordinates","_drawLineGraph","_drawBarGraphs","dataContainer","_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","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","setAttribute","baseClassName","onTop","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","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","stabilized","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","mousetrap","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","_onRelease","_onMouseMoveTitle","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_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","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","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","dataArray","allowedToMoveX","allowedToMoveY","focusOnNode","nodePosition","easingFunction","animateView","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","active","getScale","networkConstants","fromId","toId","widthSelected","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","yLine","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","dynamicEdges","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","attributes","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","listeners","events","args","scrollTop","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","_addEvent","_characterFromEvent","fromCharCode","_MAP","_KEYCODE_MAP","_stop","tag_name","tagName","contentEditable","_modifiersMatch","modifiers1","modifiers2","_resetSequences","do_not_reset","active_sequences","_sequence_levels","_inside_sequence","_getMatches","character","modifiers","combination","matches","_isModifier","seq","combo","_eventModifiers","altKey","metaKey","_fireCallback","cancelBubble","_handleCharacter","processed_sequence_callback","_handleKey","keyCode","_ignore_next_keyup","_resetSequenceTimer","_reset_timer","_getReverseMap","_REVERSE_MAP","_pickBestAction","_bindSequence","_increaseSequence","_callbackAndReset","_bindSingle","sequence_name","sequence","_SPECIAL_ALIASES","_SHIFT_MAP","_bindMultiple","combinations",8,9,13,16,17,18,20,27,32,33,34,35,36,37,38,39,40,45,46,91,93,224,106,107,109,110,111,186,187,188,189,190,191,192,219,220,221,222,"~","!","@","#","$","%","^","&","*","(",")","_","+",":","\"","<",">","?","|","command","return","escape","_direct_map","trigger","__WEBPACK_AMD_DEFINE_RESULT__","global","dfl","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","deprecate","msg","printMsg","suppressDeprecationWarnings","warn","firstTime","padToken","func","leftZeroFill","ordinalizeToken","period","ordinal","Language","Moment","config","checkOverflow","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","month","weeks","week","days","day","hour","minute","second","millisecond","_milliseconds","_days","_months","_bubble","cloneMoment","momentProperties","absRound","number","targetLength","forceSign","output","addOrSubtractDurationFromMoment","mom","isAdding","updateOffset","_d","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","method","_lang","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","_pf","DATE","_overflowDayOfYear","isValid","_isValid","getTime","_strict","normalizeLanguage","makeAs","model","_isUTC","zone","_offset","local","loadLang","abbr","languages","unloadLang","getLangDefinition","k","hasModule","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_l","_meridiemParse","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","parseTokenOrdinal","RegExp","regexpEscape","unescapeFormat","timezoneMinutesFromString","string","possibleTzMatches","tzChunk","parts","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","_tzm","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dayOfYear","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","_i","getUTCFullYear","makeDateFromStringAndFormat","_f","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","language","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","relativeTimeThresholds","dd","dm","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","res","dayOfMonth","unit","makeAccessor","keepTime","makeDurationGetter","makeDurationAsGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","_isAMomentObject","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","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","val","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","_invalidDate","ret","parseIso","isDuration","inp","version","defaultFormat","relativeTimeThreshold","threshold","limit","_abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","inputString","dur","asFloat","that","zoneDiff","startOf","humanize","fromNow","sod","isDST","getDay","endOf","isAfter","isBefore","isSame","getTimezoneOffset","_changeInProgress","hasAlignedHourOffset","isoWeeksInYear","weekInfo","dates","isoWeeks","toJSON","withSuffix","difference","toIsoString","asSeconds","asMonths","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","context","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","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","Infinity","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","_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","nodeIds","getSelectedNodes","edgeIds","getSelectedEdges","idArray","RangeError","selectNodes","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","supportNodes","targetNode","targetViaNode","connectionEdge","alert","smooth","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","hammerDoc","_stopMovement","_zoomExtent","_zoomExtentLastTime","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","webpackContextResolve","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.css b/dist/vis.min.css index be8fefa9..159e7136 100644 --- a/dist/vis.min.css +++ b/dist/vis.min.css @@ -1 +1 @@ -.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis.timeline.root{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right,.vis.timeline .vispanel.top{border:1px #bfbfbf}.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.top{border-left-style:solid;border-right-style:solid}.vis.timeline .background{overflow:hidden}.vis.timeline .vispanel>.content{position:relative}.vis.timeline .vispanel .shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis.timeline .vispanel .shadow.top{top:-1px;left:0}.vis.timeline .vispanel .shadow.bottom{bottom:-1px;left:0}.vis.timeline .labelset{position:relative;width:100%;overflow:hidden;box-sizing:border-box}.vis.timeline .labelset .vlabel{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .labelset .vlabel:last-child{border-bottom:none}.vis.timeline .labelset .vlabel .inner{display:inline-block;padding:5px}.vis.timeline .labelset .vlabel .inner.hidden{padding:0}.vis.timeline .itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis.timeline .itemset .background,.vis.timeline .itemset .foreground{position:absolute;width:100%;height:100%}.vis.timeline .axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis.timeline .foreground .group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .foreground .group:last-child{border-bottom:none}.vis.timeline .item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block;padding:5px}.vis.timeline .item.selected{border-color:#FFC200;background-color:#FFF785;z-index:2}.vis.timeline .editable .item.selected{cursor:move}.vis.timeline .item.point.selected{background-color:#FFF785}.vis.timeline .item.box{text-align:center;border-style:solid;border-radius:2px}.vis.timeline .item.point{background:0 0}.vis.timeline .item.dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis.timeline .item.range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis.timeline .item.background{overflow:hidden;border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;top:0;bottom:0}.vis.timeline .item.range .content{position:relative;display:inline-block;overflow:hidden;max-width:100%}.vis.timeline .item.background .content{position:absolute;display:inline-block;overflow:hidden;max-width:100%;margin:5px}.vis.timeline .item.line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis.timeline .item .content{white-space:nowrap;overflow:hidden}.vis.timeline .item .delete{background:url(img/timeline/delete.png) top center no-repeat;position:absolute;width:24px;height:24px;top:0;right:-24px;cursor:pointer}.vis.timeline .item.range .drag-left{position:absolute;width:24px;height:100%;top:0;left:-4px;cursor:w-resize}.vis.timeline .item.range .drag-right{position:absolute;width:24px;height:100%;top:0;right:-4px;cursor:e-resize}.vis.timeline .timeaxis{position:relative;overflow:hidden}.vis.timeline .timeaxis.foreground{top:0;left:0;width:100%}.vis.timeline .timeaxis.background{position:absolute;top:0;left:0;width:100%;height:100%}.vis.timeline .timeaxis .text{position:absolute;color:#4d4d4d;padding:3px;white-space:nowrap}.vis.timeline .timeaxis .text.measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis.timeline .timeaxis .grid.vertical{position:absolute;width:0;border-right:1px solid}.vis.timeline .timeaxis .grid.minor{border-color:#e5e5e5}.vis.timeline .timeaxis .grid.major{border-color:#bfbfbf}.vis.timeline .currenttime{background-color:#FF7F6E;width:2px;z-index:1}.vis.timeline .customtime{background-color:#6E94FF;width:2px;cursor:move;z-index:1}.vis.timeline .vispanel.background.horizontal .grid.horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis.timeline .vispanel.background.horizontal .grid.minor{border-color:#e5e5e5}.vis.timeline .vispanel.background.horizontal .grid.major{border-color:#bfbfbf}.vis.timeline .dataaxis .yAxis.major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis.timeline .dataaxis .yAxis.major.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis.timeline .dataaxis .yAxis.minor.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .legend{background-color:rgba(247,252,255,.65);padding:5px;border-color:#b3b3b3;border-style:solid;border-width:1px;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis.timeline .legendText{white-space:nowrap;display:inline-block}.vis.timeline .graphGroup0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis.timeline .graphGroup1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis.timeline .graphGroup2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis.timeline .graphGroup3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis.timeline .graphGroup4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis.timeline .graphGroup5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis.timeline .graphGroup6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis.timeline .graphGroup7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis.timeline .graphGroup8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis.timeline .graphGroup9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis.timeline .fill{fill-opacity:.1;stroke:none}.vis.timeline .bar{fill-opacity:.5;stroke-width:1px}.vis.timeline .point{stroke-width:2px;fill-opacity:1}.vis.timeline .legendBackground{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis.timeline .outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis.timeline .iconFill{fill-opacity:.3;stroke:none}div.network-manipulationDiv{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0);position:absolute;left:0;top:0;width:100%;height:30px}div.network-manipulation-editMode{position:absolute;left:0;top:0;height:30px;margin-top:20px}div.network-manipulation-closeDiv{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.network-manipulation-closeDiv:hover{opacity:.6}span.network-manipulationUI{font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin:-14px 0 0 10px;vertical-align:middle;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.network-manipulationUI:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}span.network-manipulationUI:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}span.network-manipulationUI.back{background-image:url(img/network/backIcon.png)}span.network-manipulationUI.none:hover{box-shadow:1px 1px 8px transparent;cursor:default}span.network-manipulationUI.none:active{box-shadow:1px 1px 8px transparent}span.network-manipulationUI.none{padding:0}span.network-manipulationUI.notification{margin:2px;font-weight:700}span.network-manipulationUI.add{background-image:url(img/network/addNodeIcon.png)}span.network-manipulationUI.edit{background-image:url(img/network/editIcon.png)}span.network-manipulationUI.edit.editmode{background-color:#fcfcfc;border-style:solid;border-width:1px;border-color:#ccc}span.network-manipulationUI.connect{background-image:url(img/network/connectIcon.png)}span.network-manipulationUI.delete{background-image:url(img/network/deleteIcon.png)}span.network-manipulationLabel{margin:0 0 0 23px;line-height:25px}div.network-seperatorLine{display:inline-block;width:1px;height:20px;background-color:#bdbdbd;margin:5px 7px 0 15px}div.network-navigation_wrapper{position:absolute;left:0;top:0;width:100%;height:100%}div.network-navigation{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.network-navigation:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.network-navigation:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.network-navigation.up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.network-navigation.down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.network-navigation.left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.network-navigation.right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.network-navigation.zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.network-navigation.zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.network-navigation.zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px} \ No newline at end of file +.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis.timeline.root{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right,.vis.timeline .vispanel.top{border:1px #bfbfbf}.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.top{border-left-style:solid;border-right-style:solid}.vis.timeline .background{overflow:hidden}.vis.timeline .vispanel>.content{position:relative}.vis.timeline .vispanel .shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis.timeline .vispanel .shadow.top{top:-1px;left:0}.vis.timeline .vispanel .shadow.bottom{bottom:-1px;left:0}.vis.timeline .labelset{position:relative;width:100%;overflow:hidden;box-sizing:border-box}.vis.timeline .labelset .vlabel{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .labelset .vlabel:last-child{border-bottom:none}.vis.timeline .labelset .vlabel .inner{display:inline-block;padding:5px}.vis.timeline .labelset .vlabel .inner.hidden{padding:0}.vis.timeline .itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis.timeline .itemset .background,.vis.timeline .itemset .foreground{position:absolute;width:100%;height:100%}.vis.timeline .axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis.timeline .foreground .group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .foreground .group:last-child{border-bottom:none}.vis.timeline .item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block;padding:5px}.vis.timeline .item.selected{border-color:#FFC200;background-color:#FFF785;z-index:2}.vis.timeline .editable .item.selected{cursor:move}.vis.timeline .item.point.selected{background-color:#FFF785}.vis.timeline .item.box{text-align:center;border-style:solid;border-radius:2px}.vis.timeline .item.point{background:0 0}.vis.timeline .item.dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis.timeline .item.range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis.timeline .item.background{overflow:hidden;border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;top:0;bottom:0}.vis.timeline .item.range .content{position:relative;display:inline-block;overflow:hidden;max-width:100%}.vis.timeline .item.background .content{position:absolute;display:inline-block;overflow:hidden;max-width:100%;margin:5px}.vis.timeline .item.line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis.timeline .item .content{white-space:nowrap;overflow:hidden}.vis.timeline .item .delete{background:url(img/timeline/delete.png) no-repeat top center;position:absolute;width:24px;height:24px;top:0;right:-24px;cursor:pointer}.vis.timeline .item.range .drag-left{position:absolute;width:24px;height:100%;top:0;left:-4px;cursor:w-resize}.vis.timeline .item.range .drag-right{position:absolute;width:24px;height:100%;top:0;right:-4px;cursor:e-resize}.vis.timeline .timeaxis{position:relative;overflow:hidden}.vis.timeline .timeaxis.foreground{top:0;left:0;width:100%}.vis.timeline .timeaxis.background{position:absolute;top:0;left:0;width:100%;height:100%}.vis.timeline .timeaxis .text{position:absolute;color:#4d4d4d;padding:3px;white-space:nowrap}.vis.timeline .timeaxis .text.measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis.timeline .timeaxis .grid.vertical{position:absolute;width:0;border-right:1px solid}.vis.timeline .timeaxis .grid.minor{border-color:#e5e5e5}.vis.timeline .timeaxis .grid.major{border-color:#bfbfbf}.vis.timeline .currenttime{background-color:#FF7F6E;width:2px;z-index:1}.vis.timeline .customtime{background-color:#6E94FF;width:2px;cursor:move;z-index:1}.vis.timeline .vispanel.background.horizontal .grid.horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis.timeline .vispanel.background.horizontal .grid.minor{border-color:#e5e5e5}.vis.timeline .vispanel.background.horizontal .grid.major{border-color:#bfbfbf}.vis.timeline .dataaxis .yAxis.major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis.timeline .dataaxis .yAxis.major.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis.timeline .dataaxis .yAxis.minor.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .legend{background-color:rgba(247,252,255,.65);padding:5px;border-color:#b3b3b3;border-style:solid;border-width:1px;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis.timeline .legendText{white-space:nowrap;display:inline-block}.vis.timeline .graphGroup0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis.timeline .graphGroup1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis.timeline .graphGroup2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis.timeline .graphGroup3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis.timeline .graphGroup4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis.timeline .graphGroup5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis.timeline .graphGroup6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis.timeline .graphGroup7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis.timeline .graphGroup8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis.timeline .graphGroup9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis.timeline .fill{fill-opacity:.1;stroke:none}.vis.timeline .bar{fill-opacity:.5;stroke-width:1px}.vis.timeline .point{stroke-width:2px;fill-opacity:1}.vis.timeline .legendBackground{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis.timeline .outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis.timeline .iconFill{fill-opacity:.3;stroke:none}div.network-manipulationDiv{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0);position:absolute;left:0;top:0;width:100%;height:30px}div.network-manipulation-editMode{position:absolute;left:0;top:0;height:30px;margin-top:20px}div.network-manipulation-closeDiv{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.network-manipulation-closeDiv:hover{opacity:.6}span.network-manipulationUI{font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin:-14px 0 0 10px;vertical-align:middle;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.network-manipulationUI:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}span.network-manipulationUI:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}span.network-manipulationUI.back{background-image:url(img/network/backIcon.png)}span.network-manipulationUI.none:hover{box-shadow:1px 1px 8px transparent;cursor:default}span.network-manipulationUI.none:active{box-shadow:1px 1px 8px transparent}span.network-manipulationUI.none{padding:0}span.network-manipulationUI.notification{margin:2px;font-weight:700}span.network-manipulationUI.add{background-image:url(img/network/addNodeIcon.png)}span.network-manipulationUI.edit{background-image:url(img/network/editIcon.png)}span.network-manipulationUI.edit.editmode{background-color:#fcfcfc;border-style:solid;border-width:1px;border-color:#ccc}span.network-manipulationUI.connect{background-image:url(img/network/connectIcon.png)}span.network-manipulationUI.delete{background-image:url(img/network/deleteIcon.png)}span.network-manipulationLabel{margin:0 0 0 23px;line-height:25px}div.network-seperatorLine{display:inline-block;width:1px;height:20px;background-color:#bdbdbd;margin:5px 7px 0 15px}div.network-navigation_wrapper{position:absolute;left:0;top:0;width:100%;height:100%}div.network-navigation{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.network-navigation:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.network-navigation:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.network-navigation.up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.network-navigation.down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.network-navigation.left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.network-navigation.right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.network-navigation.zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.network-navigation.zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.network-navigation.zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 6535e314..0c0a04c9 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 3.4.2-SNAPSHOT - * @date 2014-09-11 + * @date 2014-09-12 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,17 +22,17 @@ * License for the specific language governing permissions and limitations under * the 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.Graph3d=i(5),e.graph3d={Camera:i(6),Filter:i(7),Point2d:i(8),Point3d:i(9),Slider:i(10),StepNumber:i(11)},e.Timeline=i(12),e.Graph2d=i(13),e.timeline={DataStep:i(14),Range:i(15),stack:i(16),TimeStep:i(17),components:{items:{Item:i(28),BackgroundItem:i(29),BoxItem:i(30),PointItem:i(31),RangeItem:i(32)},Component:i(18),CurrentTime:i(19),CustomTime:i(20),DataAxis:i(21),GraphGroup:i(22),Group:i(23),ItemSet:i(24),Legend:i(25),LineGraph:i(26),TimeAxis:i(27)}},e.Network=i(33),e.network={Edge:i(34),Groups:i(35),Images:i(36),Node:i(37),Popup:i(38),dotparser:i(39),gephiParser:i(40)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(41),e.hammer=i(42)},function(module,exports,__webpack_require__){var moment=__webpack_require__(41);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":t instanceof Array?"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(t instanceof Array)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}},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;sa;)o=void 0===s?n[u][i]:n[u][i][s],n[u].isVisible(e)?h=!0:(o=r&&console.log("BinarySearch too many iterations. Aborting.")}return u},exports.binarySearchGeneric=function(t,e,i,s){var o,n,r,a,h=1e4,d=0,l=t,c=!1,p=0,u=l.length,m=p,f=u,g=Math.floor(.5*(u+p));if(0==u)g=-1;else if(1==u)r=l[g][i],g=r==e?0:-1;else{for(u-=1;0==c&&h>d;)n=l[Math.max(0,g-1)][i],r=l[g][i],a=l[Math.min(l.length-1,g+1)][i],r==e||e>n&&r>e||e>r&&a>e?(c=!0,r!=e&&("before"==s?e>n&&r>e&&(g=Math.max(0,g-1)):e>r&&a>e&&(g=Math.min(l.length-1,g+1)))):(e>r?m=Math.floor(.5*(u+p)):f=Math.floor(.5*(u+p)),o=Math.floor(.5*(u+p)),p==m&&u==f?(g=-1,c=!0):(u=f,p=m,g=Math.floor(.5*(u+p)))),d++;d>=h&&console.log("BinarySearch too many iterations. Aborting.")}return g},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.setAttributeNS(null,"class",s.className+" point")):(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),r.setAttributeNS(null,"class",s.className+" point")),r},e.drawBar=function(t,i,s,o,n,r,a){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)}var o=i(1);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=this,r=n._fieldId,a=function(t){var e=t[r];n._data[e]?(e=n._updateItem(t),s.push(e)):(e=n._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else if(o.isDataTable(t))for(var l=this._getColumnNames(t),c=0,p=t.getNumberOfRows();p>c;c++){for(var u={},m=0,f=l.length;f>m;m++){var g=l[m];u[g]=t.getValue(c,m)}a(u)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s},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,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",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(50),n=i(3),r=i(4),a=i(1),h=i(9),d=i(8),l=i(6),c=i(7),p=i(10),u=i(11);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(" "+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(" "+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(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 M=this.zLabel;M.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(M,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/M/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(9);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){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");var n=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)},util:{snap:null,toScreen:n._toScreen.bind(n),toGlobalScreen:n._toGlobalScreen.bind(n),toTime:n._toTime.bind(n),toGlobalTime:n._toGlobalTime.bind(n)}},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,i&&this.setOptions(i),e?this.setItems(e):this.redraw()}var o=(i(50),i(42),i(1)),n=i(3),r=i(4),a=i(15),h=i(43),d=i(27),l=i(19),c=i(20),p=i(24);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){var n=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)},util:{snap:null,toScreen:n._toScreen.bind(n),toGlobalScreen:n._toGlobalScreen.bind(n),toTime:n._toTime.bind(n),toGlobalTime:n._toGlobalTime.bind(n)}},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,i&&this.setOptions(i),s&&this.setGroups(s),e?this.setItems(e):this.redraw()}var o=(i(50),i(42),i(1)),n=i(3),r=i(4),a=i(15),h=i(43),d=i(27),l=i(19),c=i(20),p=i(26);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&&("start"in this.options||"end"in this.options)){this.fit();var s="start"in this.options?o.convert(this.options.start,"Date"):null,a="end"in this.options?o.convert(this.options.end,"Date"):null;this.setWindow(s,a)}},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){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(){for(var t=""+Number(this.current).toPrecision(5),e=t.length-1;e>0;e--){if("0"!=t[e]){if("."==t[e]||","==t[e]){t=t.slice(0,e);break}break}t=t.slice(0,e)}return t},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("days",-3).valueOf(),this.end=i.clone().add("days",4).valueOf(),this.body=t,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(44),h=i(41),d=i(18);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate"];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-c,i=e>l,m=i||null===o?o:r.easeInOutQuad(e,h,o,l),f=i||null===n?n:r.easeInOutQuad(e,d,n,l);u=a._applyRange(m,f),p=p||u,u&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?p&&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,l="number"==typeof i?i:500,c=(new Date).valueOf(),p=!1;return s()}var u=this._applyRange(o,n);if(u){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){return s.conversion(this.start,this.end,t)},s.conversion=function(t,e,i){return 0!=i&&e-t!=0?{offset:t,scale:i/(e-t)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){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){var e=this.options.direction;if(o(e),this.props.touch.allowDragging){var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY,s=this.props.touch.end-this.props.touch.start,n="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,r=-i/n*s;this._applyRange(this.props.touch.start+r,this.props.touch.end+r),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)}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},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,i=this._pointerToDate(this.props.touch.center),s=parseInt(i+(this.props.touch.start-i)*e),o=parseInt(i+(this.props.touch.end-i)*e);this.setRange(s,o)}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i){var s=this.body.domProps.center.width;return e=this.conversion(s),t.x/e.scale+e.offset}var n=this.body.domProps.center.height;return e=this.conversion(n),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e){null==e&&(e=(this.start+this.end)/2);var i=e+(this.start-e)*t,s=e+(this.end-e)*t;this.setRange(i,s)},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(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&&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){var i,s;for(i=0,s=t.length;s>i;i++)t[i].top=e.axis},e.collision=function(t,e,s){return t.left-s.horizontal+ie.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i){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)}var o=i(41);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(){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(18),r=i(41),a=i(45);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(42),n=i(1),r=i(18),a=i(41),h=i(45);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}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{}},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.groups={},this.amountOfGroups=0,this._create()}var o=i(1),n=i(2),r=i(18),a=i(14);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"];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.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)},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;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()}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=0,l=1;this.maxLabelSize=0;for(var c=0;l=0&&this._redrawLabel(c-2,i.getCurrent(),t,"yAxis major",this.props.majorCharHeight),this._redrawLine(c,t,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(c,t,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),l++}this.conversionFactor=0==this.master?c/(this.valueAtZero-i.current):this.dom.frame.offsetHeight/i.marginRange;var u=1==this.options.icons?this.options.iconWidth+this.options.labelOffsetX+15:this.options.labelOffsetX+15;return this.maxLabelSize>this.width-u&&1==this.options.visible?(this.width=this.maxLabelSize+u,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+u),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.maxLabelSizee.axis){var c=d-e.axis;l-=c,o.forEach(h,function(t){t.top-=c})}a=l+e.item.vertical/2}else a=e.axis+e.item.vertical;a=Math.max(a,this.props.label.height);var p=this.dom.foreground;this.top=p.offsetTop,this.left=p.offsetLeft,this.width=p.offsetWidth,s=o.updateProperty(this,"height",a)||s,s=o.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||s,s=o.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||s,this.dom.background.style.height=a+"px",this.dom.foreground.style.height=a+"px",this.dom.label.style.height=a+"px";for(var u=0,m=this.visibleItems.length;m>u;u++){var f=this.visibleItems[u];f.repositionY()}return s},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),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.remove=function(t){delete this.items[t.id],t.setParent(this.itemSet);var e=this.visibleItems.indexOf(t);-1!=e&&this.visibleItems.splice(e,1)},s.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},s.prototype.order=function(){var t=o.toArray(this.items);this.orderedItems.byStart=t,this.orderedItems.byEnd=this._constructByEndArray(t),n.orderByStart(this.orderedItems.byStart),n.orderByEnd(this.orderedItems.byEnd)},s.prototype._constructByEndArray=function(t){for(var e=[],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;ne;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,g=t.axis+t.item.vertical;return 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,g),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[m];return i||null},s.prototype._updateUngrouped=function(){var t=this.groups[m];if(this.groupsData)t&&(t.hide(),delete this.groups[m]);else if(!t){var e=null,i=null;t=new d(e,i,this),this.groups[m]=t;for(var s in this.items)this.items.hasOwnProperty(s)&&t.add(this.items[s]);t.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")},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._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=i.type||e.options.type||(i.end?"range":"box"),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")},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"))},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)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")},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")},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.groupsData?t.data.group:m,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.groupsData?t.data.group:m,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);var i=this.groupsData?t.data.group:m,s=this.groups[i];s&&s.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:this.getSelection()}),t.stopPropagation()}},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()}),t.stopPropagation()}}},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(18);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._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.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{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=""):(this.dom.frame.style.bottom=4-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 i="";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]||(i+=this.groups[e].content+"
"));this.dom.textArea.innerHTML=i,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;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(18),d=i(21),l=i(22),c=i(25),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"];o.selectiveDeepExtend(e,this.options,t),o.mergeOptions(this.options,t,"catmullRom"),o.mergeOptions(this.options,t,"drawPoints"),o.mergeOptions(this.options,t,"shaded"),o.mergeOptions(this.options,t,"legend"),t.catmullRom&&"object"==typeof t.catmullRom&&t.catmullRom.parametrization&&("uniform"==t.catmullRom.parametrization?this.options.catmullRom.alpha=0:"chordal"==t.catmullRom.parametrization?this.options.catmullRom.alpha=1:(this.options.catmullRom.parametrization="centripetal",this.options.catmullRom.alpha=.5)),this.yAxisLeft&&void 0!==t.dataAxis&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&void 0!==t.legend&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(p)&&this.groups[p].setOptions(t)}this.dom.frame&&this._updateGraph()},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.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&&(o.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;o.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}this._updateUngrouped(),this._updateGraph(),this.redraw()},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(o.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;o.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._onUpdate()},s.prototype._onUpdate=function(){this._updateUngrouped(),this._updateAllGroupData(),this._updateGraph(),this.redraw()},s.prototype._onAdd=function(t){this._onUpdate(t)},s.prototype._onRemove=function(t){this._onUpdate(t)},s.prototype._onUpdateGroups=function(t){for(var e=0;e0){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 m=a+(l[s].amount-l[s].resolved),f=a-(l[s].resolved+1);m0&&(i=Math.min(i,Math.abs(d[f].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),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"),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,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,M=0;S-1>M;M++)s=0==M?t[0]:t[M-1],o=t[M],n=t[M+1],r=S>M+2?t[M+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.prototype._linear=function(t){for(var e="",i=0;id;){d++;var l=n.getCurrent(),c=this.body.util.toScreen(l),p=n.isMajor();this.options.showMinorLabels&&this._repaintMinorText(c,n.getLabelMinor(),t),p&&this.options.showMajorLabels?(c>0&&(void 0==h&&(h=c),this._repaintMajorText(c,n.getLabelMajor(),t)),this._repaintMajorLine(c,t)):this._repaintMinorLine(c,t),n.next()}if(this.options.showMajorLabels){var u=this.body.util.toTime(0),m=n.getLabelMajor(u),f=m.length*(this.props.majorCharWidth||10)+10;(void 0==h||h>f)&&this._repaintMajorText(0,m,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 minor 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(42);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 instanceof Element)t.innerHTML="",t.appendChild(e);else{if(void 0==e)throw new Error('Property "content" missing in item '+this.data.id);t.innerHTML=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)for(var e=0;et.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 time axis: 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);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=n.prototype.show,s.prototype.hide=n.prototype.hide,s.prototype.repositionX=n.prototype.repositionX,s.prototype.repositionY=function(){var t="top"===this.options.orientation;this.dom.content.style.top=t?"":"0",this.dom.content.style.bottom=t?"0":""},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(28);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 time axis: 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);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;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.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),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(50),n=i(42),r=i(51),a=i(1),h=i(44),d=i(3),l=i(4),c=i(39),p=i(40),u=i(35),m=i(36),f=i(37),g=i(34),v=i(38),y=i(48),b=i(49),_=i(46);i(47),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.minX)+Math.abs(o.maxX)),h=1.1*(Math.abs(o.minY)+Math.abs(o.maxY)),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("release",e._onRelease.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.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;this.mousetrap=r,this.mousetrap.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.mousetrap.bind("up",this._moveUp.bind(t),"keydown"),this.mousetrap.bind("up",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("down",this._moveDown.bind(t),"keydown"),this.mousetrap.bind("down",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("left",this._moveLeft.bind(t),"keydown"),this.mousetrap.bind("left",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("right",this._moveRight.bind(t),"keydown"),this.mousetrap.bind("right",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("=",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("=",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("-",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("-",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("[",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("[",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("]",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("]",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pageup",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("pageup",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.mousetrap.bind("escape",this._createManipulatorBar.bind(t)),this.mousetrap.bind("del",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){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1);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){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(){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()},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;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})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(t instanceof Array)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){for(var e=this.nodes,i=this.nodesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n],a=i.get(n);r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),e[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._reconnectEdges(),this._updateValueRange(e)},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(t instanceof Array)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=[]);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,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(){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.focusOnNode=function(t,e){if(this.nodes.hasOwnProperty(t)){void 0===e&&(e={});var i={x:this.nodes[t].x,y:this.nodes[t].y};e.position=i,this.moveTo(e)}else console.log("This nodeId cannot be found.")},s.prototype.moveTo=function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this._getScale()),void 0===t.position&&(t.position=this._getTranslation()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))},s.prototype.animateView=function(t){if(void 0===t)return void(t={});0!=this.easingTime&&this._transitionRedraw(1),this.sourceScale=this._getScale(),this.sourceTranslation=this._getTranslation(),this.targetScale=t.scale,this._setScale(this.targetScale);var e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0==t.animation.duration?(this._setScale(this.targetScale),this._setTranslation(this.targetTranslation.x,this.targetTranslation.y),this._redraw()):(this.animationSpeed=1/(this.renderRefreshRate*t.animation.duration*.001)||1/this.renderRefreshRate,this.animationEasingFunction=t.animation.easingFunction,this._classicRedraw=this._redraw,this._redraw=this._transitionRedraw,this.moving=!0,this.start())},s.prototype._transitionRedraw=function(t){this.easingTime=t||this.easingTime+this.animationSpeed,this.easingTime+=this.animationSpeed;var e=a.easingFunctions[this.animationEasingFunction](this.easingTime);this._setScale(this.sourceScale+(this.targetScale-this.sourceScale)*e),this._setTranslation(this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e),this._classicRedraw(),this.moving=!0,this.easingTime>=1&&(this.easingTime=0,this._redraw=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()},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.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(37);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),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(o[d]).width;h=l>h?l:h}var c=this.options.fontSize*n,p=i-h/2,u=s-c/2;t.fillRect(p,u,h,c)}t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle";for(var d=0;n>d;d++)t.fillText(o[d],i,a),a+=r}},s.prototype._drawDashLine=function(t){t.strokeStyle=1==this.selected?this.options.color.highlight:1==this.hover?this.options.color.hover:this.options.color.color,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(1==this.selected?(t.strokeStyle=this.options.color.highlight,t.fillStyle=this.options.color.highlight):1==this.hover?(t.strokeStyle=this.options.color.hover,t.fillStyle=this.options.color.hover):(t.strokeStyle=this.options.color.color,t.fillStyle=this.options.color.color),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){1==this.selected?(t.strokeStyle=this.options.color.highlight,t.fillStyle=this.options.color.highlight):1==this.hover?(t.strokeStyle=this.options.color.hover,t.fillStyle=this.options.color.hover):(t.strokeStyle=this.options.color.color,t.fillStyle=this.options.color.color),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){if(this.from!=this.to){if(1==this.options.smoothCurves.enabled){var r,a;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)r=this.via.x,a=this.via.y;else{var h=this._getViaCoordinates();r=h.x,a=h.y}var d,l,c,p,u,m,f,g=1e9;for(l=0;10>l;l++)c=.1*l,p=Math.pow(1-c,2)*t+2*c*(1-c)*r+Math.pow(c,2)*i,u=Math.pow(1-c,2)*e+2*c*(1-c)*a+Math.pow(c,2)*s,l>0&&(d=this._getDistanceToLine(m,f,p,u,o,n),g=g>d?d:g),m=p,f=u;return g}return this._getDistanceToLine(t,e,i,s,o,n)}var p,u,v,y,b=.25*this.physics.springLength,_=this.from;return _.width>_.height?(p=_.x+.5*_.width,u=_.y-b):(p=_.x+b,u=_.y-.5*_.height),v=p-o,y=u-n,Math.abs(Math.sqrt(v*v+y*y)-b)},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.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.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),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),this.originalLabel=void 0,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(this.xFixed=this.xFixed||void 0!==t.x&&!t.allowedToMoveX,this.yFixed=this.yFixed||void 0!==t.y&&!t.allowedToMoveY,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){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){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;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;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,t.textAlign=o||"center",t.textBaseline=n||"middle";var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;if(1==r&&(l=s+(1-h)/(2*d)),void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){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;t.fillStyle=this.options.fontFill,t.fillRect(f,g,c,m)}t.fillStyle=this.options.fontColor||"black";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=C.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=C.DELIMITER);var i=O+n();if(D[i])return k=C.DELIMITER,L=i,o(),void o();if(D[O])return k=C.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=C.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=C.IDENTIFIER)}for(k=C.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==C.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!=C.IDENTIFIER)throw x("Identifier expected");var s=L;if(p(),"="==L){if(p(),k!=C.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==C.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!=C.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!=C.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),k!=C.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){t instanceof Array?t.forEach(function(t){e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}):e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}function M(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 C={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},D={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},E="",T=0,O="",L="",k=C.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=M},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){"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),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var d=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=d,i.leftContainer.height=d,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 l=i.root.width-i.left.width-i.right.width-n;i.center.width=l,i.centerContainer.width=l,i.top.width=l,i.bottom.width=l,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 c=this.props.scrollTop;"bottom"==e.orientation&&(c+=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=c+"px",s.left.style.left="0",s.left.style.top=c+"px",s.right.style.left="0",s.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",u=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=p,s.shadowBottom.style.visibility=u,s.shadowTopLeft.style.visibility=p,s.shadowBottomLeft.style.visibility=u,s.shadowTopRight.style.visibility=p,s.shadowBottomRight.style.visibility=u,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){var e=this.range.conversion(this.props.center.width);return new Date(t/e.scale+e.offset)},s.prototype._toGlobalTime=function(t){var e=this.range.conversion(this.props.root.width);return new Date(t/e.scale+e.offset)},s.prototype._toScreen=function(t){var e=this.range.conversion(this.props.center.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._toGlobalScreen=function(t){var e=this.range.conversion(this.props.root.width);return(t.valueOf()-e.offset)*e.scale},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()}},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){var s=i(60),o=i(54),n=i(55),r=i(56),a=i(57),h=i(58),d=i(59);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.containerElement.removeChild(this.manipulationDiv),this.containerElement.removeChild(this.editModeDiv),this.containerElement.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()}),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(51),r=i(50),a=i(42),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"),n.bind("esc",this.escListener)},s.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),n.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){function e(t,e,i){return t.addEventListener?t.addEventListener(e,i,!1):void t.attachEvent("on"+e,i)}function i(t){return"keypress"==t.type?String.fromCharCode(t.which):_[t.which]?_[t.which]:x[t.which]?x[t.which]:String.fromCharCode(t.which).toLowerCase()}function s(t){var e=t.target||t.srcElement,i=e.tagName;return(" "+e.className+" ").indexOf(" mousetrap ")>-1?!1:"INPUT"==i||"SELECT"==i||"TEXTAREA"==i||e.contentEditable&&"true"==e.contentEditable}function o(t,e){return t.sort().join(",")===e.sort().join(",")}function n(t){t=t||{};var e,i=!1;for(e in D)t[e]?i=!0:D[e]=0;i||(T=!1)}function r(t,e,i,s,n){var r,a,h=[];if(!M[t])return[];for("keyup"==i&&c(t)&&(e=[t]),r=0;r95&&112>t||_.hasOwnProperty(t)&&(y[_[t]]=t)}return y}function m(t,e,i){return i||(i=u()[t]?"keydown":"keypress"),"keypress"==i&&e.length&&(i="keydown"),i}function f(t,e,s,o){D[t]=0,o||(o=m(e[0],[]));var r,a=function(){T=o,++D[t],p()},d=function(t){h(s,t),"keyup"!==o&&(E=i(t)),setTimeout(n,10)};for(r=0;r1)return f(t,d,e,i);for(h="+"===t?["+"]:t.split("+"),n=0;n":".","?":"/","|":"\\"},S={option:"alt",command:"meta","return":"enter",escape:"esc"},M={},C={},D={},E=!1,T=!1,O=1;20>O;++O)_[111+O]="f"+O;for(O=0;9>=O;++O)_[O+96]=O;e(document,"keypress",l),e(document,"keydown",l),e(document,"keyup",l);var L={bind:function(t,e,i){return v(t instanceof Array?t:[t],e,i),C[t+":"+i]=e,this},unbind:function(t,e){return C[t+":"+e]&&(delete C[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return C[t+":"+e](),this},reset:function(){return M={},C={},this}};t.exports=L},function(t,e,i){var s;(function(t,o){(function(n){function r(t,e,i){switch(arguments.length){case 2:return null!=t?t:e;case 3:return null!=t?t:null!=e?e:i;default:throw new Error("Implement me")}}function a(t,e){return Le.call(t,e)}function h(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(t){Me.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function l(t,e){var i=!0;return v(function(){return i&&(d(t),i=!1),e.apply(this,arguments)},e)}function c(t,e){xi[t]||(d(e),xi[t]=!0)}function p(t,e){return function(i){return _(t.call(this,i),e)}}function u(t,e){return function(i){return this.localeData().ordinal(t.call(this,i),e)}}function m(){}function f(t,e){e!==!1&&P(t),y(this,t),this._d=new Date(+t._d)}function g(t){var e=O(t),i=e.year||0,s=e.quarter||0,o=e.month||0,n=e.week||0,r=e.day||0,a=e.hour||0,h=e.minute||0,d=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*d+6e4*h+36e5*a,this._days=+r+7*n,this._months=+o+3*s+12*i,this._data={},this._locale=Me.localeData(),this._bubble()}function v(t,e){for(var i in e)a(e,i)&&(t[i]=e[i]);return a(e,"toString")&&(t.toString=e.toString),a(e,"valueOf")&&(t.valueOf=e.valueOf),t}function y(t,e){var i,s,o;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=e._pf),"undefined"!=typeof e._locale&&(t._locale=e._locale),He.length>0)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"}Me[t]=function(s,o){var r,a,h=Me._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=Me().utc().set(i,t);return h.call(Me._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(Me([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=Me.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Me.locale(e)}catch(i){}return Fe[t]}function B(t,e){return e._isUTC?Me(t).zone(e._offset||0):Me(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:Ze;case"Y":case"G":case"g":return ai;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?ri:qe;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 Z(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]=Me.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]=Me.parseTwoDigitYear(e)}}function q(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(Me(),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(Me(),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]&&q(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===Me.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),Z(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,Me.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=Me.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=Me(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||Me.localeData(t._l),null===e||i===n&&""===e?Me.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),Me.isMoment(e)?new f(e,!0):(i?C(i)?ie(t):J(t):re(t),new f(t)))}function fe(t,e){var i,s;if(1===e.length&&C(e[0])&&(e=e[0]),!e.length)return Me();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;)De=yi.pop(),_i[De+"o"]=u(_i[De],De);for(;bi.length;)De=bi.pop(),_i[De+De]=p(_i[De],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=Me.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=Me([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}}),Me=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)},Me.suppressDeprecationWarnings=!1,Me.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)}),Me.min=function(){var t=[].slice.call(arguments,0);return fe("isBefore",t)},Me.max=function(){var t=[].slice.call(arguments,0);return fe("isAfter",t)},Me.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()},Me.unix=function(t){return Me(1e3*t)},Me.duration=function(t,e){var i,s,o,n,r=t,h=null;return Me.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: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(Me(r.from),Me(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new g(r),Me.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},Me.version=Ee,Me.defaultFormat=di,Me.ISO_8601=function(){},Me.momentProperties=He,Me.updateOffset=function(){},Me.relativeTimeThreshold=function(t,e){return vi[t]===n?!1:e===n?vi[t]:(vi[t]=e,!0)},Me.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return Me.locale(t,e)}),Me.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?Me.defineLocale(t,e):Me.localeData(t),i&&(Me.duration._locale=Me._locale=i)),Me._locale._abbr},Me.defineLocale=function(t,e){return null!==e?(e.abbr=t,Fe[t]||(Fe[t]=new m),Fe[t].set(e),Me.locale(t),Fe[t]):(delete Fe[t],null)},Me.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return Me.localeData(t)}),Me.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Me._locale;if(!C(t)){if(e=Y(t))return e;t=[t]}return H(t)},Me.isMoment=function(t){return t instanceof f||null!=t&&a(t,"_isAMomentObject")},Me.isDuration=function(t){return t instanceof g};for(De=wi.length-1;De>=0;--De)L(wi[De]);Me.normalizeUnits=function(t){return T(t)},Me.invalid=function(t){var e=Me.utc(0/0);return null!=t?v(e._pf,t):e._pf.userInvalidated=!0,e},Me.parseZone=function(){return Me.apply(null,arguments).parseZone()},Me.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)},v(Me.fn=f.prototype,{clone:function(){return Me(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=Me(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||Me.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-Me(this).startOf("month")-(r-Me(r).startOf("month")),n-=6e4*(this.zone()-Me(this).startOf("month").zone()-(r.zone()-Me(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 Me.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(Me(),t)},calendar:function(t){var e=t||Me(),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)>+Me(t).startOf(e)},isBefore:function(t,e){return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Me.isMoment(t)?t:Me(t),+t>+this):+this.clone().startOf(e)<+Me(t).startOf(e)},isSame:function(t,e){return e=T(e||"millisecond"),"millisecond"===e?(t=Me.isMoment(t)?t:Me(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=Me.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=Me.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?M(this,Me.duration(s-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Me.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?Me(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return N(this.year(),this.month())},dayOfYear:function(t){var e=Oe((Me(this).startOf("day")-Me(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=Me.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)}}),Me.fn.millisecond=Me.fn.milliseconds=be("Milliseconds",!1),Me.fn.second=Me.fn.seconds=be("Seconds",!1),Me.fn.minute=Me.fn.minutes=be("Minutes",!1),Me.fn.hour=Me.fn.hours=be("Hours",!0),Me.fn.date=be("Date",!0),Me.fn.dates=l("dates accessor is deprecated. Use date instead.",be("Date",!0)),Me.fn.year=be("FullYear",!0),Me.fn.years=l("years accessor is deprecated. Use year instead.",be("FullYear",!0)),Me.fn.days=Me.fn.day,Me.fn.months=Me.fn.month,Me.fn.weeks=Me.fn.week,Me.fn.isoWeeks=Me.fn.isoWeek,Me.fn.quarters=Me.fn.quarter,Me.fn.toJSON=Me.fn.toISOString,v(Me.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=Me.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=Me.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:Me.fn.lang,locale:Me.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}}),Me.duration.fn.toString=Me.duration.fn.toISOString;for(De in ui)a(ui,De)&&we(De.toLowerCase());Me.duration.fn.asMilliseconds=function(){return this.as("ms")},Me.duration.fn.asSeconds=function(){return this.as("s")},Me.duration.fn.asMinutes=function(){return this.as("m")},Me.duration.fn.asHours=function(){return this.as("h")},Me.duration.fn.asDays=function(){return this.as("d")},Me.duration.fn.asWeeks=function(){return this.as("weeks")},Me.duration.fn.asMonths=function(){return this.as("M")},Me.duration.fn.asYears=function(){return this.as("y")},Me.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=Me:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(Te.moment=Ce),Me}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(65)(t))},function(t,e,i){var s;!function(o,n){"use strict";function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){M.register(t)}),w.onTouch(a.DOCUMENT,v,M.detect),w.onTouch(a.DOCUMENT,y,M.detect),a.READY=!0)}var a=function C(t,e){return new C.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(M,d),a&&(d.changedLength=h,d.eventType=a,s.call(M,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(M,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 M.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={}}},M=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?M.startDetect(i,t):t.eventType==_&&M.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=M.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=M.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=M.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=M.current,h=M.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);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 Node({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;ee;e++){s=t[e];var o=this.nodes[s];if(!o)throw new RangeError('Node with id "'+s+'" not found');this._selectObject(o,!0,!0)}console.log("setSelection is deprecated. Please use selectNodes instead."),this.redraw()},e.selectNodes=function(t,e){var i,s,o;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),i=0,s=t.length;s>i;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)}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,highlightEdges)}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(37),n=i(34);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild)},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._handleOnRelease=this._handleOnRelease,this._handleTouch=this._handleConnect,this._handleOnRelease=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._handleOnRelease=this._handleOnRelease,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._handleOnRelease=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,i,s,r,a=this._getNodeAt(t);null!=a&&(a.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._selectObject(a,!1),e=this.sectors.support.nodes,e.targetNode=i=new o({id:"targetNode"},{},{},this.constants),i.x=a.x,i.y=a.y,e.targetViaNode=s=new o({id:"targetViaNode"},{},{},this.constants),s.x=a.x,s.y=a.y,s.parentEdgeId="connectionEdge",this.edges.connectionEdge=r=new n({id:"connectionEdge",from:a.id,to:i.id},this,this.constants),r.from=a,r.connected=!0,r.smooth=!0,r.selected=!0,r.to=i,r.via=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.sectors.support.nodes;i.targetNode.x=this._XconvertDOMtoCanvas(e.x),i.targetNode.y=this._YconvertDOMtoCanvas(e.y),i.targetViaNode.x=.5*(this._XconvertDOMtoCanvas(e.x)+this.edges.connectionEdge.from.x),i.targetViaNode.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()))}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var e=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var i=this._getNodeAt(t);null!=i&&(i.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(e,i.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(42));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t50)&&(this._zoomExtentLastTime=new Date,this.zoomExtent({duration:800}),t.stopPropagation())},e._stopMovement=function(){this._xStopMoving(),this._yStopMoving(),this._stopZoom()},e._moveUp=function(t){this.yIncrement=this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._moveDown=function(t){this.yIncrement=-this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._moveLeft=function(t){this.xIncrement=this.constants.keyboard.speed.x,this.start(),t.preventDefault()},e._moveRight=function(t){this.xIncrement=-this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._zoomIn=function(t){this.zoomIncrement=this.constants.keyboard.speed.zoom,this.start(),t.preventDefault()},e._zoomOut=function(t){this.zoomIncrement=-this.constants.keyboard.speed.zoom,this.start(),t.preventDefault()},e._stopZoom=function(t){this.zoomIncrement=0,t&&t.preventDefault()},e._yStopMoving=function(t){this.yIncrement=0,t&&t.preventDefault()},e._xStopMoving=function(t){this.xIncrement=0,t&&t.preventDefault()}},function(t,e){e._resetLevels=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];0==e.preassignedLevel&&(e.level=-1,e.hierarchyEnumerated=!1)}},e._setupHierarchicalLayout=function(){if(1==this.constants.hierarchicalLayout.enabled&&this.nodeIndices.length>0){"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.resolve=e,e.keys=function(){return[]},t.exports=e},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}}])}); +!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.Graph3d=i(5),e.graph3d={Camera:i(6),Filter:i(7),Point2d:i(8),Point3d:i(10),Slider:i(9),StepNumber:i(11)},e.Timeline=i(12),e.Graph2d=i(13),e.timeline={DataStep:i(14),Range:i(15),stack:i(16),TimeStep:i(17),components:{items:{Item:i(28),BackgroundItem:i(29),BoxItem:i(30),PointItem:i(31),RangeItem:i(32)},Component:i(18),CurrentTime:i(19),CustomTime:i(20),DataAxis:i(21),GraphGroup:i(22),Group:i(23),ItemSet:i(24),Legend:i(25),LineGraph:i(26),TimeAxis:i(27)}},e.Network=i(33),e.network={Edge:i(34),Groups:i(35),Images:i(36),Node:i(37),Popup:i(38),dotparser:i(39),gephiParser:i(40)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(41),e.hammer=i(42)},function(module,exports,__webpack_require__){var moment=__webpack_require__(41);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":t instanceof Array?"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(t instanceof Array)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}},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;sa;)o=void 0===s?n[u][i]:n[u][i][s],n[u].isVisible(e)?h=!0:(o=r&&console.log("BinarySearch too many iterations. Aborting.")}return u},exports.binarySearchGeneric=function(t,e,i,s){var o,n,r,a,h=1e4,d=0,l=t,c=!1,p=0,u=l.length,m=p,f=u,g=Math.floor(.5*(u+p));if(0==u)g=-1;else if(1==u)r=l[g][i],g=r==e?0:-1;else{for(u-=1;0==c&&h>d;)n=l[Math.max(0,g-1)][i],r=l[g][i],a=l[Math.min(l.length-1,g+1)][i],r==e||e>n&&r>e||e>r&&a>e?(c=!0,r!=e&&("before"==s?e>n&&r>e&&(g=Math.max(0,g-1)):e>r&&a>e&&(g=Math.min(l.length-1,g+1)))):(e>r?m=Math.floor(.5*(u+p)):f=Math.floor(.5*(u+p)),o=Math.floor(.5*(u+p)),p==m&&u==f?(g=-1,c=!0):(u=f,p=m,g=Math.floor(.5*(u+p)))),d++;d>=h&&console.log("BinarySearch too many iterations. Aborting.")}return g},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.setAttributeNS(null,"class",s.className+" point")):(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),r.setAttributeNS(null,"class",s.className+" point")),r},e.drawBar=function(t,i,s,o,n,r,a){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)}var o=i(1);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=this,r=n._fieldId,a=function(t){var e=t[r];n._data[e]?(e=n._updateItem(t),s.push(e)):(e=n._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else if(o.isDataTable(t))for(var l=this._getColumnNames(t),c=0,p=t.getNumberOfRows();p>c;c++){for(var u={},m=0,f=l.length;f>m;m++){var g=l[m];u[g]=t.getValue(c,m)}a(u)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s},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,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",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(50),n=i(3),r=i(4),a=i(1),h=i(10),d=i(8),l=i(6),c=i(7),p=i(9),u=i(11);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(" "+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(" "+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(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 M=this.zLabel;M.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(M,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/M/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){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}e.subtract=function(t,i){var s=new e;return s.x=t.x-i.x,s.y=t.y-i.y,s.z=t.z-i.z,s},e.add=function(t,i){var s=new e;return s.x=t.x+i.x,s.y=t.y+i.y,s.z=t.z+i.z,s},e.avg=function(t,i){return new e((t.x+i.x)/2,(t.y+i.y)/2,(t.z+i.z)/2)},e.crossProduct=function(t,i){var s=new e;return s.x=t.y*i.z-t.z*i.y,s.y=t.z*i.x-t.x*i.z,s.z=t.x*i.y-t.y*i.x,s},e.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=e},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){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");var n=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)},util:{snap:null,toScreen:n._toScreen.bind(n),toGlobalScreen:n._toGlobalScreen.bind(n),toTime:n._toTime.bind(n),toGlobalTime:n._toGlobalTime.bind(n)}},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,i&&this.setOptions(i),e?this.setItems(e):this.redraw()}var o=(i(50),i(42),i(1)),n=i(3),r=i(4),a=i(15),h=i(43),d=i(27),l=i(19),c=i(20),p=i(24);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){var n=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)},util:{snap:null,toScreen:n._toScreen.bind(n),toGlobalScreen:n._toGlobalScreen.bind(n),toTime:n._toTime.bind(n),toGlobalTime:n._toGlobalTime.bind(n)}},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,i&&this.setOptions(i),s&&this.setGroups(s),e?this.setItems(e):this.redraw()}var o=(i(50),i(42),i(1)),n=i(3),r=i(4),a=i(15),h=i(43),d=i(27),l=i(19),c=i(20),p=i(26);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&&("start"in this.options||"end"in this.options)){this.fit();var s="start"in this.options?o.convert(this.options.start,"Date"):null,a="end"in this.options?o.convert(this.options.end,"Date"):null;this.setWindow(s,a)}},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){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(){for(var t=""+Number(this.current).toPrecision(5),e=t.length-1;e>0;e--){if("0"!=t[e]){if("."==t[e]||","==t[e]){t=t.slice(0,e);break}break}t=t.slice(0,e)}return t},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("days",-3).valueOf(),this.end=i.clone().add("days",4).valueOf(),this.body=t,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(44),h=i(41),d=i(18);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate"];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-c,i=e>l,m=i||null===o?o:r.easeInOutQuad(e,h,o,l),f=i||null===n?n:r.easeInOutQuad(e,d,n,l);u=a._applyRange(m,f),p=p||u,u&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?p&&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,l="number"==typeof i?i:500,c=(new Date).valueOf(),p=!1;return s()}var u=this._applyRange(o,n);if(u){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){return s.conversion(this.start,this.end,t)},s.conversion=function(t,e,i){return 0!=i&&e-t!=0?{offset:t,scale:i/(e-t)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){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){var e=this.options.direction;if(o(e),this.props.touch.allowDragging){var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY,s=this.props.touch.end-this.props.touch.start,n="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,r=-i/n*s;this._applyRange(this.props.touch.start+r,this.props.touch.end+r),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)}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},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,i=this._pointerToDate(this.props.touch.center),s=parseInt(i+(this.props.touch.start-i)*e),o=parseInt(i+(this.props.touch.end-i)*e);this.setRange(s,o)}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i){var s=this.body.domProps.center.width;return e=this.conversion(s),t.x/e.scale+e.offset}var n=this.body.domProps.center.height;return e=this.conversion(n),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e){null==e&&(e=(this.start+this.end)/2);var i=e+(this.start-e)*t,s=e+(this.end-e)*t;this.setRange(i,s)},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(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&&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){var i,s;for(i=0,s=t.length;s>i;i++)t[i].top=e.axis},e.collision=function(t,e,s){return t.left-s.horizontal+ie.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i){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)}var o=i(41);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(){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(18),r=i(41),a=i(45);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(42),n=i(1),r=i(18),a=i(41),h=i(45);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}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{}},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.groups={},this.amountOfGroups=0,this._create()}var o=i(1),n=i(2),r=i(18),a=i(14);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"];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.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)},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;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()}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=0,l=1;this.maxLabelSize=0;for(var c=0;l=0&&this._redrawLabel(c-2,i.getCurrent(),t,"yAxis major",this.props.majorCharHeight),this._redrawLine(c,t,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(c,t,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),l++}this.conversionFactor=0==this.master?c/(this.valueAtZero-i.current):this.dom.frame.offsetHeight/i.marginRange;var u=1==this.options.icons?this.options.iconWidth+this.options.labelOffsetX+15:this.options.labelOffsetX+15;return this.maxLabelSize>this.width-u&&1==this.options.visible?(this.width=this.maxLabelSize+u,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+u),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.maxLabelSizee.axis){var c=d-e.axis;l-=c,o.forEach(h,function(t){t.top-=c})}a=l+e.item.vertical/2}else a=e.axis+e.item.vertical;a=Math.max(a,this.props.label.height);var p=this.dom.foreground;this.top=p.offsetTop,this.left=p.offsetLeft,this.width=p.offsetWidth,s=o.updateProperty(this,"height",a)||s,s=o.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||s,s=o.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||s,this.dom.background.style.height=a+"px",this.dom.foreground.style.height=a+"px",this.dom.label.style.height=a+"px";for(var u=0,m=this.visibleItems.length;m>u;u++){var f=this.visibleItems[u];f.repositionY()}return s},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),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.remove=function(t){delete this.items[t.id],t.setParent(this.itemSet);var e=this.visibleItems.indexOf(t);-1!=e&&this.visibleItems.splice(e,1)},s.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},s.prototype.order=function(){var t=o.toArray(this.items);this.orderedItems.byStart=t,this.orderedItems.byEnd=this._constructByEndArray(t),n.orderByStart(this.orderedItems.byStart),n.orderByEnd(this.orderedItems.byEnd)},s.prototype._constructByEndArray=function(t){for(var e=[],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;ne;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,g=t.axis+t.item.vertical;return 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,g),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[m];return i||null},s.prototype._updateUngrouped=function(){var t=this.groups[m];if(this.groupsData)t&&(t.hide(),delete this.groups[m]);else if(!t){var e=null,i=null;t=new d(e,i,this),this.groups[m]=t;for(var s in this.items)this.items.hasOwnProperty(s)&&t.add(this.items[s]);t.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")},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._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=i.type||e.options.type||(i.end?"range":"box"),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")},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"))},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)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")},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")},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.groupsData?t.data.group:m,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.groupsData?t.data.group:m,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);var i=this.groupsData?t.data.group:m,s=this.groups[i];s&&s.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:this.getSelection()}),t.stopPropagation()}},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()}),t.stopPropagation() +}}},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(18);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._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.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{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=""):(this.dom.frame.style.bottom=4-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 i="";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]||(i+=this.groups[e].content+"
"));this.dom.textArea.innerHTML=i,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;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(18),d=i(21),l=i(22),c=i(25),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"];o.selectiveDeepExtend(e,this.options,t),o.mergeOptions(this.options,t,"catmullRom"),o.mergeOptions(this.options,t,"drawPoints"),o.mergeOptions(this.options,t,"shaded"),o.mergeOptions(this.options,t,"legend"),t.catmullRom&&"object"==typeof t.catmullRom&&t.catmullRom.parametrization&&("uniform"==t.catmullRom.parametrization?this.options.catmullRom.alpha=0:"chordal"==t.catmullRom.parametrization?this.options.catmullRom.alpha=1:(this.options.catmullRom.parametrization="centripetal",this.options.catmullRom.alpha=.5)),this.yAxisLeft&&void 0!==t.dataAxis&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&void 0!==t.legend&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(p)&&this.groups[p].setOptions(t)}this.dom.frame&&this._updateGraph()},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.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&&(o.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;o.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}this._updateUngrouped(),this._updateGraph(),this.redraw()},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(o.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;o.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._onUpdate()},s.prototype._onUpdate=function(){this._updateUngrouped(),this._updateAllGroupData(),this._updateGraph(),this.redraw()},s.prototype._onAdd=function(t){this._onUpdate(t)},s.prototype._onRemove=function(t){this._onUpdate(t)},s.prototype._onUpdateGroups=function(t){for(var e=0;e0){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 m=a+(l[s].amount-l[s].resolved),f=a-(l[s].resolved+1);m0&&(i=Math.min(i,Math.abs(d[f].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),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"),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,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,M=0;S-1>M;M++)s=0==M?t[0]:t[M-1],o=t[M],n=t[M+1],r=S>M+2?t[M+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.prototype._linear=function(t){for(var e="",i=0;id;){d++;var l=n.getCurrent(),c=this.body.util.toScreen(l),p=n.isMajor();this.options.showMinorLabels&&this._repaintMinorText(c,n.getLabelMinor(),t),p&&this.options.showMajorLabels?(c>0&&(void 0==h&&(h=c),this._repaintMajorText(c,n.getLabelMajor(),t)),this._repaintMajorLine(c,t)):this._repaintMinorLine(c,t),n.next()}if(this.options.showMajorLabels){var u=this.body.util.toTime(0),m=n.getLabelMajor(u),f=m.length*(this.props.majorCharWidth||10)+10;(void 0==h||h>f)&&this._repaintMajorText(0,m,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 minor 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(42);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 instanceof Element)t.innerHTML="",t.appendChild(e);else{if(void 0==e)throw new Error('Property "content" missing in item '+this.data.id);t.innerHTML=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)for(var e=0;et.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 time axis: 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);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=n.prototype.show,s.prototype.hide=n.prototype.hide,s.prototype.repositionX=n.prototype.repositionX,s.prototype.repositionY=function(){var t="top"===this.options.orientation;this.dom.content.style.top=t?"":"0",this.dom.content.style.bottom=t?"0":""},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(28);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 time axis: 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);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;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.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),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(50),n=i(42),r=i(51),a=i(1),h=i(44),d=i(3),l=i(4),c=i(39),p=i(40),u=i(35),m=i(36),f=i(37),g=i(34),v=i(38),y=i(48),b=i(49),_=i(46);i(47),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.minX)+Math.abs(o.maxX)),h=1.1*(Math.abs(o.minY)+Math.abs(o.maxY)),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("release",e._onRelease.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.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;this.mousetrap=r,this.mousetrap.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.mousetrap.bind("up",this._moveUp.bind(t),"keydown"),this.mousetrap.bind("up",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("down",this._moveDown.bind(t),"keydown"),this.mousetrap.bind("down",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("left",this._moveLeft.bind(t),"keydown"),this.mousetrap.bind("left",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("right",this._moveRight.bind(t),"keydown"),this.mousetrap.bind("right",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("=",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("=",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("-",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("-",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("[",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("[",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("]",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("]",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pageup",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("pageup",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.mousetrap.bind("escape",this._createManipulatorBar.bind(t)),this.mousetrap.bind("del",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){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1);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){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(){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()},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;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})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(t instanceof Array)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){for(var e=this.nodes,i=this.nodesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n],a=i.get(n);r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),e[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._reconnectEdges(),this._updateValueRange(e)},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(t instanceof Array)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=[]);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,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(){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.focusOnNode=function(t,e){if(this.nodes.hasOwnProperty(t)){void 0===e&&(e={});var i={x:this.nodes[t].x,y:this.nodes[t].y};e.position=i,this.moveTo(e)}else console.log("This nodeId cannot be found.")},s.prototype.moveTo=function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this._getScale()),void 0===t.position&&(t.position=this._getTranslation()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))},s.prototype.animateView=function(t){if(void 0===t)return void(t={});0!=this.easingTime&&this._transitionRedraw(1),this.sourceScale=this._getScale(),this.sourceTranslation=this._getTranslation(),this.targetScale=t.scale,this._setScale(this.targetScale);var e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0==t.animation.duration?(this._setScale(this.targetScale),this._setTranslation(this.targetTranslation.x,this.targetTranslation.y),this._redraw()):(this.animationSpeed=1/(this.renderRefreshRate*t.animation.duration*.001)||1/this.renderRefreshRate,this.animationEasingFunction=t.animation.easingFunction,this._classicRedraw=this._redraw,this._redraw=this._transitionRedraw,this._redraw(),this.moving=!0,this.start())},s.prototype._transitionRedraw=function(t){this.easingTime=t||this.easingTime+this.animationSpeed,this.easingTime+=this.animationSpeed;var e=a.easingFunctions[this.animationEasingFunction](this.easingTime);this._setScale(this.sourceScale+(this.targetScale-this.sourceScale)*e),this._setTranslation(this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e),this._classicRedraw(),this.moving=!0,this.easingTime>=1&&(this.easingTime=0,this._redraw=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()},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.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(37);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),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(o[d]).width;h=l>h?l:h}var c=this.options.fontSize*n,p=i-h/2,u=s-c/2;t.fillRect(p,u,h,c)}t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle";for(var d=0;n>d;d++)t.fillText(o[d],i,a),a+=r}},s.prototype._drawDashLine=function(t){t.strokeStyle=1==this.selected?this.options.color.highlight:1==this.hover?this.options.color.hover:this.options.color.color,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(1==this.selected?(t.strokeStyle=this.options.color.highlight,t.fillStyle=this.options.color.highlight):1==this.hover?(t.strokeStyle=this.options.color.hover,t.fillStyle=this.options.color.hover):(t.strokeStyle=this.options.color.color,t.fillStyle=this.options.color.color),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){1==this.selected?(t.strokeStyle=this.options.color.highlight,t.fillStyle=this.options.color.highlight):1==this.hover?(t.strokeStyle=this.options.color.hover,t.fillStyle=this.options.color.hover):(t.strokeStyle=this.options.color.color,t.fillStyle=this.options.color.color),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){if(this.from!=this.to){if(1==this.options.smoothCurves.enabled){var r,a;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)r=this.via.x,a=this.via.y;else{var h=this._getViaCoordinates();r=h.x,a=h.y}var d,l,c,p,u,m,f,g=1e9;for(l=0;10>l;l++)c=.1*l,p=Math.pow(1-c,2)*t+2*c*(1-c)*r+Math.pow(c,2)*i,u=Math.pow(1-c,2)*e+2*c*(1-c)*a+Math.pow(c,2)*s,l>0&&(d=this._getDistanceToLine(m,f,p,u,o,n),g=g>d?d:g),m=p,f=u;return g}return this._getDistanceToLine(t,e,i,s,o,n)}var p,u,v,y,b=.25*this.physics.springLength,_=this.from;return _.width>_.height?(p=_.x+.5*_.width,u=_.y-b):(p=_.x+b,u=_.y-.5*_.height),v=p-o,y=u-n,Math.abs(Math.sqrt(v*v+y*y)-b)},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.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.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),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),this.originalLabel=void 0,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(this.xFixed=this.xFixed||void 0!==t.x&&!t.allowedToMoveX,this.yFixed=this.yFixed||void 0!==t.y&&!t.allowedToMoveY,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){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){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;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;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,t.textAlign=o||"center",t.textBaseline=n||"middle";var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;if(1==r&&(l=s+(1-h)/(2*d)),void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){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;t.fillStyle=this.options.fontFill,t.fillRect(f,g,c,m)}t.fillStyle=this.options.fontColor||"black";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=C.NULL,L="";" "==O||" "==O||"\n"==O||"\r"==O;)o();do{var t=!1;if("#"==O){for(var e=T-1;" "==D.charAt(e)||" "==D.charAt(e);)e--;if("\n"==D.charAt(e)||""==D.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=C.DELIMITER);var i=O+n();if(E[i])return k=C.DELIMITER,L=i,o(),void o();if(E[O])return k=C.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=C.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=C.IDENTIFIER)}for(k=C.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==C.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!=C.IDENTIFIER)throw x("Identifier expected");var s=L;if(p(),"="==L){if(p(),k!=C.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==C.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!=C.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!=C.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),k!=C.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){t instanceof Array?t.forEach(function(t){e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}):e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}function M(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 C={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},E={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},D="",T=0,O="",L="",k=C.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=M},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){"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),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var d=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=d,i.leftContainer.height=d,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 l=i.root.width-i.left.width-i.right.width-n;i.center.width=l,i.centerContainer.width=l,i.top.width=l,i.bottom.width=l,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 c=this.props.scrollTop;"bottom"==e.orientation&&(c+=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=c+"px",s.left.style.left="0",s.left.style.top=c+"px",s.right.style.left="0",s.right.style.top=c+"px"; +var p=0==this.props.scrollTop?"hidden":"",u=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=p,s.shadowBottom.style.visibility=u,s.shadowTopLeft.style.visibility=p,s.shadowBottomLeft.style.visibility=u,s.shadowTopRight.style.visibility=p,s.shadowBottomRight.style.visibility=u,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){var e=this.range.conversion(this.props.center.width);return new Date(t/e.scale+e.offset)},s.prototype._toGlobalTime=function(t){var e=this.range.conversion(this.props.root.width);return new Date(t/e.scale+e.offset)},s.prototype._toScreen=function(t){var e=this.range.conversion(this.props.center.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._toGlobalScreen=function(t){var e=this.range.conversion(this.props.root.width);return(t.valueOf()-e.offset)*e.scale},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()}},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){var s=i(60),o=i(54),n=i(55),r=i(56),a=i(57),h=i(58),d=i(59);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.containerElement.removeChild(this.manipulationDiv),this.containerElement.removeChild(this.editModeDiv),this.containerElement.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()}),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(51),r=i(50),a=i(42),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"),n.bind("esc",this.escListener)},s.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),n.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){function e(t,e,i){return t.addEventListener?t.addEventListener(e,i,!1):void t.attachEvent("on"+e,i)}function i(t){return"keypress"==t.type?String.fromCharCode(t.which):_[t.which]?_[t.which]:x[t.which]?x[t.which]:String.fromCharCode(t.which).toLowerCase()}function s(t){var e=t.target||t.srcElement,i=e.tagName;return(" "+e.className+" ").indexOf(" mousetrap ")>-1?!1:"INPUT"==i||"SELECT"==i||"TEXTAREA"==i||e.contentEditable&&"true"==e.contentEditable}function o(t,e){return t.sort().join(",")===e.sort().join(",")}function n(t){t=t||{};var e,i=!1;for(e in E)t[e]?i=!0:E[e]=0;i||(T=!1)}function r(t,e,i,s,n){var r,a,h=[];if(!M[t])return[];for("keyup"==i&&c(t)&&(e=[t]),r=0;r95&&112>t||_.hasOwnProperty(t)&&(y[_[t]]=t)}return y}function m(t,e,i){return i||(i=u()[t]?"keydown":"keypress"),"keypress"==i&&e.length&&(i="keydown"),i}function f(t,e,s,o){E[t]=0,o||(o=m(e[0],[]));var r,a=function(){T=o,++E[t],p()},d=function(t){h(s,t),"keyup"!==o&&(D=i(t)),setTimeout(n,10)};for(r=0;r1)return f(t,d,e,i);for(h="+"===t?["+"]:t.split("+"),n=0;n":".","?":"/","|":"\\"},S={option:"alt",command:"meta","return":"enter",escape:"esc"},M={},C={},E={},D=!1,T=!1,O=1;20>O;++O)_[111+O]="f"+O;for(O=0;9>=O;++O)_[O+96]=O;e(document,"keypress",l),e(document,"keydown",l),e(document,"keyup",l);var L={bind:function(t,e,i){return v(t instanceof Array?t:[t],e,i),C[t+":"+i]=e,this},unbind:function(t,e){return C[t+":"+e]&&(delete C[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return C[t+":"+e](),this},reset:function(){return M={},C={},this}};t.exports=L},function(t,e,i){var s;(function(t,o){(function(n){function r(t,e,i){switch(arguments.length){case 2:return null!=t?t:e;case 3:return null!=t?t:null!=e?e:i;default:throw new Error("Implement me")}}function a(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function h(t,e){function i(){ve.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}var s=!0;return m(function(){return s&&(i(),s=!1),e.apply(this,arguments)},e)}function d(t,e){return function(i){return v(t.call(this,i),e)}}function l(t,e){return function(i){return this.lang().ordinal(t.call(this,i),e)}}function c(){}function p(t){L(t),m(this,t)}function u(t){var e=S(t),i=e.year||0,s=e.quarter||0,o=e.month||0,n=e.week||0,r=e.day||0,a=e.hour||0,h=e.minute||0,d=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*d+6e4*h+36e5*a,this._days=+r+7*n,this._months=+o+3*s+12*i,this._data={},this._bubble()}function m(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return e.hasOwnProperty("toString")&&(t.toString=e.toString),e.hasOwnProperty("valueOf")&&(t.valueOf=e.valueOf),t}function f(t){var e,i={};for(e in t)t.hasOwnProperty(e)&&ke.hasOwnProperty(e)&&(i[e]=t[e]);return i}function g(t){return 0>t?Math.ceil(t):Math.floor(t)}function v(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&C(t[s])!==C(e[s]))&&r++;return r+n}function w(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=ri[t]||ai[e]||e}return t}function S(t){var e,i,s={};for(i in t)t.hasOwnProperty(i)&&(e=w(i),e&&(s[e]=t[i]));return s}function M(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}ve[t]=function(s,o){var r,a,h=ve.fn._lang[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=ve().utc().set(i,t);return h.call(ve.fn._lang,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function C(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function E(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function D(t,e,i){return re(ve([t,11,31+e-i]),e,i).week}function T(t){return O(t)?366:365}function O(t){return t%4===0&&t%100!==0||t%400===0}function L(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[Me]<0||t._a[Me]>11?Me:t._a[Ce]<1||t._a[Ce]>E(t._a[Se],t._a[Me])?Ce:t._a[Ee]<0||t._a[Ee]>23?Ee:t._a[De]<0||t._a[De]>59?De:t._a[Te]<0||t._a[Te]>59?Te:t._a[Oe]<0||t._a[Oe]>999?Oe:-1,t._pf._overflowDayOfYear&&(Se>e||e>Ce)&&(e=Ce),t._pf.overflow=e)}function k(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 N(t){return t?t.toLowerCase().replace("_","-"):t}function I(t,e){return e._isUTC?ve(t).zone(e._offset||0):ve(t).local()}function A(t,e){return e.abbr=t,Le[t]||(Le[t]=new c),Le[t].set(e),Le[t]}function z(t){delete Le[t]}function P(t){var e,s,o,n,r=0,a=function(t){if(!Le[t]&&Ne)try{i(61)("./"+t)}catch(e){}return Le[t]};if(!t)return ve.fn._lang;if(!b(t)){if(s=a(t))return s;t=[t]}for(;r0;){if(s=a(n.slice(0,e).join("-")))return s;if(o&&o.length>=e&&x(n,o,!0)>=e-1)break;e--}r++}return ve.fn._lang}function R(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function F(t){var e,i,s=t.match(Pe);for(e=0,i=s.length;i>e;e++)s[e]=pi[s[e]]?pi[s[e]]:R(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 H(t,e){return t.isValid()?(e=Y(e,t.lang()),hi[e]||(hi[e]=F(e)),hi[e](t)):t.lang().invalidDate()}function Y(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Re.lastIndex=0;s>=0&&Re.test(t);)t=t.replace(Re,i),Re.lastIndex=0,s-=1;return t}function B(t,e){var i,s=e._strict;switch(t){case"Q":return Ze;case"DDDD":return Ke;case"YYYY":case"GGGG":case"gggg":return s?Qe:Ye;case"Y":case"G":case"g":return Je;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?$e:Be;case"S":if(s)return Ze;case"SS":if(s)return qe;case"SSS":if(s)return Ke;case"DDD":return He;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ge;case"a":case"A":return P(e._l)._meridiemParse;case"X":return Ve;case"Z":case"ZZ":return je;case"T":return Ue;case"SSSS":return We;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?qe:Fe;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Fe;case"Do":return Xe;default:return i=new RegExp(K(q(t.replace("\\","")),"i"))}}function W(t){t=t||"";var e=t.match(je)||[],i=e[e.length-1]||[],s=(i+"").match(oi)||["-",0,0],o=+(60*s[1])+C(s[2]);return"+"===s[0]?-o:o}function G(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[Me]=3*(C(e)-1));break;case"M":case"MM":null!=e&&(o[Me]=C(e)-1);break;case"MMM":case"MMMM":s=P(i._l).monthsParse(e),null!=s?o[Me]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ce]=C(e));break;case"Do":null!=e&&(o[Ce]=C(parseInt(e,10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=C(e));break;case"YY":o[Se]=ve.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[Se]=C(e);break;case"a":case"A":i._isPm=P(i._l).isPM(e);break;case"H":case"HH":case"h":case"hh":o[Ee]=C(e);break;case"m":case"mm":o[De]=C(e);break;case"s":case"ss":o[Te]=C(e);break;case"S":case"SS":case"SSS":case"SSSS":o[Oe]=C(1e3*("0."+e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=W(e);break;case"dd":case"ddd":case"dddd":s=P(i._l).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]=C(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=ve.parseTwoDigitYear(e)}}function j(t){var e,i,s,o,n,a,h,d;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[Se],re(ve(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(d=P(t._l),n=d._week.dow,a=d._week.doy,i=r(e.gg,t._a[Se],re(ve(),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=ae(i,s,o,a,n),t._a[Se]=h.year,t._dayOfYear=h.dayOfYear}function U(t){var e,i,s,o,n=[];if(!t._d){for(s=X(t),t._w&&null==t._a[Ce]&&null==t._a[Me]&&j(t),t._dayOfYear&&(o=r(t._a[Se],s[Se]),t._dayOfYear>T(o)&&(t._pf._overflowDayOfYear=!0),i=ie(o,0,t._dayOfYear),t._a[Me]=i.getUTCMonth(),t._a[Ce]=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?ie:ee).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()+t._tzm)}}function V(t){var e;t._d||(e=S(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],U(t))}function X(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function Z(t){if(t._f===ve.ISO_8601)return void $(t);t._a=[],t._pf.empty=!0;var e,i,s,o,n,r=P(t._l),a=""+t._i,h=a.length,d=0;for(s=Y(t._f,r).match(Pe)||[],e=0;e0&&t._pf.unusedInput.push(n),a=a.slice(a.indexOf(i)+i.length),d+=i.length),pi[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),G(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._isPm&&t._a[Ee]<12&&(t._a[Ee]+=12),t._isPm===!1&&12===t._a[Ee]&&(t._a[Ee]=0),U(t),L(t)}function q(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function K(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(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));m(t,i||e)}function $(t){var e,i,s=t._i,o=ti.exec(s);if(o){for(t._pf.iso=!0,e=0,i=ii.length;i>e;e++)if(ii[e][1].exec(s)){t._f=ii[e][0]+(o[6]||" ");break}for(e=0,i=si.length;i>e;e++)if(si[e][1].exec(s)){t._f+=si[e][0];break}s.match(je)&&(t._f+="Z"),Z(t)}else t._isValid=!1}function J(t){$(t),t._isValid===!1&&(delete t._isValid,ve.createFromInputFallback(t))}function te(t){var e=t._i,i=Ie.exec(e);e===n?t._d=new Date:i?t._d=new Date(+i[1]):"string"==typeof e?J(t):b(e)?(t._a=e.slice(0),U(t)):_(e)?t._d=new Date(+e):"object"==typeof e?V(t):"number"==typeof e?t._d=new Date(e):ve.createFromInputFallback(t)}function ee(t,e,i,s,o,n,r){var a=new Date(t,e,i,s,o,n,r);return 1970>t&&a.setFullYear(t),a}function ie(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function se(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 oe(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ne(t,e,i){var s=we(Math.abs(t)/1e3),o=we(s/60),n=we(o/60),r=we(n/24),a=we(r/365),h=s0,h[4]=i,oe.apply({},h)}function re(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=ve(t).add("d",n),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function ae(t,e,i,s,o){var n,r,a=ie(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:T(t-1)+r}}function he(t){var e=t._i,i=t._f;return null===e||i===n&&""===e?ve.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=P().preparse(e)),ve.isMoment(e)?(t=f(e),t._d=new Date(+e._d)):i?b(i)?Q(t):Z(t):te(t),new p(t))}function de(t,e){var i,s;if(1===e.length&&b(e[0])&&(e=e[0]),!e.length)return ve();for(i=e[0],s=1;s=0?"+":"-";return e+v(Math.abs(t),6)},gg:function(){return v(this.weekYear()%100,2)},gggg:function(){return v(this.weekYear(),4)},ggggg:function(){return v(this.weekYear(),5)},GG:function(){return v(this.isoWeekYear()%100,2)},GGGG:function(){return v(this.isoWeekYear(),4)},GGGGG:function(){return v(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().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 C(this.milliseconds()/100)},SS:function(){return v(C(this.milliseconds()/10),2)},SSS:function(){return v(this.milliseconds(),3)},SSSS:function(){return v(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+v(C(t/60),2)+":"+v(C(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+v(C(t/60),2)+v(C(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},ui=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];li.length;)be=li.pop(),pi[be+"o"]=l(pi[be],be);for(;ci.length;)be=ci.pop(),pi[be+be]=d(pi[be],2);for(pi.DDDD=d(pi.DDD,3),m(c.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=ve.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=ve([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 re(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),ve=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=a(),he(o)},ve.suppressDeprecationWarnings=!1,ve.createFromInputFallback=h("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)}),ve.min=function(){var t=[].slice.call(arguments,0);return de("isBefore",t)},ve.max=function(){var t=[].slice.call(arguments,0);return de("isAfter",t)},ve.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=a(),he(o).utc()},ve.unix=function(t){return ve(1e3*t)},ve.duration=function(t,e){var i,s,o,n=t,r=null;return ve.isDuration(t)?n={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(n={},e?n[e]=t:n.milliseconds=t):(r=Ae.exec(t))?(i="-"===r[1]?-1:1,n={y:0,d:C(r[Ce])*i,h:C(r[Ee])*i,m:C(r[De])*i,s:C(r[Te])*i,ms:C(r[Oe])*i}):(r=ze.exec(t))&&(i="-"===r[1]?-1:1,o=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},n={y:o(r[2]),M:o(r[3]),d:o(r[4]),h:o(r[5]),m:o(r[6]),s:o(r[7]),w:o(r[8])}),s=new u(n),ve.isDuration(t)&&t.hasOwnProperty("_lang")&&(s._lang=t._lang),s},ve.version=_e,ve.defaultFormat=ei,ve.ISO_8601=function(){},ve.momentProperties=ke,ve.updateOffset=function(){},ve.relativeTimeThreshold=function(t,e){return di[t]===n?!1:(di[t]=e,!0)},ve.lang=function(t,e){var i;return t?(e?A(N(t),e):null===e?(z(t),t="en"):Le[t]||P(t),i=ve.duration.fn._lang=ve.fn._lang=P(t),i._abbr):ve.fn._lang._abbr},ve.langData=function(t){return t&&t._lang&&t._lang._abbr&&(t=t._lang._abbr),P(t)},ve.isMoment=function(t){return t instanceof p||null!=t&&t.hasOwnProperty("_isAMomentObject")},ve.isDuration=function(t){return t instanceof u},be=ui.length-1;be>=0;--be)M(ui[be]);ve.normalizeUnits=function(t){return w(t)},ve.invalid=function(t){var e=ve.utc(0/0);return null!=t?m(e._pf,t):e._pf.userInvalidated=!0,e},ve.parseZone=function(){return ve.apply(null,arguments).parseZone()},ve.parseTwoDigitYear=function(t){return C(t)+(C(t)>68?1900:2e3)},m(ve.fn=p.prototype,{clone:function(){return ve(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("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=ve(this).utc();return 00:!1},parsingFlags:function(){return m({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(t){var e=H(this,t||ve.defaultFormat);return this.lang().postformat(e)},add:function(t,e){var i;return i="string"==typeof t&&"string"==typeof e?ve.duration(isNaN(+e)?+t:+e,isNaN(+e)?e:t):"string"==typeof t?ve.duration(+e,t):ve.duration(t,e),y(this,i,1),this},subtract:function(t,e){var i;return i="string"==typeof t&&"string"==typeof e?ve.duration(isNaN(+e)?+t:+e,isNaN(+e)?e:t):"string"==typeof t?ve.duration(+e,t):ve.duration(t,e),y(this,i,-1),this},diff:function(t,e,i){var s,o,n=I(t,this),r=6e4*(this.zone()-n.zone());return e=w(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+n.daysInMonth()),o=12*(this.year()-n.year())+(this.month()-n.month()),o+=(this-ve(this).startOf("month")-(n-ve(n).startOf("month")))/s,o-=6e4*(this.zone()-ve(this).startOf("month").zone()-(n.zone()-ve(n).startOf("month").zone()))/s,"year"===e&&(o/=12)):(s=this-n,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),i?o:g(o)},from:function(t,e){return ve.duration(this.diff(t)).lang(this.lang()._abbr).humanize(!e)},fromNow:function(t){return this.from(ve(),t)},calendar:function(t){var e=t||ve(),i=I(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.lang().calendar(o,this))},isLeapYear:function(){return O(this.year())},isDST:function(){return this.zone()+ve(t).startOf(e)},isBefore:function(t,e){return e="undefined"!=typeof e?e:"millisecond",+this.clone().startOf(e)<+ve(t).startOf(e)},isSame:function(t,e){return e=e||"ms",+this.clone().startOf(e)===+I(t,this).startOf(e)},min:h("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(t){return t=ve.apply(null,arguments),this>t?this:t}),max:h("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=ve.apply(null,arguments),t>this?this:t}),zone:function(t,e){var i=this._offset||0;return null==t?this._isUTC?i:this._d.getTimezoneOffset():("string"==typeof t&&(t=W(t)),Math.abs(t)<16&&(t=60*t),this._offset=t,this._isUTC=!0,i!==t&&(!e||this._changeInProgress?y(this,ve.duration(i-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,ve.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?ve(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return E(this.year(),this.month())},dayOfYear:function(t){var e=we((ve(this).startOf("day")-ve(this).startOf("year"))/864e5)+1;return null==t?e:this.add("d",t-e)},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=re(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==t?e:this.add("y",t-e)},isoWeekYear:function(t){var e=re(this,1,4).year;return null==t?e:this.add("y",t-e)},week:function(t){var e=this.lang().week(this);return null==t?e:this.add("d",7*(t-e))},isoWeek:function(t){var e=re(this,1,4).week;return null==t?e:this.add("d",7*(t-e))},weekday:function(t){var e=(this.day()+7-this.lang()._week.dow)%7;return null==t?e:this.add("d",t-e)},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return D(this.year(),1,4)},weeksInYear:function(){var t=this._lang._week;return D(this.year(),t.dow,t.doy)},get:function(t){return t=w(t),this[t]()},set:function(t,e){return t=w(t),"function"==typeof this[t]&&this[t](e),this},lang:function(t){return t===n?this._lang:(this._lang=P(t),this)}}),ve.fn.millisecond=ve.fn.milliseconds=ue("Milliseconds",!1),ve.fn.second=ve.fn.seconds=ue("Seconds",!1),ve.fn.minute=ve.fn.minutes=ue("Minutes",!1),ve.fn.hour=ve.fn.hours=ue("Hours",!0),ve.fn.date=ue("Date",!0),ve.fn.dates=h("dates accessor is deprecated. Use date instead.",ue("Date",!0)),ve.fn.year=ue("FullYear",!0),ve.fn.years=h("years accessor is deprecated. Use year instead.",ue("FullYear",!0)),ve.fn.days=ve.fn.day,ve.fn.months=ve.fn.month,ve.fn.weeks=ve.fn.week,ve.fn.isoWeeks=ve.fn.isoWeek,ve.fn.quarters=ve.fn.quarter,ve.fn.toJSON=ve.fn.toISOString,m(ve.duration.fn=u.prototype,{_bubble:function(){var t,e,i,s,o=this._milliseconds,n=this._days,r=this._months,a=this._data;a.milliseconds=o%1e3,t=g(o/1e3),a.seconds=t%60,e=g(t/60),a.minutes=e%60,i=g(e/60),a.hours=i%24,n+=g(i/24),a.days=n%30,r+=g(n/30),a.months=r%12,s=g(r/12),a.years=s},weeks:function(){return g(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*C(this._months/12)},humanize:function(t){var e=+this,i=ne(e,!t,this.lang());return t&&(i=this.lang().pastFuture(e,i)),this.lang().postformat(i)},add:function(t,e){var i=ve.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=ve.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=w(t),this[t.toLowerCase()+"s"]()},as:function(t){return t=w(t),this["as"+t.charAt(0).toUpperCase()+t.slice(1)+"s"]()},lang:ve.fn.lang,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"}});for(be in ni)ni.hasOwnProperty(be)&&(fe(be,ni[be]),me(be.toLowerCase()));fe("Weeks",6048e5),ve.duration.fn.asMonths=function(){return(+this-31536e6*this.years())/2592e6+12*this.years()},ve.lang("en",{ordinal:function(t){var e=t%10,i=1===C(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),Ne?o.exports=ve:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(xe.moment=ye),ve}.call(e,i,e,o),!(s!==n&&(o.exports=s)),ge(!0))}).call(this)}).call(e,function(){return this}(),i(65)(t))},function(t,e,i){var s;!function(o,n){"use strict";function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){M.register(t)}),w.onTouch(a.DOCUMENT,v,M.detect),w.onTouch(a.DOCUMENT,y,M.detect),a.READY=!0)}var a=function C(t,e){return new C.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(M,d),a&&(d.changedLength=h,d.eventType=a,s.call(M,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(M,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 M.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={}}},M=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?M.startDetect(i,t):t.eventType==_&&M.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=M.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=M.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=M.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=M.current,h=M.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);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 Node({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;ee;e++){s=t[e];var o=this.nodes[s];if(!o)throw new RangeError('Node with id "'+s+'" not found');this._selectObject(o,!0,!0)}console.log("setSelection is deprecated. Please use selectNodes instead."),this.redraw()},e.selectNodes=function(t,e){var i,s,o;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),i=0,s=t.length;s>i;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)}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,highlightEdges)}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(37),n=i(34);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild)},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._handleOnRelease=this._handleOnRelease,this._handleTouch=this._handleConnect,this._handleOnRelease=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._handleOnRelease=this._handleOnRelease,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._handleOnRelease=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,i,s,r,a=this._getNodeAt(t);null!=a&&(a.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._selectObject(a,!1),e=this.sectors.support.nodes,e.targetNode=i=new o({id:"targetNode"},{},{},this.constants),i.x=a.x,i.y=a.y,e.targetViaNode=s=new o({id:"targetViaNode"},{},{},this.constants),s.x=a.x,s.y=a.y,s.parentEdgeId="connectionEdge",this.edges.connectionEdge=r=new n({id:"connectionEdge",from:a.id,to:i.id},this,this.constants),r.from=a,r.connected=!0,r.smooth=!0,r.selected=!0,r.to=i,r.via=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.sectors.support.nodes;i.targetNode.x=this._XconvertDOMtoCanvas(e.x),i.targetNode.y=this._YconvertDOMtoCanvas(e.y),i.targetViaNode.x=.5*(this._XconvertDOMtoCanvas(e.x)+this.edges.connectionEdge.from.x),i.targetViaNode.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()))}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var e=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var i=this._getNodeAt(t);null!=i&&(i.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(e,i.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(42));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t200)&&(this._zoomExtentLastTime=new Date,this.zoomExtent({duration:800}),t.stopPropagation())},e._stopMovement=function(){this._xStopMoving(),this._yStopMoving(),this._stopZoom()},e._moveUp=function(t){this.yIncrement=this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._moveDown=function(t){this.yIncrement=-this.constants.keyboard.speed.y,this.start(),t.preventDefault()},e._moveLeft=function(t){this.xIncrement=this.constants.keyboard.speed.x,this.start(),t.preventDefault()},e._moveRight=function(t){this.xIncrement=-this.constants.keyboard.speed.y,this.start(),t.preventDefault() +},e._zoomIn=function(t){this.zoomIncrement=this.constants.keyboard.speed.zoom,this.start(),t.preventDefault()},e._zoomOut=function(t){this.zoomIncrement=-this.constants.keyboard.speed.zoom,this.start(),t.preventDefault()},e._stopZoom=function(t){this.zoomIncrement=0,t&&t.preventDefault()},e._yStopMoving=function(t){this.yIncrement=0,t&&t.preventDefault()},e._xStopMoving=function(t){this.xIncrement=0,t&&t.preventDefault()}},function(t,e){e._resetLevels=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];0==e.preassignedLevel&&(e.level=-1,e.hierarchyEnumerated=!1)}},e._setupHierarchicalLayout=function(){if(1==this.constants.hierarchicalLayout.enabled&&this.nodeIndices.length>0){"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,e,i){function s(t){return i(o(t))}function o(t){return n[t]||function(){throw new Error("Cannot find module '"+t+"'.")}()}var n={};s.keys=function(){return Object.keys(n)},s.resolve=o,t.exports=s},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/examples/network/02_random_nodes.html b/examples/network/02_random_nodes.html index 417eb317..c05ff0ec 100644 --- a/examples/network/02_random_nodes.html +++ b/examples/network/02_random_nodes.html @@ -76,12 +76,13 @@ nodes: nodes, edges: edges }; - var options = {}; + var options = {edges:{widthSelectionMultiplier:1}}; network = new vis.Network(container, data, options); // add event listeners network.on('select', function(params) { document.getElementById('selection').innerHTML = 'Selection: ' + params.nodes; + console.log(params) }); network.on('stabilized', function (params) { document.getElementById('stabilization').innerHTML = 'Stabilization took ' + params.iterations + ' iterations.'; diff --git a/lib/network/Network.js b/lib/network/Network.js index df34351b..b04b1160 100644 --- a/lib/network/Network.js +++ b/lib/network/Network.js @@ -2357,6 +2357,7 @@ Network.prototype.animateView = function (options) { this.animationEasingFunction = options.animation.easingFunction; this._classicRedraw = this._redraw; this._redraw = this._transitionRedraw; + this._redraw(); this.moving = true; this.start(); } diff --git a/lib/network/mixins/NavigationMixin.js b/lib/network/mixins/NavigationMixin.js index 9d9509ac..10223e52 100644 --- a/lib/network/mixins/NavigationMixin.js +++ b/lib/network/mixins/NavigationMixin.js @@ -62,7 +62,7 @@ exports._loadNavigationElements = function() { */ exports._zoomExtent = function(event) { // FIXME: this is a workaround because the binding of Hammer on Document makes this fire twice - if (this._zoomExtentLastTime === undefined || new Date() - this._zoomExtentLastTime > 50) { + if (this._zoomExtentLastTime === undefined || new Date() - this._zoomExtentLastTime > 200) { this._zoomExtentLastTime = new Date(); this.zoomExtent({duration:800}); event.stopPropagation();