From a69ef45b1473c53b531932a8ce2387210f27944c Mon Sep 17 00:00:00 2001 From: jos Date: Thu, 5 Mar 2015 16:01:22 +0100 Subject: [PATCH] Released vis.js v3.11.0 --- dist/vis.css | 37 +- dist/vis.js | 10548 ++++++++-------- dist/vis.map | 2 +- dist/vis.min.css | 2 +- dist/vis.min.js | 32 +- docs/dataset.html | 5 +- docs/dataview.html | 5 +- docs/graph2d.html | 58 +- docs/network.html | 61 +- docs/timeline.html | 135 +- download/vis.zip | Bin 2238134 -> 2257314 bytes examples/graph2d/19_labels.html | 64 + examples/network/06_groups.html | 18 +- .../network/25_physics_configuration.html | 1 - examples/network/26_staticSmoothCurves.html | 21 +- examples/network/27_world_cup_network.html | 2 + examples/network/38_node_as_icon.html | 166 + examples/network/index.html | 1 + examples/timeline/08_edit_items.html | 1 + examples/timeline/34_add_custom_timebar.html | 74 + examples/timeline/35_item_ordering.html | 80 + examples/timeline/index.html | 3 +- graph2d_examples.html | 12 + images/exampleScreenshots/graph2d/18.png | Bin 0 -> 6462 bytes images/exampleScreenshots/graph2d/19.png | Bin 0 -> 5257 bytes images/exampleScreenshots/network/38.png | Bin 0 -> 13426 bytes images/exampleScreenshots/timeline/34.png | Bin 0 -> 13255 bytes images/exampleScreenshots/timeline/35.png | Bin 0 -> 8298 bytes index.html | 6 +- network_examples.html | 6 + timeline_examples.html | 12 + 31 files changed, 6299 insertions(+), 5053 deletions(-) create mode 100644 examples/graph2d/19_labels.html create mode 100644 examples/network/38_node_as_icon.html create mode 100644 examples/timeline/34_add_custom_timebar.html create mode 100644 examples/timeline/35_item_ordering.html create mode 100644 images/exampleScreenshots/graph2d/18.png create mode 100644 images/exampleScreenshots/graph2d/19.png create mode 100644 images/exampleScreenshots/network/38.png create mode 100644 images/exampleScreenshots/timeline/34.png create mode 100644 images/exampleScreenshots/timeline/35.png diff --git a/dist/vis.css b/dist/vis.css index f163bd4e..5f0f38ea 100644 --- a/dist/vis.css +++ b/dist/vis.css @@ -266,6 +266,7 @@ .vis.timeline .item.range .drag-left { position: absolute; width: 24px; + max-width: 20%; height: 100%; top: 0; left: -4px; @@ -276,6 +277,7 @@ .vis.timeline .item.range .drag-right { position: absolute; width: 24px; + max-width: 20%; height: 100%; top: 0; right: -4px; @@ -613,9 +615,8 @@ div.network-manipulationDiv { div.network-manipulation-editMode { position:absolute; left: 0; - top: 0; + top: 15px; height: 30px; - margin-top:20px; } div.network-manipulation-closeDiv { @@ -641,7 +642,9 @@ div.network-manipulation-closeDiv:hover { opacity: 0.6; } -span.network-manipulationUI { +div.network-manipulationUI { + position:relative; + top:-7px; font-family: verdana; font-size: 12px; -moz-border-radius: 15px; @@ -650,7 +653,7 @@ span.network-manipulationUI { background-position: 0px 0px; background-repeat:no-repeat; height:24px; - margin: -14px 0px 0px 10px; + margin: 0px 0px 0px 10px; vertical-align:middle; cursor: pointer; padding: 0px 8px 0px 8px; @@ -662,57 +665,57 @@ span.network-manipulationUI { user-select: none; } -span.network-manipulationUI:hover { +div.network-manipulationUI:hover { box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.20); } -span.network-manipulationUI:active { +div.network-manipulationUI:active { box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.50); } -span.network-manipulationUI.back { +div.network-manipulationUI.back { background-image: url("img/network/backIcon.png"); } -span.network-manipulationUI.none:hover { +div.network-manipulationUI.none:hover { box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.0); cursor: default; } -span.network-manipulationUI.none:active { +div.network-manipulationUI.none:active { box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.0); } -span.network-manipulationUI.none { +div.network-manipulationUI.none { padding: 0; } -span.network-manipulationUI.notification{ +div.network-manipulationUI.notification{ margin: 2px; font-weight: bold; } -span.network-manipulationUI.add { +div.network-manipulationUI.add { background-image: url("img/network/addNodeIcon.png"); } -span.network-manipulationUI.edit { +div.network-manipulationUI.edit { background-image: url("img/network/editIcon.png"); } -span.network-manipulationUI.edit.editmode { +div.network-manipulationUI.edit.editmode { background-color: #fcfcfc; border-style:solid; border-width:1px; border-color: #cccccc; } -span.network-manipulationUI.connect { +div.network-manipulationUI.connect { background-image: url("img/network/connectIcon.png"); } -span.network-manipulationUI.delete { +div.network-manipulationUI.delete { background-image: url("img/network/deleteIcon.png"); } /* top right bottom left */ -span.network-manipulationLabel { +div.network-manipulationLabel { margin: 0px 0px 0px 23px; line-height: 25px; } diff --git a/dist/vis.js b/dist/vis.js index 9405c42d..b42c66a1 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.10.0 - * @date 2015-02-11 + * @version 3.11.0 + * @date 2015-03-05 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -38,41 +38,41 @@ return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; -/******/ + /******/ // The require function /******/ function __webpack_require__(moduleId) { -/******/ + /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; -/******/ + /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; -/******/ + /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ + /******/ // Flag the module as loaded /******/ module.loaded = true; -/******/ + /******/ // Return the exports of the module /******/ return module.exports; /******/ } -/******/ -/******/ + + /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; -/******/ + /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; -/******/ + /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; -/******/ + /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) @@ -827,6 +827,24 @@ return /******/ (function(modules) { // webpackBootstrap return target; }; + /** + * Check if given element contains given parent somewhere in the DOM tree + * @param {Element} element + * @param {Element} parent + */ + exports.hasParent = function (element, parent) { + var e = element; + + while (e) { + if (e === parent) { + return true; + } + e = e.parentNode; + } + + return false; + }; + exports.option = {}; /** @@ -1570,9 +1588,10 @@ return /******/ (function(modules) { // webpackBootstrap * @param group * @param JSONcontainer * @param svgContainer + * @param labelObj * @returns {*} */ - exports.drawPoint = function(x, y, group, JSONcontainer, svgContainer) { + exports.drawPoint = function(x, y, group, JSONcontainer, svgContainer, labelObj) { var point; if (group.options.drawPoints.style == 'circle') { point = exports.getSVGElement('circle',JSONcontainer,svgContainer); @@ -1592,6 +1611,28 @@ return /******/ (function(modules) { // webpackBootstrap point.setAttributeNS(null, "style", group.group.options.drawPoints.styles); } point.setAttributeNS(null, "class", group.className + " point"); + //handle label + var label = exports.getSVGElement('text',JSONcontainer,svgContainer); + if (labelObj){ + if (labelObj.xOffset) { + x = x + labelObj.xOffset; + } + + if (labelObj.yOffset) { + y = y + labelObj.yOffset; + } + if (labelObj.content) { + label.textContent = labelObj.content; + } + + if (labelObj.className) { + label.setAttributeNS(null, "class", labelObj.className + " label"); + } + + + } + label.setAttributeNS(null, "x", x); + label.setAttributeNS(null, "y", y); return point; }; @@ -2286,9 +2327,17 @@ return /******/ (function(modules) { // webpackBootstrap var filteredItem = {}; - for (var field in item) { - if (item.hasOwnProperty(field) && (fields.indexOf(field) != -1)) { - filteredItem[field] = item[field]; + if(Array.isArray(fields)){ + for (var field in item) { + if (item.hasOwnProperty(field) && (fields.indexOf(field) != -1)) { + filteredItem[field] = item[field]; + } + } + }else{ + for (var field in item) { + if (item.hasOwnProperty(field) && fields.hasOwnProperty(field)) { + filteredItem[fields[field]] = item[field]; + } } } @@ -2885,12 +2934,13 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ DataView.prototype._onEvent = function (event, params, senderId) { - var i, len, id, item, - ids = params && params.items, - data = this._data, - added = [], - updated = [], - removed = []; + var i, len, id, item; + var ids = params && params.items; + var data = this._data; + var updatedData = []; + var added = []; + var updated = []; + var removed = []; if (ids && data) { switch (event) { @@ -2917,6 +2967,7 @@ return /******/ (function(modules) { // webpackBootstrap if (item) { if (this._ids[id]) { updated.push(id); + updatedData.push(params.data[i]); } else { this._ids[id] = true; @@ -2955,7 +3006,7 @@ return /******/ (function(modules) { // webpackBootstrap this._trigger('add', {items: added}, senderId); } if (updated.length) { - this._trigger('update', {items: updated}, senderId); + this._trigger('update', {items: updated, data: updatedData}, senderId); } if (removed.length) { this._trigger('remove', {items: removed}, senderId); @@ -6454,8 +6505,8 @@ return /******/ (function(modules) { // webpackBootstrap /** * Create a timeline visualization * @param {HTMLElement} container - * @param {vis.DataSet | Array | google.visualization.DataTable} [items] - * @param {vis.DataSet | Array | google.visualization.DataTable} [groups] + * @param {vis.DataSet | vis.DataView | Array | google.visualization.DataTable} [items] + * @param {vis.DataSet | vis.DataView | Array | google.visualization.DataTable} [groups] * @param {Object} [options] See Timeline.setOptions for the available options. * @constructor * @extends Core @@ -6466,7 +6517,7 @@ return /******/ (function(modules) { // webpackBootstrap } // if the third element is options, the forth is groups (optionally); - if (!(Array.isArray(groups) || groups instanceof DataSet) && groups instanceof Object) { + if (!(Array.isArray(groups) || groups instanceof DataSet || groups instanceof DataView) && groups instanceof Object) { var forthArgument = options; options = groups; groups = forthArgument; @@ -6479,7 +6530,7 @@ return /******/ (function(modules) { // webpackBootstrap autoResize: true, - orientation: 'bottom', + orientation: 'bottom', // 'bottom', 'top', or 'both' width: null, height: null, maxHeight: null, @@ -6524,6 +6575,7 @@ return /******/ (function(modules) { // webpackBootstrap // time axis this.timeAxis = new TimeAxis(this.body); + this.timeAxis2 = null; // used in case of orientation option 'both' this.components.push(this.timeAxis); // current time bar @@ -6542,6 +6594,16 @@ return /******/ (function(modules) { // webpackBootstrap this.itemsData = null; // DataSet this.groupsData = null; // DataSet + this.on('tap', function (event) { + me.emit('click', me.getEventProperties(event)) + }); + this.on('doubletap', function (event) { + me.emit('doubleClick', me.getEventProperties(event)) + }); + this.dom.root.oncontextmenu = function (event) { + me.emit('contextmenu', me.getEventProperties(event)) + }; + // apply options if (options) { this.setOptions(options); @@ -6766,6 +6828,49 @@ return /******/ (function(modules) { // webpackBootstrap }; }; + /** + * Generate Timeline related information from an event + * @param {Event} event + * @return {Object} An object with related information, like on which area + * The event happened, whether clicked on an item, etc. + */ + Timeline.prototype.getEventProperties = function (event) { + var item = this.itemSet.itemFromTarget(event); + var group = this.itemSet.groupFromTarget(event); + var pageX = event.gesture ? event.gesture.center.pageX : event.pageX; + var pageY = event.gesture ? event.gesture.center.pageY : event.pageY; + var x = pageX - util.getAbsoluteLeft(this.dom.centerContainer); + var y = pageY - util.getAbsoluteTop(this.dom.centerContainer); + + var snap = this.itemSet.options.snap || null; + var scale = this.body.util.getScale(); + var step = this.body.util.getStep(); + var time = this._toTime(x); + var snappedTime = snap ? snap(time, scale, step) : time; + + var element = util.getTarget(event); + var what = null; + if (item != null) {what = 'item';} + else if (util.hasParent(element, this.timeAxis.dom.foreground)) {what = 'axis';} + else if (this.timeAxis2 && util.hasParent(element, this.timeAxis2.dom.foreground)) {what = 'axis';} + else if (util.hasParent(element, this.itemSet.dom.labelSet)) {what = 'group-label';} + else if (util.hasParent(element, this.customTime.bar)) {what = 'custom-time';} // TODO: fix for multiple custom time bars + else if (util.hasParent(element, this.currentTime.bar)) {what = 'current-time';} + else if (util.hasParent(element, this.dom.center)) {what = 'background';} + + return { + event: event, + item: item ? item.id : null, + group: group ? group.groupId : null, + what: what, + pageX: pageX, + pageY: pageY, + x: x, + y: y, + time: time, + snappedTime: snappedTime + } + }; module.exports = Timeline; @@ -6866,6 +6971,16 @@ return /******/ (function(modules) { // webpackBootstrap this.itemsData = null; // DataSet this.groupsData = null; // DataSet + this.on('tap', function (event) { + me.emit('click', me.getEventProperties(event)) + }); + this.on('doubletap', function (event) { + me.emit('doubleClick', me.getEventProperties(event)) + }); + this.dom.root.oncontextmenu = function (event) { + me.emit('contextmenu', me.getEventProperties(event)) + }; + // apply options if (options) { this.setOptions(options); @@ -6967,7 +7082,7 @@ return /******/ (function(modules) { // webpackBootstrap else { return "cannot find group:" + groupId; } - } + }; /** * This checks if the visible option of the supplied group (by ID) is true or false. @@ -6981,7 +7096,7 @@ return /******/ (function(modules) { // webpackBootstrap else { return false; } - } + }; /** @@ -7015,6 +7130,53 @@ return /******/ (function(modules) { // webpackBootstrap }; + /** + * Generate Timeline related information from an event + * @param {Event} event + * @return {Object} An object with related information, like on which area + * The event happened, whether clicked on an item, etc. + */ + Graph2d.prototype.getEventProperties = function (event) { + var pageX = event.gesture ? event.gesture.center.pageX : event.pageX; + var pageY = event.gesture ? event.gesture.center.pageY : event.pageY; + var x = pageX - util.getAbsoluteLeft(this.dom.centerContainer); + var y = pageY - util.getAbsoluteTop(this.dom.centerContainer); + var time = this._toTime(x); + + var element = util.getTarget(event); + var what = null; + if (util.hasParent(element, this.timeAxis.dom.foreground)) {what = 'axis';} + else if (this.timeAxis2 && util.hasParent(element, this.timeAxis2.dom.foreground)) {what = 'axis';} + else if (util.hasParent(element, this.linegraph.yAxisLeft.dom.frame)) {what = 'data-axis';} + else if (util.hasParent(element, this.linegraph.yAxisRight.dom.frame)) {what = 'data-axis';} + else if (util.hasParent(element, this.linegraph.legendLeft.dom.frame)) {what = 'legend';} + else if (util.hasParent(element, this.linegraph.legendRight.dom.frame)) {what = 'legend';} + else if (util.hasParent(element, this.customTime.bar)) {what = 'custom-time';} // TODO: fix for multiple custom time bars + else if (util.hasParent(element, this.currentTime.bar)) {what = 'current-time';} + else if (util.hasParent(element, this.dom.center)) {what = 'background';} + + var value = []; + var yAxisLeft = this.linegraph.yAxisLeft; + var yAxisRight = this.linegraph.yAxisRight; + if (!yAxisLeft.hidden) { + value.push(yAxisLeft.screenToValue(y)); + } + if (!yAxisRight.hidden) { + value.push(yAxisRight.screenToValue(y)); + } + + return { + event: event, + what: what, + pageX: pageX, + pageY: pageY, + x: x, + y: y, + time: time, + value: value + } + }; + module.exports = Graph2d; @@ -9604,6 +9766,8 @@ return /******/ (function(modules) { // webpackBootstrap // special positioning for subgroups if (this.data.subgroup !== undefined) { + // TODO: instead of calculating the top position of the subgroups here for every BackgroundItem, calculate the top of the subgroup once in Itemset + var itemSubgroup = this.data.subgroup; var subgroups = this.parent.subgroups; var subgroupIndex = subgroups[itemSubgroup].index; @@ -9629,15 +9793,20 @@ return /******/ (function(modules) { // webpackBootstrap // and when the orientation is bottom: else { var newTop = this.parent.top; + var totalHeight = 0; for (var subgroup in subgroups) { if (subgroups.hasOwnProperty(subgroup)) { - if (subgroups[subgroup].visible == true && subgroups[subgroup].index > subgroupIndex) { - newTop += subgroups[subgroup].height + margin.item.vertical; + if (subgroups[subgroup].visible == true) { + var newHeight = subgroups[subgroup].height + margin.item.vertical; + totalHeight += newHeight; + if (subgroups[subgroup].index > subgroupIndex) { + newTop += newHeight; + } } } } height = this.parent.subgroups[itemSubgroup].height + margin.item.vertical; - this.dom.box.style.top = newTop + 'px'; + this.dom.box.style.top = (this.parent.height - totalHeight + newTop) + 'px'; this.dom.box.style.bottom = ''; } } @@ -9822,9 +9991,6 @@ return /******/ (function(modules) { // webpackBootstrap if (dom.line.parentNode) dom.line.parentNode.removeChild(dom.line); if (dom.dot.parentNode) dom.dot.parentNode.removeChild(dom.dot); - this.top = null; - this.left = null; - this.displayed = false; } }; @@ -9837,9 +10003,6 @@ return /******/ (function(modules) { // webpackBootstrap var start = this.conversion.toScreen(this.data.start); var align = this.options.align; var left; - var box = this.dom.box; - var line = this.dom.line; - var dot = this.dom.dot; // calculate left position of the box if (align == 'right') { @@ -9854,13 +10017,13 @@ return /******/ (function(modules) { // webpackBootstrap } // reposition box - box.style.left = this.left + 'px'; + this.dom.box.style.left = this.left + 'px'; // reposition line - line.style.left = (start - this.props.line.width / 2) + 'px'; + this.dom.line.style.left = (start - this.props.line.width / 2) + 'px'; // reposition dot - dot.style.left = (start - this.props.dot.width / 2) + 'px'; + this.dom.dot.style.left = (start - this.props.dot.width / 2) + 'px'; }; /** @@ -10045,9 +10208,6 @@ return /******/ (function(modules) { // webpackBootstrap this.dom.point.parentNode.removeChild(this.dom.point); } - this.top = null; - this.left = null; - this.displayed = false; } }; @@ -10230,30 +10390,34 @@ return /******/ (function(modules) { // webpackBootstrap box.parentNode.removeChild(box); } - this.top = null; - this.left = null; - this.displayed = false; } }; /** * Reposition the item horizontally + * @param {boolean} [limitSize=true] If true (default), the width of the range + * item will be limited, as the browser cannot + * display very wide divs. This means though + * that the applied left and width may + * not correspond to the ranges start and end * @Override */ - RangeItem.prototype.repositionX = function() { + RangeItem.prototype.repositionX = function(limitSize) { var parentWidth = this.parent.width; var start = this.conversion.toScreen(this.data.start); var end = this.conversion.toScreen(this.data.end); var contentLeft; var contentWidth; - // limit the width of the this, as browsers cannot draw very wide divs - if (start < -parentWidth) { - start = -parentWidth; - } - if (end > 2 * parentWidth) { - end = 2 * parentWidth; + // limit the width of the range, as browsers cannot draw very wide divs + if (limitSize === undefined || limitSize === true) { + if (start < -parentWidth) { + start = -parentWidth; + } + if (end > 2 * parentWidth) { + end = 2 * parentWidth; + } } var boxWidth = Math.max(end - start, 1); @@ -10646,11 +10810,17 @@ return /******/ (function(modules) { // webpackBootstrap this.defaultOptions = { showCustomTime: false, locales: locales, - locale: 'en' + locale: 'en', + id: 0 }; this.options = util.extend({}, this.defaultOptions); - this.customTime = new Date(); + if (options && options.time) { + this.customTime = options.time; + } else { + this.customTime = new Date(); + } + this.eventParams = {}; // stores state parameters while dragging the bar // create the DOM @@ -10669,7 +10839,12 @@ return /******/ (function(modules) { // webpackBootstrap CustomTime.prototype.setOptions = function(options) { if (options) { // copy all options that we know - util.selectiveExtend(['showCustomTime', 'locale', 'locales'], this.options, options); + util.selectiveExtend(['showCustomTime', 'locale', 'locales', 'id'], this.options, options); + + // Triggered by addCustomTimeBar, redraw to add new bar + if (this.options.id) { + this.redraw(); + } } }; @@ -10795,6 +10970,7 @@ return /******/ (function(modules) { // webpackBootstrap // fire a timechange event this.body.emitter.emit('timechange', { + id: this.options.id, time: new Date(this.customTime.valueOf()) }); @@ -10812,6 +10988,7 @@ return /******/ (function(modules) { // webpackBootstrap // fire a timechanged event this.body.emitter.emit('timechanged', { + id: this.options.id, time: new Date(this.customTime.valueOf()) }); @@ -11312,6 +11489,10 @@ return /******/ (function(modules) { // webpackBootstrap return convertedValue; }; + DataAxis.prototype.screenToValue = function (x) { + return this.valueAtZero - (x / this.conversionFactor); + }; + /** * Create a label for the axis at position x * @private @@ -11816,8 +11997,6 @@ return /******/ (function(modules) { // webpackBootstrap Group.prototype.redraw = function(range, margin, restack) { var resized = false; - this.visibleItems = this._updateVisibleItems(this.orderedItems, this.visibleItems, range); - // force recalculation of the height of the items when the marker height changed // (due to the Timeline being attached to the DOM or changed from display:none to visible) var markerHeight = this.dom.marker.clientHeight; @@ -11833,11 +12012,42 @@ return /******/ (function(modules) { // webpackBootstrap } // reposition visible items vertically - if (this.itemSet.options.stack) { // TODO: ugly way to access options... - stack.stack(this.visibleItems, margin, restack); + if (typeof this.itemSet.options.order === 'function') { + // a custom order function + + if (restack) { + // brute force restack of all items + + // show all items + var me = this; + var limitSize = false; + util.forEach(this.items, function (item) { + if (!item.displayed) { + item.redraw(); + me.visibleItems.push(item); + } + item.repositionX(limitSize); + }); + + // order all items and force a restacking + var customOrderedItems = this.orderedItems.byStart.slice().sort(function (a, b) { + return me.itemSet.options.order(a.data, b.data); + }); + stack.stack(customOrderedItems, margin, true /* restack=true */); + } + + this.visibleItems = this._updateVisibleItems(this.orderedItems, this.visibleItems, range); } - else { // no stacking - stack.nostack(this.visibleItems, margin, this.subgroups); + else { + // no custom order function, lazy stacking + this.visibleItems = this._updateVisibleItems(this.orderedItems, this.visibleItems, range); + + if (this.itemSet.options.stack) { // TODO: ugly way to access options... + stack.stack(this.visibleItems, margin, restack); + } + else { // no stacking + stack.nostack(this.visibleItems, margin, this.subgroups); + } } // recalculate the height of the group @@ -12580,7 +12790,7 @@ return /******/ (function(modules) { // webpackBootstrap ItemSet.prototype.setOptions = function(options) { if (options) { // copy all options that we know - var fields = ['type', 'align', 'orientation', 'padding', 'stack', 'selectable', 'groupOrder', 'dataAttributes', 'template','hide', 'snap']; + var fields = ['type', 'align', 'orientation', 'order', 'padding', 'stack', 'selectable', 'groupOrder', 'dataAttributes', 'template','hide', 'snap']; util.selectiveExtend(fields, this.options, options); if ('margin' in options) { @@ -13388,7 +13598,7 @@ return /******/ (function(modules) { // webpackBootstrap */ ItemSet.prototype._onTouch = function (event) { // store the touched item, used in _onDragStart - this.touchParams.item = ItemSet.itemFromTarget(event); + this.touchParams.item = this.itemFromTarget(event); }; /** @@ -13468,6 +13678,54 @@ return /******/ (function(modules) { // webpackBootstrap event.stopPropagation(); } + else if (this.options.editable.add && event.gesture.srcEvent.ctrlKey) { + // create a new range item when dragging with ctrl key down + this._onDragStartAddItem(event); + } + }; + + /** + * Start creating a new range item by dragging. + * @param {Event} event + * @private + */ + ItemSet.prototype._onDragStartAddItem = function (event) { + var snap = this.options.snap || null; + var xAbs = util.getAbsoluteLeft(this.dom.frame); + var x = event.gesture.center.pageX - xAbs - 10; // minus 10 to compensate for the drag starting as soon as you've moved 10px + var time = this.body.util.toTime(x); + var scale = this.body.util.getScale(); + var step = this.body.util.getStep(); + var start = snap ? snap(time, scale, step) : start; + var end = start; + + var itemData = { + type: 'range', + start: start, + end: end, + content: 'new item' + }; + + var id = util.randomUUID(); + itemData[this.itemsData._fieldId] = id; + + var group = this.groupFromTarget(event); + if (group) { + itemData.group = group.groupId; + } + + var newItem = new RangeItem(itemData, this.conversion, this.options); + newItem.id = id; // TODO: not so nice setting id afterwards + this._addItem(newItem); + + var props = { + item: newItem, + end: end.valueOf(), + initialX: event.gesture.center.clientX + }; + this.touchParams.itemProps = [props]; + + event.stopPropagation(); }; /** @@ -13535,8 +13793,15 @@ return /******/ (function(modules) { // webpackBootstrap */ ItemSet.prototype._updateItemProps = function(item, props) { // TODO: copy all properties from props to item? (also new ones) - if ('start' in props) item.data.start = props.start; - if ('end' in props) item.data.end = props.end; + if ('start' in props) { + item.data.start = props.start; + } + if ('end' in props) { + item.data.end = props.end; + } + else if ('duration' in props) { + item.data.end = new Date(props.start.valueOf() + props.duration); + } if ('group' in props && item.data.group != props.group) { this._moveToGroup(item, props.group) } @@ -13571,49 +13836,65 @@ return /******/ (function(modules) { // webpackBootstrap if (this.touchParams.itemProps) { // prepare a change set for the changed items - var changes = [], - me = this, - dataset = this.itemsData.getDataSet(); + var changes = []; + var me = this; + var dataset = this.itemsData.getDataSet(); var itemProps = this.touchParams.itemProps ; this.touchParams.itemProps = null; itemProps.forEach(function (props) { - var id = props.item.id, - itemData = me.itemsData.get(id, me.itemOptions); - - var changed = false; - if ('start' in props.item.data) { - changed = (props.start != props.item.data.start.valueOf()); - itemData.start = util.convert(props.item.data.start, - dataset._options.type && dataset._options.type.start || 'Date'); - } - if ('end' in props.item.data) { - changed = changed || (props.end != props.item.data.end.valueOf()); - itemData.end = util.convert(props.item.data.end, - dataset._options.type && dataset._options.type.end || 'Date'); - } - if ('group' in props.item.data) { - changed = changed || (props.group != props.item.data.group); - itemData.group = props.item.data.group; - } + var id = props.item.id; + var itemData = me.itemsData.get(id, me.itemOptions); - // only apply changes when start or end is actually changed - if (changed) { - me.options.onMove(itemData, function (itemData) { + if (!itemData) { + // add a new item + me.options.onAdd(props.item.data, function (itemData) { + me._removeItem(props.item); // remove temporary item if (itemData) { - // apply changes - itemData[dataset._fieldId] = id; // ensure the item contains its id (can be undefined) - changes.push(itemData); + me.itemsData.getDataSet().add(itemData); } - else { - // restore original values - me._updateItemProps(props.item, props); - me.stackDirty = true; // force re-stacking of all items next redraw - me.body.emitter.emit('change'); - } + // force re-stacking of all items next redraw + me.stackDirty = true; + me.body.emitter.emit('change'); }); } + else { + // update existing item + var changed = false; + if ('start' in props.item.data) { + changed = (props.start != props.item.data.start.valueOf()); + itemData.start = util.convert(props.item.data.start, + dataset._options.type && dataset._options.type.start || 'Date'); + } + if ('end' in props.item.data) { + changed = changed || (props.end != props.item.data.end.valueOf()); + itemData.end = util.convert(props.item.data.end, + dataset._options.type && dataset._options.type.end || 'Date'); + } + if ('group' in props.item.data) { + changed = changed || (props.group != props.item.data.group); + itemData.group = props.item.data.group; + } + + // only apply changes when start or end is actually changed + if (changed) { + me.options.onMove(itemData, function (itemData) { + if (itemData) { + // apply changes + itemData[dataset._fieldId] = id; // ensure the item contains its id (can be undefined) + changes.push(itemData); + } + else { + // restore original values + me._updateItemProps(props.item, props); + + me.stackDirty = true; // force re-stacking of all items next redraw + me.body.emitter.emit('change'); + } + }); + } + } }); // apply the changes to the data (if there are changes) @@ -13642,7 +13923,7 @@ return /******/ (function(modules) { // webpackBootstrap var oldSelection = this.getSelection(); - var item = ItemSet.itemFromTarget(event); + var item = this.itemFromTarget(event); var selection = item ? [item.id] : []; this.setSelection(selection); @@ -13668,7 +13949,7 @@ return /******/ (function(modules) { // webpackBootstrap var me = this, snap = this.options.snap || null, - item = ItemSet.itemFromTarget(event); + item = this.itemFromTarget(event); if (item) { // update item @@ -13726,7 +14007,7 @@ return /******/ (function(modules) { // webpackBootstrap if (!this.options.selectable) return; var selection, - item = ItemSet.itemFromTarget(event); + item = this.itemFromTarget(event); if (item) { // multi select items @@ -13814,7 +14095,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Event} event * @return {Item | null} item */ - ItemSet.itemFromTarget = function(event) { + ItemSet.prototype.itemFromTarget = function(event) { var target = event.target; while (target) { if (target.hasOwnProperty('timeline-item')) { @@ -13833,17 +14114,7 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Group | null} group */ ItemSet.prototype.groupFromTarget = function(event) { - // TODO: cleanup when the new solution is stable (also on mobile) - //var target = event.target; - //while (target) { - // if (target.hasOwnProperty('timeline-group')) { - // return target['timeline-group']; - // } - // target = target.parentNode; - //} - // - - var clientY = event.gesture.center.clientY; + var clientY = event.gesture ? event.gesture.center.clientY : event.clientY; for (var i = 0; i < this.groupIds.length; i++) { var groupId = this.groupIds[i]; var group = this.groups[groupId]; @@ -15086,9 +15357,17 @@ return /******/ (function(modules) { // webpackBootstrap } for (var i = 0; i < datapoints.length; i++) { + var labelValue; + //if (datapoints[i].label) { + // labelValue = datapoints[i].label; + //} + //else { + // labelValue = null; + //} + labelValue = datapoints[i].label ? datapoints[i].label : null; xValue = toScreen(datapoints[i].x) + this.props.width; yValue = Math.round(axis.convertValue(datapoints[i].y)); - extractedData.push({x: xValue, y: yValue}); + extractedData.push({x: xValue, y: yValue, label:labelValue}); } group.setZeroPosition(Math.min(svgHeight, axis.convertValue(0))); @@ -15548,7 +15827,7 @@ return /******/ (function(modules) { // webpackBootstrap var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); - var keycharm = __webpack_require__(59); + var keycharm = __webpack_require__(57); var util = __webpack_require__(1); var hammerUtil = __webpack_require__(47); var DataSet = __webpack_require__(3); @@ -15677,7 +15956,8 @@ return /******/ (function(modules) { // webpackBootstrap gap: 5, altLength: undefined }, - inheritColor: "from" // to, from, false, true (== from) + inheritColor: "from", // to, from, false, true (== from) + useGradients: false // release in 4.0 }, configurePhysics:false, physics: { @@ -15783,7 +16063,8 @@ return /******/ (function(modules) { // webpackBootstrap hideNodesOnDrag: false, width : '100%', height : '100%', - selectable: true + selectable: true, + useDefaultGroups: true }; this.constants = util.extend({}, this.defaultOptions); this.pixelRatio = 1; @@ -15791,7 +16072,8 @@ return /******/ (function(modules) { // webpackBootstrap this.hoverObj = {nodes:{},edges:{}}; this.controlNodesActive = false; - this.navigationHammers = {existing:[], _new: []}; + this.navigationHammers = []; + this.manipulationHammers = []; // animation properties this.animationSpeed = 1/this.renderRefreshRate; @@ -15805,13 +16087,14 @@ return /******/ (function(modules) { // webpackBootstrap this.lockedOnNodeId = null; this.lockedOnNodeOffset = null; this.touchTime = 0; + this.redrawRequested = false; // Node variables var network = this; this.groups = new Groups(); // object with groups this.images = new Images(); // object with images this.images.setOnloadCallback(function (status) { - network._redraw(); + network._requestRedraw(); }); // keyboard navigation variables @@ -15873,7 +16156,7 @@ return /******/ (function(modules) { // webpackBootstrap network.start(); }, 'update': function (event, params) { - network._updateNodes(params.items, params.data); + network._updateNodes(params.items); network.start(); }, 'remove': function (event, params) { @@ -16223,6 +16506,7 @@ return /******/ (function(modules) { // webpackBootstrap util.selectiveNotDeepExtend(['color'],this.constants.nodes, options.nodes); util.selectiveNotDeepExtend(['color','length'],this.constants.edges, options.edges); + this.groups.useDefaultGroups = this.constants.useDefaultGroups; if (options.physics) { util.mergeOptions(this.constants.physics, options.physics,'barnesHut'); util.mergeOptions(this.constants.physics, options.physics,'repulsion'); @@ -16353,6 +16637,10 @@ return /******/ (function(modules) { // webpackBootstrap this._markAllEdgesAsDirty(); this.setSize(this.constants.width, this.constants.height); this.moving = true; + if (this.constants.hierarchicalLayout.enabled == true && this.initializing == false) { + this._resetLevels(); + this._setupHierarchicalLayout(); + } this.start(); } }; @@ -16493,10 +16781,6 @@ return /******/ (function(modules) { // webpackBootstrap this.keycharm.bind("pagedown",this._zoomOut.bind(me),"keydown"); this.keycharm.bind("pagedown",this._stopZoom.bind(me), "keyup"); } - //this.keycharm.bind("1",this.increaseClusterLevel.bind(me), "keydown"); - //this.keycharm.bind("2",this.decreaseClusterLevel.bind(me), "keydown"); - //this.keycharm.bind("3",this.forceAggregateHubs.bind(me,true),"keydown"); - //this.keycharm.bind("4",this.normalizeClusterLevels.bind(me), "keydown"); if (this.constants.dataManipulation.enabled == true) { this.keycharm.bind("esc",this._createManipulatorBar.bind(me)); @@ -16906,10 +17190,20 @@ return /******/ (function(modules) { // webpackBootstrap Network.prototype._onMouseMoveTitle = function (event) { var gesture = hammerUtil.fakeGesture(this, event); var pointer = this._getPointer(gesture.center); + var popupVisible = false; // check if the previously selected node is still selected - if (this.popupObj) { - this._checkHidePopup(pointer); + if (this.popup !== undefined) { + if (this.popup.hidden === false) { + this._checkHidePopup(pointer); + } + + // if the popup was not hidden above + if (this.popup.hidden === false) { + popupVisible = true; + this.popup.setPosition(pointer.x + 3,pointer.y - 5) + this.popup.show(); + } } // if we bind the keyboard to the div, we have to highlight it to use it. This highlights it on mouse over @@ -16917,20 +17211,20 @@ return /******/ (function(modules) { // webpackBootstrap this.frame.focus(); } - // start a timeout that will check if the mouse is positioned above - // an element - var me = this; - var checkShow = function() { - me._checkShowPopup(pointer); - }; - if (this.popupTimer) { - clearInterval(this.popupTimer); // stop any running calculationTimer - } - if (!this.drag.dragging) { - this.popupTimer = setTimeout(checkShow, this.constants.tooltip.delay); + // start a timeout that will check if the mouse is positioned above an element + if (popupVisible === false) { + var me = this; + var checkShow = function () { + me._checkShowPopup(pointer); + }; + if (this.popupTimer) { + clearInterval(this.popupTimer); // stop any running calculationTimer + } + if (!this.drag.dragging) { + this.popupTimer = setTimeout(checkShow, this.constants.tooltip.delay); + } } - /** * Adding hover highlights */ @@ -16982,8 +17276,9 @@ return /******/ (function(modules) { // webpackBootstrap }; var id; - var lastPopupNode = this.popupObj; + var previousPopupObjId = this.popupObj === undefined ? "" : this.popupObj.id; var nodeUnderCursor = false; + var popupType = "node"; if (this.popupObj == undefined) { // search the nodes for overlap, select the top one in case of multiple nodes @@ -17025,23 +17320,26 @@ return /******/ (function(modules) { // webpackBootstrap if (overlappingEdges.length > 0) { this.popupObj = this.edges[overlappingEdges[overlappingEdges.length - 1]]; + popupType = "edge"; } } if (this.popupObj) { // show popup message window - if (this.popupObj != lastPopupNode) { - var me = this; - if (!me.popup) { - me.popup = new Popup(me.frame, me.constants.tooltip); + if (this.popupObj.id != previousPopupObjId) { + if (this.popup === undefined) { + this.popup = new Popup(this.frame, this.constants.tooltip); } + this.popup.popupTargetType = popupType; + this.popup.popupTargetId = this.popupObj.id; + // adjust a small offset such that the mouse cursor is located in the // bottom left location of the popup, and you can easily move over the // popup area - me.popup.setPosition(pointer.x - 3, pointer.y - 3); - me.popup.setText(me.popupObj.getTitle()); - me.popup.show(); + this.popup.setPosition(pointer.x + 3, pointer.y - 5); + this.popup.setText(this.popupObj.getTitle()); + this.popup.show(); } } else { @@ -17053,18 +17351,38 @@ return /******/ (function(modules) { // webpackBootstrap /** - * Check if the popup must be hided, which is the case when the mouse is no + * Check if the popup must be hidden, which is the case when the mouse is no * longer hovering on the object * @param {{x:Number, y:Number}} pointer * @private */ Network.prototype._checkHidePopup = function (pointer) { - if (!this.popupObj || !this._getNodeAt(pointer) ) { - this.popupObj = undefined; - if (this.popup) { - this.popup.hide(); + var pointerObj = { + left: this._XconvertDOMtoCanvas(pointer.x), + top: this._YconvertDOMtoCanvas(pointer.y), + right: this._XconvertDOMtoCanvas(pointer.x), + bottom: this._YconvertDOMtoCanvas(pointer.y) + }; + + var stillOnObj = false; + if (this.popup.popupTargetType == 'node') { + stillOnObj = this.nodes[this.popup.popupTargetId].isOverlappingWith(pointerObj); + if (stillOnObj === true) { + var overNode = this._getNodeAt(pointer); + stillOnObj = overNode.id == this.popup.popupTargetId; + } + } + else { + if (this._getNodeAt(pointer) === null) { + stillOnObj = this.edges[this.popup.popupTargetId].isOverlappingWith(pointerObj); } } + + + if (stillOnObj === false) { + this.popupObj = undefined; + this.popup.hide(); + } }; @@ -17196,12 +17514,14 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Number[] | String[]} ids * @private */ - Network.prototype._updateNodes = function(ids,changedData) { + Network.prototype._updateNodes = function(ids) { + var nodesData = this.nodesData.get(ids); var nodes = this.nodes; + for (var i = 0, len = ids.length; i < len; i++) { var id = ids[i]; var node = nodes[id]; - var data = changedData[i]; + var data = nodesData[i]; if (node) { // update node node.setProperties(data, this.constants); @@ -17488,7 +17808,23 @@ return /******/ (function(modules) { // webpackBootstrap * @param hidden | used to get the first estimate of the node sizes. only the nodes are drawn after which they are quickly drawn over. * @private */ - Network.prototype._redraw = function(hidden) { + Network.prototype._requestRedraw = function(hidden) { + if (this.redrawRequested !== true) { + this.redrawRequested = true; + if (this.requiresTimeout === true) { + window.setTimeout(this._redraw.bind(this, hidden),0); + } + else { + window.requestAnimationFrame(this._redraw.bind(this, hidden, true)); + } + } + }; + + Network.prototype._redraw = function(hidden, requested) { + if (hidden === undefined) { + hidden = false; + } + this.redrawRequested = false; var ctx = this.frame.canvas.getContext('2d'); ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0); @@ -17512,7 +17848,7 @@ return /******/ (function(modules) { // webpackBootstrap "y": this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight) }; - if (!(hidden == true)) { + if (hidden === false) { this._doInAllSectors("_drawAllSectorNodes", ctx); if (this.drag.dragging == false || this.drag.dragging === undefined || this.constants.hideEdgesOnDrag == false) { this._doInAllSectors("_drawEdges", ctx); @@ -17523,7 +17859,7 @@ return /******/ (function(modules) { // webpackBootstrap this._doInAllSectors("_drawNodes",ctx,false); } - if (!(hidden == true)) { + if (hidden === false) { if (this.controlNodesActive == true) { this._doInAllSectors("_drawControlNodes", ctx); } @@ -17535,10 +17871,10 @@ return /******/ (function(modules) { // webpackBootstrap // restore original scaling and translation ctx.restore(); - if (hidden == true) { + if (hidden === true) { ctx.clearRect(0, 0, w, h); } - }; + } /** * Set the translation of the network @@ -17744,10 +18080,6 @@ return /******/ (function(modules) { // webpackBootstrap var count = 0; while (this.moving && count < this.constants.stabilizationIterations) { this._physicsTick(); - // TODO: cleanup - //if (count % 100 == 0) { - // console.log("stabilizationIterations",count); - //} count++; } @@ -17929,6 +18261,11 @@ return /******/ (function(modules) { // webpackBootstrap // reset the timer so a new scheduled animation step can be set this.timer = undefined; + if (this.requiresTimeout == true) { + // this schedules a new animation step + this.start(); + } + // handle the keyboad movement this._handleNavigation(); @@ -17953,8 +18290,10 @@ return /******/ (function(modules) { // webpackBootstrap this._redraw(); this.renderTime = Date.now() - renderStartTime; - // this schedules a new animation step - this.start(); + if (this.requiresTimeout == false) { + // this schedules a new animation step + this.start(); + } }; if (typeof window !== 'undefined') { @@ -17966,6 +18305,9 @@ return /******/ (function(modules) { // webpackBootstrap * Schedule a animation step with the refreshrate interval. */ Network.prototype.start = function() { + if (this.freezeSimulationEnabled == true) { + this.moving = false; + } if (this.moving == true || this.xIncrement != 0 || this.yIncrement != 0 || this.zoomIncrement != 0 || this.animating == true) { if (!this.timer) { if (this.requiresTimeout == true) { @@ -17977,7 +18319,7 @@ return /******/ (function(modules) { // webpackBootstrap } } else { - this._redraw(); + this._requestRedraw(); // this check is to ensure that the network does not emit these events if it was already stabilized and setOptions is called (setting moving to true and calling start()) if (this.stabilizationIterations > 1) { // trigger the "stabilized" event. @@ -18428,6 +18770,23 @@ return /******/ (function(modules) { // webpackBootstrap return nodeList; } + + Network.prototype.getEdgesFromNode = function(nodeId) { + var edgesList = []; + if (this.nodes[nodeId] !== undefined) { + var node = this.nodes[nodeId]; + for (var i = 0; i < node.edges.length; i++) { + edgesList.push(node.edges[i].id); + } + } + return edgesList; + } + + Network.prototype.generateColorObject = function(color) { + return util.parseColor(color); + + } + module.exports = Network; @@ -18516,7 +18875,7 @@ return /******/ (function(modules) { // webpackBootstrap var fields = ['style','fontSize','fontFace','fontColor','fontFill','fontStrokeWidth','fontStrokeColor','width', 'widthSelectionMultiplier','hoverWidth','arrowScaleFactor','dash','inheritColor','labelAlignment', 'opacity', - 'customScalingFunction' + 'customScalingFunction','useGradients' ]; util.selectiveDeepExtend(fields, this.options, properties); @@ -18671,8 +19030,30 @@ return /******/ (function(modules) { // webpackBootstrap } }; - Edge.prototype._getColor = function() { + Edge.prototype._getColor = function(ctx) { var colorObj = this.options.color; + if (this.options.useGradients == true) { + var grd = ctx.createLinearGradient(this.from.x, this.from.y, this.to.x, this.to.y); + var fromColor, toColor; + fromColor = this.from.options.color.highlight.border; + toColor = this.to.options.color.highlight.border; + + + if (this.from.selected == false && this.to.selected == false) { + fromColor = util.overrideOpacity(this.from.options.color.border, this.options.opacity); + toColor = util.overrideOpacity(this.to.options.color.border, this.options.opacity); + } + else if (this.from.selected == true && this.to.selected == false) { + toColor = this.to.options.color.border; + } + else if (this.from.selected == false && this.to.selected == true) { + fromColor = this.from.options.color.border; + } + grd.addColorStop(0, fromColor); + grd.addColorStop(1, toColor); + return grd; + } + if (this.colorDirty === true) { if (this.options.inheritColor == "to") { colorObj = { @@ -18692,6 +19073,8 @@ return /******/ (function(modules) { // webpackBootstrap this.colorDirty = false; } + + if (this.selected == true) {return colorObj.highlight;} else if (this.hover == true) {return colorObj.hover;} else {return colorObj.color;} @@ -18707,7 +19090,7 @@ return /******/ (function(modules) { // webpackBootstrap */ Edge.prototype._drawLine = function(ctx) { // set style - ctx.strokeStyle = this._getColor(); + ctx.strokeStyle = this._getColor(ctx); ctx.lineWidth = this._getLineWidth(); if (this.from != this.to) { @@ -18781,7 +19164,6 @@ return /******/ (function(modules) { // webpackBootstrap var yVia = null; var factor = this.options.smoothCurves.roundness; var type = this.options.smoothCurves.type; - var dx = Math.abs(this.from.x - this.to.x); var dy = Math.abs(this.from.y - this.to.y); if (type == 'discrete' || type == 'diagonalCross') { @@ -18874,17 +19256,39 @@ return /******/ (function(modules) { // webpackBootstrap yVia = this.to.y + (1 - factor) * dy; } } + else if (type == 'curvedCW') { + var dx = this.to.x - this.from.x; + var dy = this.from.y - this.to.y; + var radius = Math.sqrt(dx*dx + dy*dy); + var pi = Math.PI; + + var originalAngle = Math.atan2(dy,dx); + var myAngle = (originalAngle + ((factor * 0.5) + 0.5) * pi) % (2 * pi); + + xVia = this.from.x + (factor*0.5 + 0.5)*radius*Math.sin(myAngle); + yVia = this.from.y + (factor*0.5 + 0.5)*radius*Math.cos(myAngle); + } + else if (type == 'curvedCCW') { + var dx = this.to.x - this.from.x; + var dy = this.from.y - this.to.y; + var radius = Math.sqrt(dx*dx + dy*dy); + var pi = Math.PI; + + var originalAngle = Math.atan2(dy,dx); + var myAngle = (originalAngle + ((-factor * 0.5) + 0.5) * pi) % (2 * pi); + + xVia = this.from.x + (factor*0.5 + 0.5)*radius*Math.sin(myAngle); + yVia = this.from.y + (factor*0.5 + 0.5)*radius*Math.cos(myAngle); + } else { // continuous if (Math.abs(this.from.x - this.to.x) < Math.abs(this.from.y - this.to.y)) { if (this.from.y > this.to.y) { if (this.from.x < this.to.x) { - // console.log(1) xVia = this.from.x + factor * dy; yVia = this.from.y - factor * dy; xVia = this.to.x < xVia ? this.to.x : xVia; } else if (this.from.x > this.to.x) { - // console.log(2) xVia = this.from.x - factor * dy; yVia = this.from.y - factor * dy; xVia = this.to.x > xVia ? this.to.x : xVia; @@ -18892,13 +19296,11 @@ return /******/ (function(modules) { // webpackBootstrap } else if (this.from.y < this.to.y) { if (this.from.x < this.to.x) { - // console.log(3) xVia = this.from.x + factor * dy; yVia = this.from.y + factor * dy; xVia = this.to.x < xVia ? this.to.x : xVia; } else if (this.from.x > this.to.x) { - // console.log(4, this.from.x, this.to.x) xVia = this.from.x - factor * dy; yVia = this.from.y + factor * dy; xVia = this.to.x > xVia ? this.to.x : xVia; @@ -18908,13 +19310,11 @@ return /******/ (function(modules) { // webpackBootstrap else if (Math.abs(this.from.x - this.to.x) > Math.abs(this.from.y - this.to.y)) { if (this.from.y > this.to.y) { if (this.from.x < this.to.x) { - // console.log(5) xVia = this.from.x + factor * dx; yVia = this.from.y - factor * dx; yVia = this.to.y > yVia ? this.to.y : yVia; } else if (this.from.x > this.to.x) { - // console.log(6) xVia = this.from.x - factor * dx; yVia = this.from.y - factor * dx; yVia = this.to.y > yVia ? this.to.y : yVia; @@ -18922,13 +19322,11 @@ return /******/ (function(modules) { // webpackBootstrap } else if (this.from.y < this.to.y) { if (this.from.x < this.to.x) { - // console.log(7) xVia = this.from.x + factor * dx; yVia = this.from.y + factor * dx; yVia = this.to.y < yVia ? this.to.y : yVia; } else if (this.from.x > this.to.x) { - // console.log(8) xVia = this.from.x - factor * dx; yVia = this.from.y + factor * dx; yVia = this.to.y < yVia ? this.to.y : yVia; @@ -18964,6 +19362,8 @@ return /******/ (function(modules) { // webpackBootstrap // this.via.y = via.y; ctx.quadraticCurveTo(via.x,via.y,this.to.x, this.to.y); ctx.stroke(); + //ctx.circle(via.x,via.y,2) + //ctx.stroke(); return via; } } @@ -19152,7 +19552,7 @@ return /******/ (function(modules) { // webpackBootstrap */ Edge.prototype._drawDashLine = function(ctx) { // set style - ctx.strokeStyle = this._getColor(); + ctx.strokeStyle = this._getColor(ctx); ctx.lineWidth = this._getLineWidth(); var via = null; @@ -19257,7 +19657,7 @@ return /******/ (function(modules) { // webpackBootstrap Edge.prototype._drawArrowCenter = function(ctx) { var point; // set style - ctx.strokeStyle = this._getColor(); + ctx.strokeStyle = this._getColor(ctx); ctx.fillStyle = ctx.strokeStyle; ctx.lineWidth = this._getLineWidth(); @@ -19393,7 +19793,7 @@ return /******/ (function(modules) { // webpackBootstrap */ Edge.prototype._drawArrow = function(ctx) { // set style - ctx.strokeStyle = this._getColor(); + ctx.strokeStyle = this._getColor(ctx); ctx.fillStyle = ctx.strokeStyle; ctx.lineWidth = this._getLineWidth(); @@ -19810,6 +20210,9 @@ return /******/ (function(modules) { // webpackBootstrap function Groups() { this.clear(); this.defaultIndex = 0; + this.groupsArray = []; + this.groupIndex = 0; + this.useDefaultGroups = true; } @@ -19817,16 +20220,29 @@ return /******/ (function(modules) { // webpackBootstrap * default constants for group colors */ Groups.DEFAULT = [ - {border: "#2B7CE9", background: "#97C2FC", highlight: {border: "#2B7CE9", background: "#D2E5FF"}, hover: {border: "#2B7CE9", background: "#D2E5FF"}}, // blue - {border: "#FFA500", background: "#FFFF00", highlight: {border: "#FFA500", background: "#FFFFA3"}, hover: {border: "#FFA500", background: "#FFFFA3"}}, // yellow - {border: "#FA0A10", background: "#FB7E81", highlight: {border: "#FA0A10", background: "#FFAFB1"}, hover: {border: "#FA0A10", background: "#FFAFB1"}}, // red - {border: "#41A906", background: "#7BE141", highlight: {border: "#41A906", background: "#A1EC76"}, hover: {border: "#41A906", background: "#A1EC76"}}, // green - {border: "#E129F0", background: "#EB7DF4", highlight: {border: "#E129F0", background: "#F0B3F5"}, hover: {border: "#E129F0", background: "#F0B3F5"}}, // magenta - {border: "#7C29F0", background: "#AD85E4", highlight: {border: "#7C29F0", background: "#D3BDF0"}, hover: {border: "#7C29F0", background: "#D3BDF0"}}, // purple - {border: "#C37F00", background: "#FFA807", highlight: {border: "#C37F00", background: "#FFCA66"}, hover: {border: "#C37F00", background: "#FFCA66"}}, // orange - {border: "#4220FB", background: "#6E6EFD", highlight: {border: "#4220FB", background: "#9B9BFD"}, hover: {border: "#4220FB", background: "#9B9BFD"}}, // darkblue - {border: "#FD5A77", background: "#FFC0CB", highlight: {border: "#FD5A77", background: "#FFD1D9"}, hover: {border: "#FD5A77", background: "#FFD1D9"}}, // pink - {border: "#4AD63A", background: "#C2FABC", highlight: {border: "#4AD63A", background: "#E6FFE3"}, hover: {border: "#4AD63A", background: "#E6FFE3"}} // mint + {border: "#2B7CE9", background: "#97C2FC", highlight: {border: "#2B7CE9", background: "#D2E5FF"}, hover: {border: "#2B7CE9", background: "#D2E5FF"}}, // 0: blue + {border: "#FFA500", background: "#FFFF00", highlight: {border: "#FFA500", background: "#FFFFA3"}, hover: {border: "#FFA500", background: "#FFFFA3"}}, // 1: yellow + {border: "#FA0A10", background: "#FB7E81", highlight: {border: "#FA0A10", background: "#FFAFB1"}, hover: {border: "#FA0A10", background: "#FFAFB1"}}, // 2: red + {border: "#41A906", background: "#7BE141", highlight: {border: "#41A906", background: "#A1EC76"}, hover: {border: "#41A906", background: "#A1EC76"}}, // 3: green + {border: "#E129F0", background: "#EB7DF4", highlight: {border: "#E129F0", background: "#F0B3F5"}, hover: {border: "#E129F0", background: "#F0B3F5"}}, // 4: magenta + {border: "#7C29F0", background: "#AD85E4", highlight: {border: "#7C29F0", background: "#D3BDF0"}, hover: {border: "#7C29F0", background: "#D3BDF0"}}, // 5: purple + {border: "#C37F00", background: "#FFA807", highlight: {border: "#C37F00", background: "#FFCA66"}, hover: {border: "#C37F00", background: "#FFCA66"}}, // 6: orange + {border: "#4220FB", background: "#6E6EFD", highlight: {border: "#4220FB", background: "#9B9BFD"}, hover: {border: "#4220FB", background: "#9B9BFD"}}, // 7: darkblue + {border: "#FD5A77", background: "#FFC0CB", highlight: {border: "#FD5A77", background: "#FFD1D9"}, hover: {border: "#FD5A77", background: "#FFD1D9"}}, // 8: pink + {border: "#4AD63A", background: "#C2FABC", highlight: {border: "#4AD63A", background: "#E6FFE3"}, hover: {border: "#4AD63A", background: "#E6FFE3"}}, // 9: mint + + {border: "#990000", background: "#EE0000", highlight: {border: "#BB0000", background: "#FF3333"}, hover: {border: "#BB0000", background: "#FF3333"}}, // 10:bright red + + {border: "#FF6000", background: "#FF6000", highlight: {border: "#FF6000", background: "#FF6000"}, hover: {border: "#FF6000", background: "#FF6000"}}, // 12: real orange + {border: "#97C2FC", background: "#2B7CE9", highlight: {border: "#D2E5FF", background: "#2B7CE9"}, hover: {border: "#D2E5FF", background: "#2B7CE9"}}, // 13: blue + {border: "#399605", background: "#255C03", highlight: {border: "#399605", background: "#255C03"}, hover: {border: "#399605", background: "#255C03"}}, // 14: green + {border: "#B70054", background: "#FF007E", highlight: {border: "#B70054", background: "#FF007E"}, hover: {border: "#B70054", background: "#FF007E"}}, // 15: magenta + {border: "#AD85E4", background: "#7C29F0", highlight: {border: "#D3BDF0", background: "#7C29F0"}, hover: {border: "#D3BDF0", background: "#7C29F0"}}, // 16: purple + {border: "#4557FA", background: "#000EA1", highlight: {border: "#6E6EFD", background: "#000EA1"}, hover: {border: "#6E6EFD", background: "#000EA1"}}, // 17: darkblue + {border: "#FFC0CB", background: "#FD5A77", highlight: {border: "#FFD1D9", background: "#FD5A77"}, hover: {border: "#FFD1D9", background: "#FD5A77"}}, // 18: pink + {border: "#C2FABC", background: "#74D66A", highlight: {border: "#E6FFE3", background: "#74D66A"}, hover: {border: "#E6FFE3", background: "#74D66A"}}, // 19: mint + + {border: "#EE0000", background: "#990000", highlight: {border: "#FF3333", background: "#BB0000"}, hover: {border: "#FF3333", background: "#BB0000"}}, // 20:bright red ]; @@ -19857,12 +20273,22 @@ return /******/ (function(modules) { // webpackBootstrap Groups.prototype.get = function (groupname) { var group = this.groups[groupname]; if (group == undefined) { - // create new group - var index = this.defaultIndex % Groups.DEFAULT.length; - this.defaultIndex++; - group = {}; - group.color = Groups.DEFAULT[index]; - this.groups[groupname] = group; + if (this.useDefaultGroups === false && this.groupsArray.length > 0) { + // create new group + var index = this.groupIndex % this.groupsArray.length; + this.groupIndex++; + group = {}; + group.color = this.groups[this.groupsArray[index]]; + this.groups[groupname] = group; + } + else { + // create new group + var index = this.defaultIndex % Groups.DEFAULT.length; + this.defaultIndex++; + group = {}; + group.color = Groups.DEFAULT[index]; + this.groups[groupname] = group; + } } return group; @@ -19870,13 +20296,14 @@ return /******/ (function(modules) { // webpackBootstrap /** * Add a custom group style - * @param {String} groupname + * @param {String} groupName * @param {Object} style An object containing borderColor, * backgroundColor, etc. * @return {Object} group The created group object */ - Groups.prototype.add = function (groupname, style) { - this.groups[groupname] = style; + Groups.prototype.add = function (groupName, style) { + this.groups[groupName] = style; + this.groupsArray.push(groupName); return style; }; @@ -19991,7 +20418,7 @@ return /******/ (function(modules) { // webpackBootstrap * "database", "circle", "ellipse", * "box", "image", "text", "dot", * "star", "triangle", "triangleDown", - * "square" + * "square", "icon" * {string} image An image url * {string} title An title text, can be HTML * {anytype} group A group name or number @@ -20056,7 +20483,7 @@ return /******/ (function(modules) { // webpackBootstrap this.clusterSizeWidthFactor = networkConstants.clustering.nodeScaling.width; this.clusterSizeHeightFactor = networkConstants.clustering.nodeScaling.height; this.clusterSizeRadiusFactor = networkConstants.clustering.nodeScaling.radius; - this.maxNodeSizeIncrements = networkConstants.clustering.maxNodeSizeIncrements; + this.maxNodeSizeIncrements = networkConstants.clustering.maxNodeSizeIncrements; this.growthIndicator = 0; // variables to tell the node about the network. @@ -20132,7 +20559,7 @@ return /******/ (function(modules) { // webpackBootstrap var fields = ['borderWidth','borderWidthSelected','shape','image','brokenImage','radius','fontColor', 'fontSize','fontFace','fontFill','fontStrokeWidth','fontStrokeColor','group','mass','fontDrawThreshold', - 'scaleFontWithValue','fontSizeMaxVisible','customScalingFunction' + 'scaleFontWithValue','fontSizeMaxVisible','customScalingFunction','iconFontFace', 'icon', 'iconColor', 'iconSize' ]; util.selectiveDeepExtend(fields, this.options, properties); @@ -20213,6 +20640,7 @@ return /******/ (function(modules) { // webpackBootstrap 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; + case 'icon': this.draw = this._drawIcon; this.resize = this._resizeIcon; break; default: this.draw = this._drawEllipse; this.resize = this._resizeEllipse; break; } // reset the size of the node, this can be changed @@ -20989,7 +21417,67 @@ return /******/ (function(modules) { // webpackBootstrap this.boundingBox.bottom = this.top + this.height; }; + Node.prototype._resizeIcon = function (ctx) { + if (!this.width) { + var margin = 5; + var iconSize = + { + width: Number(this.options.iconSize), + height: Number(this.options.iconSize) + }; + this.width = iconSize.width + 2 * margin; + this.height = iconSize.height + 2 * margin; + + // scaling used for clustering + 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 - (iconSize.width + 2 * margin); + } + }; + + Node.prototype._drawIcon = function (ctx) { + this._resizeIcon(ctx); + + this.options.iconSize = this.options.iconSize || 50; + + this.left = this.x - this.width / 2; + this.top = this.y - this.height / 2; + this._icon(ctx); + + + this.boundingBox.top = this.y - this.options.iconSize/2; + this.boundingBox.left = this.x - this.options.iconSize/2; + this.boundingBox.right = this.x + this.options.iconSize/2; + this.boundingBox.bottom = this.y + this.options.iconSize/2; + if (this.label) { + var iconTextSpacing = 5; + this._label(ctx, this.label, this.x, this.y + this.height / 2 + iconTextSpacing, 'top', true); + + this.boundingBox.left = Math.min(this.boundingBox.left, this.labelDimensions.left); + this.boundingBox.right = Math.max(this.boundingBox.right, this.labelDimensions.left + this.labelDimensions.width); + this.boundingBox.bottom = Math.max(this.boundingBox.bottom, this.boundingBox.bottom + this.labelDimensions.height); + } + }; + + Node.prototype._icon = function (ctx) { + var relativeIconSize = Number(this.options.iconSize) * this.networkScale; + + if (this.options.icon && relativeIconSize > this.options.fontDrawThreshold - 1) { + + var iconSize = Number(this.options.iconSize); + + ctx.font = (this.selected ? "bold " : "") + iconSize + "px " + this.options.iconFontFace; + + // draw icon + ctx.fillStyle = this.options.iconColor || "black"; + ctx.textAlign = "center"; + ctx.textBaseline = "middle"; + ctx.fillText(this.options.icon, this.x, this.y); + } + }; + Node.prototype._label = function (ctx, text, x, y, align, baseline, labelUnderNode) { var relativeFontSize = Number(this.options.fontSize) * this.networkScale; if (text && relativeFontSize >= this.options.fontDrawThreshold - 1) { @@ -21213,8 +21701,9 @@ return /******/ (function(modules) { // webpackBootstrap this.x = 0; this.y = 0; this.padding = 5; + this.hidden = false; - if (x !== undefined && y !== undefined ) { + if (x !== undefined && y !== undefined) { this.setPosition(x, y); } if (text !== undefined) { @@ -21289,6 +21778,7 @@ return /******/ (function(modules) { // webpackBootstrap this.frame.style.left = left + "px"; this.frame.style.top = top + "px"; this.frame.style.visibility = "visible"; + this.hidden = false; } else { this.hide(); @@ -21299,6 +21789,7 @@ return /******/ (function(modules) { // webpackBootstrap * Hide the popup window */ Popup.prototype.hide = function () { + this.hidden = true; this.frame.style.visibility = "hidden"; }; @@ -22218,7 +22709,7 @@ return /******/ (function(modules) { // webpackBootstrap // Only load hammer.js when in a browser environment // (loading hammer.js in a node.js environment gives errors) if (typeof window !== 'undefined') { - module.exports = window['Hammer'] || __webpack_require__(57); + module.exports = window['Hammer'] || __webpack_require__(59); } else { module.exports = function () { @@ -22238,8 +22729,10 @@ return /******/ (function(modules) { // webpackBootstrap var DataView = __webpack_require__(4); var Range = __webpack_require__(17); var ItemSet = __webpack_require__(32); + var TimeAxis = __webpack_require__(35); var Activator = __webpack_require__(53); var DateUtil = __webpack_require__(15); + var CustomTime = __webpack_require__(27); /** * Create a timeline visualization @@ -22258,7 +22751,7 @@ return /******/ (function(modules) { // webpackBootstrap * top, bottom, content, and background panel. * @param {Element} container The container element where the Core will * be attached. - * @private + * @protected */ Core.prototype._create = function (container) { this.dom = {}; @@ -22286,7 +22779,7 @@ return /******/ (function(modules) { // webpackBootstrap this.dom.background.className = 'vispanel background'; this.dom.backgroundVertical.className = 'vispanel background vertical'; this.dom.backgroundHorizontal.className = 'vispanel background horizontal'; - this.dom.centerContainer.className = 'vispanel center'; + this.dom.centerContainer.className = 'vispanel center jooo'; this.dom.leftContainer.className = 'vispanel left'; this.dom.rightContainer.className = 'vispanel right'; this.dom.top.className = 'vispanel top'; @@ -22424,6 +22917,28 @@ return /******/ (function(modules) { // webpackBootstrap var fields = ['width', 'height', 'minHeight', 'maxHeight', 'autoResize', 'start', 'end', 'orientation', 'clickToUse', 'dataAttributes', 'hiddenDates']; util.selectiveExtend(fields, this.options, options); + if (this.options.orientation === 'both') { + if (!this.timeAxis2) { + var timeAxis2 = this.timeAxis2 = new TimeAxis(this.body); + timeAxis2.setOptions = function (options) { + var _options = options ? util.extend({}, options) : {}; + _options.orientation = 'top'; // override the orientation option, always top + TimeAxis.prototype.setOptions.call(timeAxis2, _options); + }; + this.components.push(timeAxis2); + } + } + else { + if (this.timeAxis2) { + var index = this.components.indexOf(this.timeAxis2); + if (index !== -1) { + this.components.splice(index, 1); + } + this.timeAxis2.destroy(); + this.timeAxis2 = null; + } + } + if ('hiddenDates' in this.options) { DateUtil.convertHiddenOptions(this.body, this.options.hiddenDates); } @@ -22451,11 +22966,6 @@ return /******/ (function(modules) { // webpackBootstrap component.setOptions(options); }); - // TODO: remove deprecation error one day (deprecated since version 0.8.0) - if (options && options.order) { - throw new Error('Option order is deprecated. There is no replacement for this feature.'); - } - // redraw everything this._redraw(); }; @@ -22514,25 +23024,123 @@ return /******/ (function(modules) { // webpackBootstrap /** * Set a custom time bar * @param {Date} time + * @param {int} id */ - Core.prototype.setCustomTime = function (time) { + Core.prototype.setCustomTime = function (time, id) { if (!this.customTime) { throw new Error('Cannot get custom time: Custom time bar is not enabled'); } - this.customTime.setCustomTime(time); + var barId = id || 0; + + this.components.forEach(function (element, index, components) { + if (element instanceof CustomTime && element.options.id === barId) { + element.setCustomTime(time); + } + }); }; /** * Retrieve the current custom time. * @return {Date} customTime + * @param {int} id */ - Core.prototype.getCustomTime = function() { + Core.prototype.getCustomTime = function(id) { if (!this.customTime) { throw new Error('Cannot get custom time: Custom time bar is not enabled'); } - return this.customTime.getCustomTime(); + var barId = id || 0, + customTime = this.customTime.getCustomTime(); + + this.components.forEach(function (element, index, components) { + if (element instanceof CustomTime && element.options.id === barId) { + customTime = element.getCustomTime(); + } + }); + + return customTime; + }; + + /** + * Add custom vertical bar + * @param {Date | String | Number} time A Date, unix timestamp, or + * ISO date string. Time point where the new bar should be placed + * @param {Number | String} ID of the new bar + * @return {Number | String} ID of the new bar + */ + Core.prototype.addCustomTime = function (time, id) { + if (!this.currentTime) { + throw new Error('Option showCurrentTime must be true'); + } + + if (time === undefined) { + throw new Error('Time parameter for the custom bar must be provided'); + } + + var ts = util.convert(time, 'Date').valueOf(), + numIds, customTime, customBarId; + + // All bar IDs are kept in 1 array, mixed types + // Bar with ID 0 is the default bar. + if (!this.customBarIds || this.customBarIds.constructor !== Array) { + this.customBarIds = [0]; + } + + // If the ID is not provided, generate one, otherwise just use it + if (id === undefined) { + + numIds = this.customBarIds.filter(function (element) { + return util.isNumber(element); + }); + + customBarId = numIds.length > 0 ? Math.max.apply(null, numIds) + 1 : 1; + + } else { + + // Check for duplicates + this.customBarIds.forEach(function (element) { + if (element === id) { + throw new Error('Custom time ID already exists'); + } + }); + + customBarId = id; + } + + this.customBarIds.push(customBarId); + + customTime = new CustomTime(this.body, { + showCustomTime : true, + time : ts, + id : customBarId + }); + + this.components.push(customTime); + this.redraw(); + + return customBarId; + }; + + /** + * Remove previously added custom bar + * @param {int} id ID of the custom bar to be removed + * @return {boolean} True if the bar exists and is removed, false otherwise + */ + Core.prototype.removeCustomTime = function (id) { + + var me = this; + + this.components.forEach(function (bar, index, components) { + if (bar instanceof CustomTime && bar.options.id === id) { + // Only the lines added by the user will be removed + if (bar.options.id !== 0) { + me.customBarIds.splice(me.customBarIds.indexOf(id), 1); + components.splice(index, 1); + bar.destroy(); + } + } + }); }; @@ -22903,7 +23511,7 @@ return /******/ (function(modules) { // webpackBootstrap * Convert a position on screen (pixels) to a datetime * @param {int} x Position on the screen in pixels * @return {Date} time The datetime the corresponds with given position x - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toTime = function(x) { @@ -22914,7 +23522,7 @@ return /******/ (function(modules) { // webpackBootstrap * Convert a position on the global screen (pixels) to a datetime * @param {int} x Position on the screen in pixels * @return {Date} time The datetime the corresponds with given position x - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toGlobalTime = function(x) { @@ -22928,7 +23536,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Date} time A date * @return {int} x The position on the screen in pixels which corresponds * with the given date. - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toScreen = function(time) { @@ -22943,7 +23551,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Date} time A date * @return {int} x The position on root in pixels which corresponds * with the given date. - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toGlobalScreen = function(time) { @@ -23670,7 +24278,7 @@ return /******/ (function(modules) { // webpackBootstrap Points.draw = function (dataset, group, framework, offset) { if (offset === undefined) {offset = 0;} for (var i = 0; i < dataset.length; i++) { - DOMutil.drawPoint(dataset[i].x + offset, dataset[i].y, group, framework.svgElements, framework.svg); + DOMutil.drawPoint(dataset[i].x + offset, dataset[i].y, group, framework.svgElements, framework.svg, dataset[i].label); } }; @@ -23885,7 +24493,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 53 */ /***/ function(module, exports, __webpack_require__) { - var keycharm = __webpack_require__(59); + var keycharm = __webpack_require__(57); var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); var util = __webpack_require__(1); @@ -24484,5426 +25092,5426 @@ return /******/ (function(modules) { // webpackBootstrap /* 57 */ /***/ function(module, exports, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20 - * http://eightmedia.github.io/hammer.js - * - * Copyright (c) 2014 Jorik Tangelder ; - * Licensed under the MIT license */ - - (function(window, undefined) { - 'use strict'; - + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;"use strict"; /** - * @main - * @module hammer - * - * @class Hammer - * @static + * Created by Alex on 11/6/2014. */ - /** - * Hammer, use this to create instances - * ```` - * var hammertime = new Hammer(myElement); - * ```` - * - * @method Hammer - * @param {HTMLElement} element - * @param {Object} [options={}] - * @return {Hammer.Instance} - */ - var Hammer = function Hammer(element, options) { - return new Hammer.Instance(element, options || {}); - }; + // https://github.com/umdjs/umd/blob/master/returnExports.js#L40-L60 + // if the module has no dependencies, the above pattern can be simplified to + (function (root, factory) { + if (true) { + // AMD. Register as an anonymous module. + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals (root is window) + root.keycharm = factory(); + } + }(this, function () { - /** - * version, as defined in package.json - * the value will be set at each build - * @property VERSION - * @final - * @type {String} - */ - Hammer.VERSION = '1.1.3'; + function keycharm(options) { + var preventDefault = options && options.preventDefault || false; - /** - * default settings. - * more settings are defined per gesture at `/gestures`. Each gesture can be disabled/enabled - * by setting it's name (like `swipe`) to false. - * You can set the defaults for all instances by changing this object before creating an instance. - * @example - * ```` - * Hammer.defaults.drag = false; - * Hammer.defaults.behavior.touchAction = 'pan-y'; - * delete Hammer.defaults.behavior.userSelect; - * ```` - * @property defaults - * @type {Object} - */ - Hammer.defaults = { - /** - * this setting object adds styles and attributes to the element to prevent the browser from doing - * its native behavior. The css properties are auto prefixed for the browsers when needed. - * @property defaults.behavior - * @type {Object} - */ - behavior: { - /** - * Disables text selection to improve the dragging gesture. When the value is `none` it also sets - * `onselectstart=false` for IE on the element. Mainly for desktop browsers. - * @property defaults.behavior.userSelect - * @type {String} - * @default 'none' - */ - userSelect: 'none', + var container = options && options.container || window; - /** - * Specifies whether and how a given region can be manipulated by the user (for instance, by panning or zooming). - * Used by Chrome 35> and IE10>. By default this makes the element blocking any touch event. - * @property defaults.behavior.touchAction - * @type {String} - * @default: 'pan-y' - */ - touchAction: 'pan-y', + var _exportFunctions = {}; + var _bound = {keydown:{}, keyup:{}}; + var _keys = {}; + var i; - /** - * Disables the default callout shown when you touch and hold a touch target. - * On iOS, when you touch and hold a touch target such as a link, Safari displays - * a callout containing information about the link. This property allows you to disable that callout. - * @property defaults.behavior.touchCallout - * @type {String} - * @default 'none' - */ - touchCallout: 'none', + // a - z + for (i = 97; i <= 122; i++) {_keys[String.fromCharCode(i)] = {code:65 + (i - 97), shift: false};} + // A - Z + for (i = 65; i <= 90; i++) {_keys[String.fromCharCode(i)] = {code:i, shift: true};} + // 0 - 9 + for (i = 0; i <= 9; i++) {_keys['' + i] = {code:48 + i, shift: false};} + // F1 - F12 + for (i = 1; i <= 12; i++) {_keys['F' + i] = {code:111 + i, shift: false};} + // num0 - num9 + for (i = 0; i <= 9; i++) {_keys['num' + i] = {code:96 + i, shift: false};} - /** - * Specifies whether zooming is enabled. Used by IE10> - * @property defaults.behavior.contentZooming - * @type {String} - * @default 'none' - */ - contentZooming: 'none', + // numpad misc + _keys['num*'] = {code:106, shift: false}; + _keys['num+'] = {code:107, shift: false}; + _keys['num-'] = {code:109, shift: false}; + _keys['num/'] = {code:111, shift: false}; + _keys['num.'] = {code:110, shift: false}; + // arrows + _keys['left'] = {code:37, shift: false}; + _keys['up'] = {code:38, shift: false}; + _keys['right'] = {code:39, shift: false}; + _keys['down'] = {code:40, shift: false}; + // extra keys + _keys['space'] = {code:32, shift: false}; + _keys['enter'] = {code:13, shift: false}; + _keys['shift'] = {code:16, shift: undefined}; + _keys['esc'] = {code:27, shift: false}; + _keys['backspace'] = {code:8, shift: false}; + _keys['tab'] = {code:9, shift: false}; + _keys['ctrl'] = {code:17, shift: false}; + _keys['alt'] = {code:18, shift: false}; + _keys['delete'] = {code:46, shift: false}; + _keys['pageup'] = {code:33, shift: false}; + _keys['pagedown'] = {code:34, shift: false}; + // symbols + _keys['='] = {code:187, shift: false}; + _keys['-'] = {code:189, shift: false}; + _keys[']'] = {code:221, shift: false}; + _keys['['] = {code:219, shift: false}; - /** - * Specifies that an entire element should be draggable instead of its contents. - * Mainly for desktop browsers. - * @property defaults.behavior.userDrag - * @type {String} - * @default 'none' - */ - userDrag: 'none', - /** - * Overrides the highlight color shown when the user taps a link or a JavaScript - * clickable element in Safari on iPhone. This property obeys the alpha value, if specified. - * - * If you don't specify an alpha value, Safari on iPhone applies a default alpha value - * to the color. To disable tap highlighting, set the alpha value to 0 (invisible). - * If you set the alpha value to 1.0 (opaque), the element is not visible when tapped. - * @property defaults.behavior.tapHighlightColor - * @type {String} - * @default 'rgba(0,0,0,0)' - */ - tapHighlightColor: 'rgba(0,0,0,0)' - } - }; - /** - * hammer document where the base events are added at - * @property DOCUMENT - * @type {HTMLElement} - * @default window.document - */ - Hammer.DOCUMENT = document; + var down = function(event) {handleEvent(event,'keydown');}; + var up = function(event) {handleEvent(event,'keyup');}; - /** - * detect support for pointer events - * @property HAS_POINTEREVENTS - * @type {Boolean} - */ - Hammer.HAS_POINTEREVENTS = navigator.pointerEnabled || navigator.msPointerEnabled; + // handle the actualy bound key with the event + var handleEvent = function(event,type) { + if (_bound[type][event.keyCode] !== undefined) { + var bound = _bound[type][event.keyCode]; + for (var i = 0; i < bound.length; i++) { + if (bound[i].shift === undefined) { + bound[i].fn(event); + } + else if (bound[i].shift == true && event.shiftKey == true) { + bound[i].fn(event); + } + else if (bound[i].shift == false && event.shiftKey == false) { + bound[i].fn(event); + } + } - /** - * detect support for touch events - * @property HAS_TOUCHEVENTS - * @type {Boolean} - */ - Hammer.HAS_TOUCHEVENTS = ('ontouchstart' in window); + if (preventDefault == true) { + event.preventDefault(); + } + } + }; - /** - * detect mobile browsers - * @property IS_MOBILE - * @type {Boolean} - */ - Hammer.IS_MOBILE = /mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent); + // bind a key to a callback + _exportFunctions.bind = function(key, callback, type) { + if (type === undefined) { + type = 'keydown'; + } + if (_keys[key] === undefined) { + throw new Error("unsupported key: " + key); + } + if (_bound[type][_keys[key].code] === undefined) { + _bound[type][_keys[key].code] = []; + } + _bound[type][_keys[key].code].push({fn:callback, shift:_keys[key].shift}); + }; - /** - * detect if we want to support mouseevents at all - * @property NO_MOUSEEVENTS - * @type {Boolean} - */ - Hammer.NO_MOUSEEVENTS = (Hammer.HAS_TOUCHEVENTS && Hammer.IS_MOBILE) || Hammer.HAS_POINTEREVENTS; - /** - * interval in which Hammer recalculates current velocity/direction/angle in ms - * @property CALCULATE_INTERVAL - * @type {Number} - * @default 25 - */ - Hammer.CALCULATE_INTERVAL = 25; + // bind all keys to a call back (demo purposes) + _exportFunctions.bindAll = function(callback, type) { + if (type === undefined) { + type = 'keydown'; + } + for (var key in _keys) { + if (_keys.hasOwnProperty(key)) { + _exportFunctions.bind(key,callback,type); + } + } + }; - /** - * eventtypes per touchevent (start, move, end) are filled by `Event.determineEventTypes` on `setup` - * the object contains the DOM event names per type (`EVENT_START`, `EVENT_MOVE`, `EVENT_END`) - * @property EVENT_TYPES - * @private - * @writeOnce - * @type {Object} - */ - var EVENT_TYPES = {}; + // get the key label from an event + _exportFunctions.getKey = function(event) { + for (var key in _keys) { + if (_keys.hasOwnProperty(key)) { + if (event.shiftKey == true && _keys[key].shift == true && event.keyCode == _keys[key].code) { + return key; + } + else if (event.shiftKey == false && _keys[key].shift == false && event.keyCode == _keys[key].code) { + return key; + } + else if (event.keyCode == _keys[key].code && key == 'shift') { + return key; + } + } + } + return "unknown key, currently not supported"; + }; - /** - * direction strings, for safe comparisons - * @property DIRECTION_DOWN|LEFT|UP|RIGHT - * @final - * @type {String} - * @default 'down' 'left' 'up' 'right' - */ - var DIRECTION_DOWN = Hammer.DIRECTION_DOWN = 'down'; - var DIRECTION_LEFT = Hammer.DIRECTION_LEFT = 'left'; - var DIRECTION_UP = Hammer.DIRECTION_UP = 'up'; - var DIRECTION_RIGHT = Hammer.DIRECTION_RIGHT = 'right'; + // unbind either a specific callback from a key or all of them (by leaving callback undefined) + _exportFunctions.unbind = function(key, callback, type) { + if (type === undefined) { + type = 'keydown'; + } + if (_keys[key] === undefined) { + throw new Error("unsupported key: " + key); + } + if (callback !== undefined) { + var newBindings = []; + var bound = _bound[type][_keys[key].code]; + if (bound !== undefined) { + for (var i = 0; i < bound.length; i++) { + if (!(bound[i].fn == callback && bound[i].shift == _keys[key].shift)) { + newBindings.push(_bound[type][_keys[key].code][i]); + } + } + } + _bound[type][_keys[key].code] = newBindings; + } + else { + _bound[type][_keys[key].code] = []; + } + }; - /** - * pointertype strings, for safe comparisons - * @property POINTER_MOUSE|TOUCH|PEN - * @final - * @type {String} - * @default 'mouse' 'touch' 'pen' - */ - var POINTER_MOUSE = Hammer.POINTER_MOUSE = 'mouse'; - var POINTER_TOUCH = Hammer.POINTER_TOUCH = 'touch'; - var POINTER_PEN = Hammer.POINTER_PEN = 'pen'; + // reset all bound variables. + _exportFunctions.reset = function() { + _bound = {keydown:{}, keyup:{}}; + }; - /** - * eventtypes - * @property EVENT_START|MOVE|END|RELEASE|TOUCH - * @final - * @type {String} - * @default 'start' 'change' 'move' 'end' 'release' 'touch' - */ - var EVENT_START = Hammer.EVENT_START = 'start'; - var EVENT_MOVE = Hammer.EVENT_MOVE = 'move'; - var EVENT_END = Hammer.EVENT_END = 'end'; - var EVENT_RELEASE = Hammer.EVENT_RELEASE = 'release'; - var EVENT_TOUCH = Hammer.EVENT_TOUCH = 'touch'; + // unbind all listeners and reset all variables. + _exportFunctions.destroy = function() { + _bound = {keydown:{}, keyup:{}}; + container.removeEventListener('keydown', down, true); + container.removeEventListener('keyup', up, true); + }; - /** - * if the window events are set... - * @property READY - * @writeOnce - * @type {Boolean} - * @default false - */ - Hammer.READY = false; + // create listeners. + container.addEventListener('keydown',down,true); + container.addEventListener('keyup',up,true); - /** - * plugins namespace - * @property plugins - * @type {Object} - */ - Hammer.plugins = Hammer.plugins || {}; + // return the public functions. + return _exportFunctions; + } - /** - * gestures namespace - * see `/gestures` for the definitions - * @property gestures - * @type {Object} - */ - Hammer.gestures = Hammer.gestures || {}; + return keycharm; + })); - /** - * setup events to detect gestures on the document - * this function is called when creating an new instance - * @private - */ - function setup() { - if(Hammer.READY) { - return; - } - // find what eventtypes we add listeners to - Event.determineEventTypes(); - // Register all gestures inside Hammer.gestures - Utils.each(Hammer.gestures, function(gesture) { - Detection.register(gesture); - }); - // Add touch events on the document - Event.onTouch(Hammer.DOCUMENT, EVENT_MOVE, Detection.detect); - Event.onTouch(Hammer.DOCUMENT, EVENT_END, Detection.detect); +/***/ }, +/* 58 */ +/***/ function(module, exports, __webpack_require__) { - // Hammer is ready...! - Hammer.READY = true; - } + var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js + //! version : 2.9.0 + //! authors : Tim Wood, Iskren Chernev, Moment.js contributors + //! license : MIT + //! momentjs.com - /** - * @module hammer - * - * @class Utils - * @static - */ - var Utils = Hammer.utils = { - /** - * extend method, could also be used for cloning when `dest` is an empty object. - * changes the dest object - * @method extend - * @param {Object} dest - * @param {Object} src - * @param {Boolean} [merge=false] do a merge - * @return {Object} dest - */ - extend: function extend(dest, src, merge) { - for(var key in src) { - if(!src.hasOwnProperty(key) || (dest[key] !== undefined && merge)) { - continue; - } - dest[key] = src[key]; - } - return dest; - }, + (function (undefined) { + /************************************ + Constants + ************************************/ - /** - * simple addEventListener wrapper - * @method on - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - */ - on: function on(element, type, handler) { - element.addEventListener(type, handler, false); - }, - - /** - * simple removeEventListener wrapper - * @method off - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - */ - off: function off(element, type, handler) { - element.removeEventListener(type, handler, false); - }, - - /** - * forEach over arrays and objects - * @method each - * @param {Object|Array} obj - * @param {Function} iterator - * @param {any} iterator.item - * @param {Number} iterator.index - * @param {Object|Array} iterator.obj the source object - * @param {Object} context value to use as `this` in the iterator - */ - each: function each(obj, iterator, context) { - var i, len; - - // native forEach on arrays - if('forEach' in obj) { - obj.forEach(iterator, context); - // arrays - } else if(obj.length !== undefined) { - for(i = 0, len = obj.length; i < len; i++) { - if(iterator.call(context, obj[i], i, obj) === false) { - return; - } - } - // objects - } else { - for(i in obj) { - if(obj.hasOwnProperty(i) && - iterator.call(context, obj[i], i, obj) === false) { - return; - } - } - } - }, - - /** - * find if a string contains the string using indexOf - * @method inStr - * @param {String} src - * @param {String} find - * @return {Boolean} found - */ - inStr: function inStr(src, find) { - return src.indexOf(find) > -1; - }, - - /** - * find if a array contains the object using indexOf or a simple polyfill - * @method inArray - * @param {String} src - * @param {String} find - * @return {Boolean|Number} false when not found, or the index - */ - inArray: function inArray(src, find) { - if(src.indexOf) { - var index = src.indexOf(find); - return (index === -1) ? false : index; - } else { - for(var i = 0, len = src.length; i < len; i++) { - if(src[i] === find) { - return i; - } - } - return false; - } - }, - - /** - * convert an array-like object (`arguments`, `touchlist`) to an array - * @method toArray - * @param {Object} obj - * @return {Array} - */ - toArray: function toArray(obj) { - return Array.prototype.slice.call(obj, 0); - }, - - /** - * find if a node is in the given parent - * @method hasParent - * @param {HTMLElement} node - * @param {HTMLElement} parent - * @return {Boolean} found - */ - hasParent: function hasParent(node, parent) { - while(node) { - if(node == parent) { - return true; - } - node = node.parentNode; - } - return false; - }, - - /** - * get the center of all the touches - * @method getCenter - * @param {Array} touches - * @return {Object} center contains `pageX`, `pageY`, `clientX` and `clientY` properties - */ - getCenter: function getCenter(touches) { - var pageX = [], - pageY = [], - clientX = [], - clientY = [], - min = Math.min, - max = Math.max; - - // no need to loop when only one touch - if(touches.length === 1) { - return { - pageX: touches[0].pageX, - pageY: touches[0].pageY, - clientX: touches[0].clientX, - clientY: touches[0].clientY - }; - } - - Utils.each(touches, function(touch) { - pageX.push(touch.pageX); - pageY.push(touch.pageY); - clientX.push(touch.clientX); - clientY.push(touch.clientY); - }); - - return { - pageX: (min.apply(Math, pageX) + max.apply(Math, pageX)) / 2, - pageY: (min.apply(Math, pageY) + max.apply(Math, pageY)) / 2, - clientX: (min.apply(Math, clientX) + max.apply(Math, clientX)) / 2, - clientY: (min.apply(Math, clientY) + max.apply(Math, clientY)) / 2 - }; - }, - - /** - * calculate the velocity between two points. unit is in px per ms. - * @method getVelocity - * @param {Number} deltaTime - * @param {Number} deltaX - * @param {Number} deltaY - * @return {Object} velocity `x` and `y` - */ - getVelocity: function getVelocity(deltaTime, deltaX, deltaY) { - return { - x: Math.abs(deltaX / deltaTime) || 0, - y: Math.abs(deltaY / deltaTime) || 0 - }; - }, - - /** - * calculate the angle between two coordinates - * @method getAngle - * @param {Touch} touch1 - * @param {Touch} touch2 - * @return {Number} angle - */ - getAngle: function getAngle(touch1, touch2) { - var x = touch2.clientX - touch1.clientX, - y = touch2.clientY - touch1.clientY; - - return Math.atan2(y, x) * 180 / Math.PI; - }, - - /** - * do a small comparision to get the direction between two touches. - * @method getDirection - * @param {Touch} touch1 - * @param {Touch} touch2 - * @return {String} direction matches `DIRECTION_LEFT|RIGHT|UP|DOWN` - */ - getDirection: function getDirection(touch1, touch2) { - var x = Math.abs(touch1.clientX - touch2.clientX), - y = Math.abs(touch1.clientY - touch2.clientY); - - if(x >= y) { - return touch1.clientX - touch2.clientX > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; - } - return touch1.clientY - touch2.clientY > 0 ? DIRECTION_UP : DIRECTION_DOWN; - }, - - /** - * calculate the distance between two touches - * @method getDistance - * @param {Touch}touch1 - * @param {Touch} touch2 - * @return {Number} distance - */ - getDistance: function getDistance(touch1, touch2) { - var x = touch2.clientX - touch1.clientX, - y = touch2.clientY - touch1.clientY; - - return Math.sqrt((x * x) + (y * y)); - }, - - /** - * calculate the scale factor between two touchLists - * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out - * @method getScale - * @param {Array} start array of touches - * @param {Array} end array of touches - * @return {Number} scale - */ - getScale: function getScale(start, end) { - // need two fingers... - if(start.length >= 2 && end.length >= 2) { - return this.getDistance(end[0], end[1]) / this.getDistance(start[0], start[1]); - } - return 1; - }, - - /** - * calculate the rotation degrees between two touchLists - * @method getRotation - * @param {Array} start array of touches - * @param {Array} end array of touches - * @return {Number} rotation - */ - getRotation: function getRotation(start, end) { - // need two fingers - if(start.length >= 2 && end.length >= 2) { - return this.getAngle(end[1], end[0]) - this.getAngle(start[1], start[0]); - } - return 0; - }, - - /** - * find out if the direction is vertical * - * @method isVertical - * @param {String} direction matches `DIRECTION_UP|DOWN` - * @return {Boolean} is_vertical - */ - isVertical: function isVertical(direction) { - return direction == DIRECTION_UP || direction == DIRECTION_DOWN; - }, - - /** - * set css properties with their prefixes - * @param {HTMLElement} element - * @param {String} prop - * @param {String} value - * @param {Boolean} [toggle=true] - * @return {Boolean} - */ - setPrefixedCss: function setPrefixedCss(element, prop, value, toggle) { - var prefixes = ['', 'Webkit', 'Moz', 'O', 'ms']; - prop = Utils.toCamelCase(prop); - - for(var i = 0; i < prefixes.length; i++) { - var p = prop; - // prefixes - if(prefixes[i]) { - p = prefixes[i] + p.slice(0, 1).toUpperCase() + p.slice(1); - } - - // test the style - if(p in element.style) { - element.style[p] = (toggle == null || toggle) && value || ''; - break; - } - } - }, - - /** - * toggle browser default behavior by setting css properties. - * `userSelect='none'` also sets `element.onselectstart` to false - * `userDrag='none'` also sets `element.ondragstart` to false - * - * @method toggleBehavior - * @param {HtmlElement} element - * @param {Object} props - * @param {Boolean} [toggle=true] - */ - toggleBehavior: function toggleBehavior(element, props, toggle) { - if(!props || !element || !element.style) { - return; - } - - // set the css properties - Utils.each(props, function(value, prop) { - Utils.setPrefixedCss(element, prop, value, toggle); - }); - - var falseFn = toggle && function() { - return false; - }; - - // also the disable onselectstart - if(props.userSelect == 'none') { - element.onselectstart = falseFn; - } - // and disable ondragstart - if(props.userDrag == 'none') { - element.ondragstart = falseFn; - } - }, - - /** - * convert a string with underscores to camelCase - * so prevent_default becomes preventDefault - * @param {String} str - * @return {String} camelCaseStr - */ - toCamelCase: function toCamelCase(str) { - return str.replace(/[_-]([a-z])/g, function(s) { - return s[1].toUpperCase(); - }); - } - }; - - - /** - * @module hammer - */ - /** - * @class Event - * @static - */ - var Event = Hammer.event = { - /** - * when touch events have been fired, this is true - * this is used to stop mouse events - * @property prevent_mouseevents - * @private - * @type {Boolean} - */ - preventMouseEvents: false, + var moment, + VERSION = '2.9.0', + // the global-scope this is NOT the global object in Node.js + globalScope = (typeof global !== 'undefined' && (typeof window === 'undefined' || window === global.window)) ? global : this, + oldGlobalMoment, + round = Math.round, + hasOwnProperty = Object.prototype.hasOwnProperty, + i, - /** - * if EVENT_START has been fired - * @property started - * @private - * @type {Boolean} - */ - started: false, + YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, - /** - * when the mouse is hold down, this is true - * @property should_detect - * @private - * @type {Boolean} - */ - shouldDetect: false, + // internal storage for locale config files + locales = {}, - /** - * simple event binder with a hook and support for multiple types - * @method on - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - * @param {Function} [hook] - * @param {Object} hook.type - */ - on: function on(element, type, handler, hook) { - var types = type.split(' '); - Utils.each(types, function(type) { - Utils.on(element, type, handler); - hook && hook(type); - }); - }, + // extra moment internal properties (plugins register props here) + momentProperties = [], - /** - * simple event unbinder with a hook and support for multiple types - * @method off - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - * @param {Function} [hook] - * @param {Object} hook.type - */ - off: function off(element, type, handler, hook) { - var types = type.split(' '); - Utils.each(types, function(type) { - Utils.off(element, type, handler); - hook && hook(type); - }); - }, + // check for nodeJS + hasModule = (typeof module !== 'undefined' && module && module.exports), - /** - * the core touch event handler. - * this finds out if we should to detect gestures - * @method onTouch - * @param {HTMLElement} element - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {Function} handler - * @return onTouchHandler {Function} the core event handler - */ - onTouch: function onTouch(element, eventType, handler) { - var self = this; + // ASP.NET json date format regex + aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, + aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, - var onTouchHandler = function onTouchHandler(ev) { - var srcType = ev.type.toLowerCase(), - isPointer = Hammer.HAS_POINTEREVENTS, - isMouse = Utils.inStr(srcType, 'mouse'), - triggerType; + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, - // if we are in a mouseevent, but there has been a touchevent triggered in this session - // we want to do nothing. simply break out of the event. - if(isMouse && self.preventMouseEvents) { - return; + // format tokens + formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g, + localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, - // mousebutton must be down - } else if(isMouse && eventType == EVENT_START && ev.button === 0) { - self.preventMouseEvents = false; - self.shouldDetect = true; - } else if(isPointer && eventType == EVENT_START) { - self.shouldDetect = (ev.buttons === 1 || PointerEvent.matchType(POINTER_TOUCH, ev)); - // just a valid start event, but no mouse - } else if(!isMouse && eventType == EVENT_START) { - self.preventMouseEvents = true; - self.shouldDetect = true; - } + // parsing token regexes + parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 + parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 + parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999 + parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 + parseTokenDigits = /\d+/, // nonzero number of digits + parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. + parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z + parseTokenT = /T/i, // T (ISO separator) + parseTokenOffsetMs = /[\+\-]?\d+/, // 1234567890123 + parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - // update the pointer event before entering the detection - if(isPointer && eventType != EVENT_END) { - PointerEvent.updatePointer(eventType, ev); - } + //strict parsing regexes + parseTokenOneDigit = /\d/, // 0 - 9 + parseTokenTwoDigits = /\d\d/, // 00 - 99 + parseTokenThreeDigits = /\d{3}/, // 000 - 999 + parseTokenFourDigits = /\d{4}/, // 0000 - 9999 + parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999 + parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf - // we are in a touch/down state, so allowed detection of gestures - if(self.shouldDetect) { - triggerType = self.doDetect.call(self, ev, eventType, element, handler); - } + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - // ...and we are done with the detection - // so reset everything to start each detection totally fresh - if(triggerType == EVENT_END) { - self.preventMouseEvents = false; - self.shouldDetect = false; - PointerEvent.reset(); - // update the pointerevent object after the detection - } + isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', - if(isPointer && eventType == EVENT_END) { - PointerEvent.updatePointer(eventType, ev); - } - }; + isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/], + ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/], + ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/], + ['GGGG-[W]WW', /\d{4}-W\d{2}/], + ['YYYY-DDD', /\d{4}-\d{3}/] + ], - this.on(element, EVENT_TYPES[eventType], onTouchHandler); - return onTouchHandler; - }, + // iso time formats and regexes + isoTimes = [ + ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/], + ['HH:mm', /(T| )\d\d:\d\d/], + ['HH', /(T| )\d\d/] + ], - /** - * the core detection method - * this finds out what hammer-touch-events to trigger - * @method doDetect - * @param {Object} ev - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {HTMLElement} element - * @param {Function} handler - * @return {String} triggerType matches `EVENT_START|MOVE|END` - */ - doDetect: function doDetect(ev, eventType, element, handler) { - var touchList = this.getTouchList(ev, eventType); - var touchListLength = touchList.length; - var triggerType = eventType; - var triggerChange = touchList.trigger; // used by fakeMultitouch plugin - var changedLength = touchListLength; + // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-', '15', '30'] + parseTimezoneChunker = /([\+\-]|\d\d)/gi, - // at each touchstart-like event we want also want to trigger a TOUCH event... - if(eventType == EVENT_START) { - triggerChange = EVENT_TOUCH; - // ...the same for a touchend-like event - } else if(eventType == EVENT_END) { - triggerChange = EVENT_RELEASE; + // getter and setter names + proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), + unitMillisecondFactors = { + 'Milliseconds' : 1, + 'Seconds' : 1e3, + 'Minutes' : 6e4, + 'Hours' : 36e5, + 'Days' : 864e5, + 'Months' : 2592e6, + 'Years' : 31536e6 + }, - // keep track of how many touches have been removed - changedLength = touchList.length - ((ev.changedTouches) ? ev.changedTouches.length : 1); - } + unitAliases = { + ms : 'millisecond', + s : 'second', + m : 'minute', + h : 'hour', + d : 'day', + D : 'date', + w : 'week', + W : 'isoWeek', + M : 'month', + Q : 'quarter', + y : 'year', + DDD : 'dayOfYear', + e : 'weekday', + E : 'isoWeekday', + gg: 'weekYear', + GG: 'isoWeekYear' + }, - // after there are still touches on the screen, - // we just want to trigger a MOVE event. so change the START or END to a MOVE - // but only after detection has been started, the first time we actualy want a START - if(changedLength > 0 && this.started) { - triggerType = EVENT_MOVE; - } + camelFunctions = { + dayofyear : 'dayOfYear', + isoweekday : 'isoWeekday', + isoweek : 'isoWeek', + weekyear : 'weekYear', + isoweekyear : 'isoWeekYear' + }, - // detection has been started, we keep track of this, see above - this.started = true; + // format function strings + formatFunctions = {}, - // generate some event data, some basic information - var evData = this.collectEventData(element, triggerType, touchList, ev); + // 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 + }, - // trigger the triggerType event before the change (TOUCH, RELEASE) events - // but the END event should be at last - if(eventType != EVENT_END) { - handler.call(Detection, evData); - } + // tokens to ordinalize and pad + ordinalizeTokens = 'DDD w W M D d'.split(' '), + paddedTokens = 'M D H h m s w W'.split(' '), - // trigger a change (TOUCH, RELEASE) event, this means the length of the touches changed - if(triggerChange) { - evData.changedLength = changedLength; - evData.eventType = triggerChange; + formatTokenFunctions = { + M : function () { + return this.month() + 1; + }, + MMM : function (format) { + return this.localeData().monthsShort(this, format); + }, + MMMM : function (format) { + return this.localeData().months(this, format); + }, + D : function () { + return this.date(); + }, + DDD : function () { + return this.dayOfYear(); + }, + d : function () { + return this.day(); + }, + dd : function (format) { + return this.localeData().weekdaysMin(this, format); + }, + ddd : function (format) { + return this.localeData().weekdaysShort(this, format); + }, + dddd : function (format) { + return this.localeData().weekdays(this, format); + }, + w : function () { + return this.week(); + }, + W : function () { + return this.isoWeek(); + }, + YY : function () { + return leftZeroFill(this.year() % 100, 2); + }, + YYYY : function () { + return leftZeroFill(this.year(), 4); + }, + YYYYY : function () { + return leftZeroFill(this.year(), 5); + }, + YYYYYY : function () { + var y = this.year(), sign = y >= 0 ? '+' : '-'; + return sign + leftZeroFill(Math.abs(y), 6); + }, + gg : function () { + return leftZeroFill(this.weekYear() % 100, 2); + }, + gggg : function () { + return leftZeroFill(this.weekYear(), 4); + }, + ggggg : function () { + return leftZeroFill(this.weekYear(), 5); + }, + GG : function () { + return leftZeroFill(this.isoWeekYear() % 100, 2); + }, + GGGG : function () { + return leftZeroFill(this.isoWeekYear(), 4); + }, + GGGGG : function () { + return leftZeroFill(this.isoWeekYear(), 5); + }, + e : function () { + return this.weekday(); + }, + E : function () { + return this.isoWeekday(); + }, + a : function () { + return this.localeData().meridiem(this.hours(), this.minutes(), true); + }, + A : function () { + return this.localeData().meridiem(this.hours(), this.minutes(), false); + }, + 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 toInt(this.milliseconds() / 100); + }, + SS : function () { + return leftZeroFill(toInt(this.milliseconds() / 10), 2); + }, + SSS : function () { + return leftZeroFill(this.milliseconds(), 3); + }, + SSSS : function () { + return leftZeroFill(this.milliseconds(), 3); + }, + Z : function () { + var a = this.utcOffset(), + b = '+'; + if (a < 0) { + a = -a; + b = '-'; + } + return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2); + }, + ZZ : function () { + var a = this.utcOffset(), + b = '+'; + if (a < 0) { + a = -a; + b = '-'; + } + return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2); + }, + z : function () { + return this.zoneAbbr(); + }, + zz : function () { + return this.zoneName(); + }, + x : function () { + return this.valueOf(); + }, + X : function () { + return this.unix(); + }, + Q : function () { + return this.quarter(); + } + }, - handler.call(Detection, evData); + deprecations = {}, - evData.eventType = triggerType; - delete evData.changedLength; - } + lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'], - // trigger the END event - if(triggerType == EVENT_END) { - handler.call(Detection, evData); + updateInProgress = false; - // ...and we are done with the detection - // so reset everything to start each detection totally fresh - this.started = false; + // Pick the first defined of two or three arguments. dfl comes from + // default. + function dfl(a, b, c) { + 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'); } + } - return triggerType; - }, - - /** - * we have different events for each device/browser - * determine what we need and set them in the EVENT_TYPES constant - * the `onTouch` method is bind to these properties. - * @method determineEventTypes - * @return {Object} events - */ - determineEventTypes: function determineEventTypes() { - var types; - if(Hammer.HAS_POINTEREVENTS) { - if(window.PointerEvent) { - types = [ - 'pointerdown', - 'pointermove', - 'pointerup pointercancel lostpointercapture' - ]; - } else { - types = [ - 'MSPointerDown', - 'MSPointerMove', - 'MSPointerUp MSPointerCancel MSLostPointerCapture' - ]; - } - } else if(Hammer.NO_MOUSEEVENTS) { - types = [ - 'touchstart', - 'touchmove', - 'touchend touchcancel' - ]; - } else { - types = [ - 'touchstart mousedown', - 'touchmove mousemove', - 'touchend touchcancel mouseup' - ]; - } + function hasOwnProp(a, b) { + return hasOwnProperty.call(a, b); + } - EVENT_TYPES[EVENT_START] = types[0]; - EVENT_TYPES[EVENT_MOVE] = types[1]; - EVENT_TYPES[EVENT_END] = types[2]; - return EVENT_TYPES; - }, + function defaultParsingFlags() { + // We need to deep clone this object, and es5 standard is not very + // helpful. + return { + empty : false, + unusedTokens : [], + unusedInput : [], + overflow : -2, + charsLeftOver : 0, + nullInput : false, + invalidMonth : null, + invalidFormat : false, + userInvalidated : false, + iso: false + }; + } - /** - * create touchList depending on the event - * @method getTouchList - * @param {Object} ev - * @param {String} eventType - * @return {Array} touches - */ - getTouchList: function getTouchList(ev, eventType) { - // get the fake pointerEvent touchlist - if(Hammer.HAS_POINTEREVENTS) { - return PointerEvent.getTouchList(); + function printMsg(msg) { + if (moment.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && console.warn) { + console.warn('Deprecation warning: ' + msg); } + } - // get the touchlist - if(ev.touches) { - if(eventType == EVENT_MOVE) { - return ev.touches; + function deprecate(msg, fn) { + var firstTime = true; + return extend(function () { + if (firstTime) { + printMsg(msg); + firstTime = false; } + return fn.apply(this, arguments); + }, fn); + } - var identifiers = []; - var concat = [].concat(Utils.toArray(ev.touches), Utils.toArray(ev.changedTouches)); - var touchList = []; - - Utils.each(concat, function(touch) { - if(Utils.inArray(identifiers, touch.identifier) === false) { - touchList.push(touch); - } - identifiers.push(touch.identifier); - }); - - return touchList; - } - - // make fake touchList from mouse position - ev.identifier = 1; - return [ev]; - }, - - /** - * collect basic event data - * @method collectEventData - * @param {HTMLElement} element - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {Array} touches - * @param {Object} ev - * @return {Object} ev - */ - collectEventData: function collectEventData(element, eventType, touches, ev) { - // find out pointerType - var pointerType = POINTER_TOUCH; - if(Utils.inStr(ev.type, 'mouse') || PointerEvent.matchType(POINTER_MOUSE, ev)) { - pointerType = POINTER_MOUSE; - } else if(PointerEvent.matchType(POINTER_PEN, ev)) { - pointerType = POINTER_PEN; + function deprecateSimple(name, msg) { + if (!deprecations[name]) { + printMsg(msg); + deprecations[name] = true; } + } - return { - center: Utils.getCenter(touches), - timeStamp: Date.now(), - target: ev.target, - touches: touches, - eventType: eventType, - pointerType: pointerType, - srcEvent: ev, - - /** - * prevent the browser default actions - * mostly used to disable scrolling of the browser - */ - preventDefault: function() { - var srcEvent = this.srcEvent; - srcEvent.preventManipulation && srcEvent.preventManipulation(); - srcEvent.preventDefault && srcEvent.preventDefault(); - }, - - /** - * stop bubbling the event up to its parents - */ - stopPropagation: function() { - this.srcEvent.stopPropagation(); - }, - - /** - * immediately stop gesture detection - * might be useful after a swipe was detected - * @return {*} - */ - stopDetect: function() { - return Detection.stopDetect(); - } + function padToken(func, count) { + return function (a) { + return leftZeroFill(func.call(this, a), count); + }; + } + function ordinalizeToken(func, period) { + return function (a) { + return this.localeData().ordinal(func.call(this, a), period); }; } - }; - - - /** - * @module hammer - * - * @class PointerEvent - * @static - */ - var PointerEvent = Hammer.PointerEvent = { - /** - * holds all pointers, by `identifier` - * @property pointers - * @type {Object} - */ - pointers: {}, - /** - * get the pointers as an array - * @method getTouchList - * @return {Array} touchlist - */ - getTouchList: function getTouchList() { - var touchlist = []; - // we can use forEach since pointerEvents only is in IE10 - Utils.each(this.pointers, function(pointer) { - touchlist.push(pointer); - }); - return touchlist; - }, + function monthDiff(a, b) { + // difference in months + var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, adjust; - /** - * update the position of a pointer - * @method updatePointer - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {Object} pointerEvent - */ - updatePointer: function updatePointer(eventType, pointerEvent) { - if(eventType == EVENT_END || (eventType != EVENT_END && pointerEvent.buttons !== 1)) { - delete this.pointers[pointerEvent.pointerId]; + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); } else { - pointerEvent.identifier = pointerEvent.pointerId; - this.pointers[pointerEvent.pointerId] = pointerEvent; - } - }, - - /** - * check if ev matches pointertype - * @method matchType - * @param {String} pointerType matches `POINTER_MOUSE|TOUCH|PEN` - * @param {PointerEvent} ev - */ - matchType: function matchType(pointerType, ev) { - if(!ev.pointerType) { - return false; + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); } - var pt = ev.pointerType, - types = {}; - - types[POINTER_MOUSE] = (pt === (ev.MSPOINTER_TYPE_MOUSE || POINTER_MOUSE)); - types[POINTER_TOUCH] = (pt === (ev.MSPOINTER_TYPE_TOUCH || POINTER_TOUCH)); - types[POINTER_PEN] = (pt === (ev.MSPOINTER_TYPE_PEN || POINTER_PEN)); - return types[pointerType]; - }, - - /** - * reset the stored pointers - * @method reset - */ - reset: function resetList() { - this.pointers = {}; + return -(wholeMonthDiff + adjust); } - }; - - - /** - * @module hammer - * - * @class Detection - * @static - */ - var Detection = Hammer.detection = { - // contains all registred Hammer.gestures in the correct order - gestures: [], - - // data of the current Hammer.gesture detection session - current: null, - - // the previous Hammer.gesture session data - // is a full clone of the previous gesture.current object - previous: null, - - // when this becomes true, no gestures are fired - stopped: false, - /** - * start Hammer.gesture detection - * @method startDetect - * @param {Hammer.Instance} inst - * @param {Object} eventData - */ - startDetect: function startDetect(inst, eventData) { - // already busy with a Hammer.gesture detection on an element - if(this.current) { - return; - } - - this.stopped = false; + while (ordinalizeTokens.length) { + i = ordinalizeTokens.pop(); + formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i); + } + while (paddedTokens.length) { + i = paddedTokens.pop(); + formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2); + } + formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3); - // holds current session - this.current = { - inst: inst, // reference to HammerInstance we're working for - startEvent: Utils.extend({}, eventData), // start eventData for distances, timing etc - lastEvent: false, // last eventData - lastCalcEvent: false, // last eventData for calculations. - futureCalcEvent: false, // last eventData for calculations. - lastCalcData: {}, // last lastCalcData - name: '' // current gesture we're in/detected, can be 'tap', 'hold' etc - }; - this.detect(eventData); - }, + function meridiemFixWrap(locale, hour, meridiem) { + var isPm; - /** - * Hammer.gesture detection - * @method detect - * @param {Object} eventData - * @return {any} - */ - detect: function detect(eventData) { - if(!this.current || this.stopped) { - return; + if (meridiem == null) { + // nothing to do + return hour; } - - // extend event data with calculations about scale, distance etc - eventData = this.extendEventData(eventData); - - // hammer instance and instance options - var inst = this.current.inst, - instOptions = inst.options; - - // call Hammer.gesture handlers - Utils.each(this.gestures, function triggerGesture(gesture) { - // only when the instance options have enabled this gesture - if(!this.stopped && inst.enabled && instOptions[gesture.name]) { - gesture.handler.call(gesture, eventData, inst); + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; } - }, this); - - // store as previous event event - if(this.current) { - this.current.lastEvent = eventData; - } - - if(eventData.eventType == EVENT_END) { - this.stopDetect(); + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // thie is not supposed to happen + return hour; } + } - return eventData; - }, - - /** - * clear the Hammer.gesture vars - * this is called on endDetect, but can also be used when a final Hammer.gesture has been detected - * to stop other Hammer.gestures from being fired - * @method stopDetect - */ - stopDetect: function stopDetect() { - // clone current data to the store as the previous gesture - // used for the double tap gesture, since this is an other gesture detect session - this.previous = Utils.extend({}, this.current); - - // reset the current - this.current = null; - this.stopped = true; - }, - - /** - * calculate velocity, angle and direction - * @method getVelocityData - * @param {Object} ev - * @param {Object} center - * @param {Number} deltaTime - * @param {Number} deltaX - * @param {Number} deltaY - */ - getCalculatedData: function getCalculatedData(ev, center, deltaTime, deltaX, deltaY) { - var cur = this.current, - recalc = false, - calcEv = cur.lastCalcEvent, - calcData = cur.lastCalcData; + /************************************ + Constructors + ************************************/ - if(calcEv && ev.timeStamp - calcEv.timeStamp > Hammer.CALCULATE_INTERVAL) { - center = calcEv.center; - deltaTime = ev.timeStamp - calcEv.timeStamp; - deltaX = ev.center.clientX - calcEv.center.clientX; - deltaY = ev.center.clientY - calcEv.center.clientY; - recalc = true; - } + function Locale() { + } - if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { - cur.futureCalcEvent = ev; + // Moment prototype object + function Moment(config, skipOverflow) { + if (skipOverflow !== false) { + checkOverflow(config); } - - if(!cur.lastCalcEvent || recalc) { - calcData.velocity = Utils.getVelocity(deltaTime, deltaX, deltaY); - calcData.angle = Utils.getAngle(center, ev.center); - calcData.direction = Utils.getDirection(center, ev.center); - - cur.lastCalcEvent = cur.futureCalcEvent || ev; - cur.futureCalcEvent = ev; + copyConfig(this, config); + this._d = new Date(+config._d); + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + moment.updateOffset(this); + updateInProgress = false; } + } - ev.velocityX = calcData.velocity.x; - ev.velocityY = calcData.velocity.y; - ev.interimAngle = calcData.angle; - ev.interimDirection = calcData.direction; - }, + // Duration Constructor + function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; - /** - * extend eventData for Hammer.gestures - * @method extendEventData - * @param {Object} ev - * @return {Object} ev - */ - extendEventData: function extendEventData(ev) { - var cur = this.current, - startEv = cur.startEvent, - lastEv = cur.lastEvent || startEv; + // representation for dateAddRemove + this._milliseconds = +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 36e5; // 1000 * 60 * 60 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + + weeks * 7; + // It is impossible translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + + quarters * 3 + + years * 12; - // update the start touchlist to calculate the scale/rotation - if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { - startEv.touches = []; - Utils.each(ev.touches, function(touch) { - startEv.touches.push({ - clientX: touch.clientX, - clientY: touch.clientY - }); - }); - } + this._data = {}; - var deltaTime = ev.timeStamp - startEv.timeStamp, - deltaX = ev.center.clientX - startEv.center.clientX, - deltaY = ev.center.clientY - startEv.center.clientY; + this._locale = moment.localeData(); - this.getCalculatedData(ev, lastEv.center, deltaTime, deltaX, deltaY); + this._bubble(); + } - Utils.extend(ev, { - startEvent: startEv, + /************************************ + Helpers + ************************************/ - deltaTime: deltaTime, - deltaX: deltaX, - deltaY: deltaY, - distance: Utils.getDistance(startEv.center, ev.center), - angle: Utils.getAngle(startEv.center, ev.center), - direction: Utils.getDirection(startEv.center, ev.center), - scale: Utils.getScale(startEv.touches, ev.touches), - rotation: Utils.getRotation(startEv.touches, ev.touches) - }); + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } - return ev; - }, + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } - /** - * register new gesture - * @method register - * @param {Object} gesture object, see `gestures/` for documentation - * @return {Array} gestures - */ - register: function register(gesture) { - // add an enable gesture options if there is no given - var options = gesture.defaults || {}; - if(options[gesture.name] === undefined) { - options[gesture.name] = true; + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; } - // extend Hammer default options with the Hammer.gesture options - Utils.extend(Hammer.defaults, options, true); + return a; + } - // set its index - gesture.index = gesture.index || 1000; + function copyConfig(to, from) { + var i, prop, val; - // add Hammer.gesture to the list - this.gestures.push(gesture); + 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; + } - // sort the list by index - this.gestures.sort(function(a, b) { - if(a.index < b.index) { - return -1; - } - if(a.index > b.index) { - return 1; + if (momentProperties.length > 0) { + for (i in momentProperties) { + prop = momentProperties[i]; + val = from[prop]; + if (typeof val !== 'undefined') { + to[prop] = val; + } } - return 0; - }); + } - return this.gestures; + return to; } - }; - - /** - * @module hammer - */ - - /** - * create new hammer instance - * all methods should return the instance itself, so it is chainable. - * - * @class Instance - * @constructor - * @param {HTMLElement} element - * @param {Object} [options={}] options are merged with `Hammer.defaults` - * @return {Hammer.Instance} - */ - Hammer.Instance = function(element, options) { - var self = this; + function absRound(number) { + if (number < 0) { + return Math.ceil(number); + } else { + return Math.floor(number); + } + } - // setup HammerJS window events and register all gestures - // this also sets up the default options - setup(); + // left zero fill a number + // see http://jsperf.com/left-zero-filling for performance comparison + function leftZeroFill(number, targetLength, forceSign) { + var output = '' + Math.abs(number), + sign = number >= 0; - /** - * @property element - * @type {HTMLElement} - */ - this.element = element; + while (output.length < targetLength) { + output = '0' + output; + } + return (sign ? (forceSign ? '+' : '') : '-') + output; + } - /** - * @property enabled - * @type {Boolean} - * @protected - */ - this.enabled = true; + function positiveMomentsDifference(base, other) { + var res = {milliseconds: 0, months: 0}; - /** - * options, merged with the defaults - * options with an _ are converted to camelCase - * @property options - * @type {Object} - */ - Utils.each(options, function(value, name) { - delete options[name]; - options[Utils.toCamelCase(name)] = value; - }); + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } - this.options = Utils.extend(Utils.extend({}, Hammer.defaults), options || {}); + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); - // add some css to the element to prevent the browser from doing its native behavoir - if(this.options.behavior) { - Utils.toggleBehavior(this.element, this.options.behavior, true); + return res; } - /** - * event start handler on the element to start the detection - * @property eventStartHandler - * @type {Object} - */ - this.eventStartHandler = Event.onTouch(element, EVENT_START, function(ev) { - if(self.enabled && ev.eventType == EVENT_START) { - Detection.startDetect(self, ev); - } else if(ev.eventType == EVENT_TOUCH) { - Detection.detect(ev); + 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; } - }); - - /** - * keep a list of user event handlers which needs to be removed when calling 'dispose' - * @property eventHandlers - * @type {Array} - */ - this.eventHandlers = []; - }; - - Hammer.Instance.prototype = { - /** - * bind events to the instance - * @method on - * @chainable - * @param {String} gestures multiple gestures by splitting with a space - * @param {Function} handler - * @param {Object} handler.ev event object - */ - on: function onEvent(gestures, handler) { - var self = this; - Event.on(self.element, gestures, handler, function(type) { - self.eventHandlers.push({ gesture: type, handler: handler }); - }); - return self; - }, - /** - * unbind events to the instance - * @method off - * @chainable - * @param {String} gestures - * @param {Function} handler - */ - off: function offEvent(gestures, handler) { - var self = this; + return res; + } - Event.off(self.element, gestures, handler, function(type) { - var index = Utils.inArray({ gesture: type, handler: handler }); - if(index !== false) { - self.eventHandlers.splice(index, 1); + // 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; } - }); - return self; - }, - /** - * trigger gesture event - * @method trigger - * @chainable - * @param {String} gesture - * @param {Object} [eventData] - */ - trigger: function triggerEvent(gesture, eventData) { - // optional - if(!eventData) { - eventData = {}; - } + val = typeof val === 'string' ? +val : val; + dur = moment.duration(val, period); + addOrSubtractDurationFromMoment(this, dur, direction); + return this; + }; + } - // create DOM event - var event = Hammer.DOCUMENT.createEvent('Event'); - event.initEvent(gesture, true, true); - event.gesture = eventData; + function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = duration._days, + months = duration._months; + updateOffset = updateOffset == null ? true : updateOffset; - // trigger on the target if it is in the instance element, - // this is for event delegation tricks - var element = this.element; - if(Utils.hasParent(eventData.target, element)) { - element = eventData.target; + if (milliseconds) { + mom._d.setTime(+mom._d + milliseconds * isAdding); } + if (days) { + rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding); + } + if (months) { + rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding); + } + if (updateOffset) { + moment.updateOffset(mom, days || months); + } + } - element.dispatchEvent(event); - return this; - }, - - /** - * enable of disable hammer.js detection - * @method enable - * @chainable - * @param {Boolean} state - */ - enable: function enable(state) { - this.enabled = state; - return this; - }, - - /** - * dispose this hammer instance - * @method dispose - * @return {Null} - */ - dispose: function dispose() { - var i, eh; + // check if is an array + function isArray(input) { + return Object.prototype.toString.call(input) === '[object Array]'; + } - // undo all changes made by stop_browser_behavior - Utils.toggleBehavior(this.element, this.options.behavior, false); + function isDate(input) { + return Object.prototype.toString.call(input) === '[object Date]' || + input instanceof Date; + } - // unbind all custom event handlers - for(i = -1; (eh = this.eventHandlers[++i]);) { - Utils.off(this.element, eh.gesture, eh.handler); + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ((dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { + diffs++; + } } + return diffs + lengthDiff; + } - this.eventHandlers = []; - - // unbind the start event listener - Event.off(this.element, EVENT_TYPES[EVENT_START], this.eventStartHandler); - - return null; + function normalizeUnits(units) { + if (units) { + var lowered = units.toLowerCase().replace(/(.)s$/, '$1'); + units = unitAliases[units] || camelFunctions[lowered] || lowered; + } + return units; } - }; + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; - /** - * @module gestures - */ - /** - * Move with x fingers (default 1) around on the page. - * Preventing the default browser behavior is a good way to improve feel and working. - * ```` - * hammertime.on("drag", function(ev) { - * console.log(ev); - * ev.gesture.preventDefault(); - * }); - * ```` - * - * @class Drag - * @static - */ - /** - * @event drag - * @param {Object} ev - */ - /** - * @event dragstart - * @param {Object} ev - */ - /** - * @event dragend - * @param {Object} ev - */ - /** - * @event drapleft - * @param {Object} ev - */ - /** - * @event dragright - * @param {Object} ev - */ - /** - * @event dragup - * @param {Object} ev - */ - /** - * @event dragdown - * @param {Object} ev - */ + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } - /** - * @param {String} name - */ - (function(name) { - var triggered = false; + return normalizedInput; + } - function dragGesture(ev, inst) { - var cur = Detection.current; + function makeList(field) { + var count, setter; - // max touches - if(inst.options.dragMaxTouches > 0 && - ev.touches.length > inst.options.dragMaxTouches) { + if (field.indexOf('week') === 0) { + count = 7; + setter = 'day'; + } + else if (field.indexOf('month') === 0) { + count = 12; + setter = 'month'; + } + else { return; } - switch(ev.eventType) { - case EVENT_START: - triggered = false; - break; - - case EVENT_MOVE: - // when the distance we moved is too small we skip this gesture - // or we can be already in dragging - if(ev.distance < inst.options.dragMinDistance && - cur.name != name) { - return; - } + moment[field] = function (format, index) { + var i, getter, + method = moment._locale[field], + results = []; - var startCenter = cur.startEvent.center; + if (typeof format === 'number') { + index = format; + format = undefined; + } - // we are dragging! - if(cur.name != name) { - cur.name = name; - if(inst.options.dragDistanceCorrection && ev.distance > 0) { - // When a drag is triggered, set the event center to dragMinDistance pixels from the original event center. - // Without this correction, the dragged distance would jumpstart at dragMinDistance pixels instead of at 0. - // It might be useful to save the original start point somewhere - var factor = Math.abs(inst.options.dragMinDistance / ev.distance); - startCenter.pageX += ev.deltaX * factor; - startCenter.pageY += ev.deltaY * factor; - startCenter.clientX += ev.deltaX * factor; - startCenter.clientY += ev.deltaY * factor; + getter = function (i) { + var m = moment().utc().set(setter, i); + return method.call(moment._locale, m, format || ''); + }; - // recalculate event data using new start point - ev = Detection.extendEventData(ev); - } + if (index != null) { + return getter(index); + } + else { + for (i = 0; i < count; i++) { + results.push(getter(i)); } + return results; + } + }; + } - // lock drag to axis? - if(cur.lastEvent.dragLockToAxis || - ( inst.options.dragLockToAxis && - inst.options.dragLockMinDistance <= ev.distance - )) { - ev.dragLockToAxis = true; - } + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + if (coercedNumber >= 0) { + value = Math.floor(coercedNumber); + } else { + value = Math.ceil(coercedNumber); + } + } - // keep direction on the axis that the drag gesture started on - var lastDirection = cur.lastEvent.direction; - if(ev.dragLockToAxis && lastDirection !== ev.direction) { - if(Utils.isVertical(lastDirection)) { - ev.direction = (ev.deltaY < 0) ? DIRECTION_UP : DIRECTION_DOWN; - } else { - ev.direction = (ev.deltaX < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT; - } - } + return value; + } - // first time, trigger dragstart event - if(!triggered) { - inst.trigger(name + 'start', ev); - triggered = true; - } + function daysInMonth(year, month) { + return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); + } - // trigger events - inst.trigger(name, ev); - inst.trigger(name + ev.direction, ev); + function weeksInYear(year, dow, doy) { + return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week; + } - var isVertical = Utils.isVertical(ev.direction); + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } - // block the browser events - if((inst.options.dragBlockVertical && isVertical) || - (inst.options.dragBlockHorizontal && !isVertical)) { - ev.preventDefault(); - } - break; + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } - case EVENT_RELEASE: - if(triggered && ev.changedLength <= inst.options.dragMaxTouches) { - inst.trigger(name + 'end', ev); - triggered = false; - } - break; + function checkOverflow(m) { + var overflow; + if (m._a && m._pf.overflow === -2) { + overflow = + m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH : + m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE : + m._a[HOUR] < 0 || m._a[HOUR] > 24 || + (m._a[HOUR] === 24 && (m._a[MINUTE] !== 0 || + m._a[SECOND] !== 0 || + m._a[MILLISECOND] !== 0)) ? HOUR : + m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE : + m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND : + m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND : + -1; - case EVENT_END: - triggered = false; - break; + if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } + + m._pf.overflow = overflow; } } - Hammer.gestures.Drag = { - name: name, - index: 50, - handler: dragGesture, - defaults: { - /** - * minimal movement that have to be made before the drag event gets triggered - * @property dragMinDistance - * @type {Number} - * @default 10 - */ - dragMinDistance: 10, - - /** - * Set dragDistanceCorrection to true to make the starting point of the drag - * be calculated from where the drag was triggered, not from where the touch started. - * Useful to avoid a jerk-starting drag, which can make fine-adjustments - * through dragging difficult, and be visually unappealing. - * @property dragDistanceCorrection - * @type {Boolean} - * @default true - */ - dragDistanceCorrection: true, + function isValid(m) { + if (m._isValid == null) { + m._isValid = !isNaN(m._d.getTime()) && + m._pf.overflow < 0 && + !m._pf.empty && + !m._pf.invalidMonth && + !m._pf.nullInput && + !m._pf.invalidFormat && + !m._pf.userInvalidated; - /** - * set 0 for unlimited, but this can conflict with transform - * @property dragMaxTouches - * @type {Number} - * @default 1 - */ - dragMaxTouches: 1, + if (m._strict) { + m._isValid = m._isValid && + m._pf.charsLeftOver === 0 && + m._pf.unusedTokens.length === 0 && + m._pf.bigHour === undefined; + } + } + return m._isValid; + } - /** - * prevent default browser behavior when dragging occurs - * be careful with it, it makes the element a blocking element - * when you are using the drag gesture, it is a good practice to set this true - * @property dragBlockHorizontal - * @type {Boolean} - * @default false - */ - dragBlockHorizontal: false, + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } - /** - * same as `dragBlockHorizontal`, but for vertical movement - * @property dragBlockVertical - * @type {Boolean} - * @default false - */ - dragBlockVertical: false, + // 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; - /** - * dragLockToAxis keeps the drag gesture on the axis that it started on, - * It disallows vertical directions if the initial direction was horizontal, and vice versa. - * @property dragLockToAxis - * @type {Boolean} - * @default false - */ - dragLockToAxis: false, + 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; + } - /** - * drag lock only kicks in when distance > dragLockMinDistance - * This way, locking occurs only when the distance has become large enough to reliably determine the direction - * @property dragLockMinDistance - * @type {Number} - * @default 25 - */ - dragLockMinDistance: 25 + 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) { } } - }; - })('drag'); + return locales[name]; + } - /** - * @module gestures - */ - /** - * trigger a simple gesture event, so you can do anything in your handler. - * only usable if you know what your doing... - * - * @class Gesture - * @static - */ - /** - * @event gesture - * @param {Object} ev - */ - Hammer.gestures.Gesture = { - name: 'gesture', - index: 1337, - handler: function releaseGesture(ev, inst) { - inst.trigger(this.name, ev); + // Return a moment from input, that is local/utc/utcOffset equivalent to + // model. + function makeAs(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = (moment.isMoment(input) || isDate(input) ? + +input : +moment(input)) - (+res); + // Use low-level api, because this fn is low-level api. + res._d.setTime(+res._d + diff); + moment.updateOffset(res, false); + return res; + } else { + return moment(input).local(); + } } - }; - /** - * @module gestures - */ - /** - * Touch stays at the same place for x time - * - * @class Hold - * @static - */ - /** - * @event hold - * @param {Object} ev - */ + /************************************ + Locale + ************************************/ - /** - * @param {String} name - */ - (function(name) { - var timer; - function holdGesture(ev, inst) { - var options = inst.options, - current = Detection.current; + extend(Locale.prototype, { - switch(ev.eventType) { - case EVENT_START: - clearTimeout(timer); + set : function (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (typeof prop === 'function') { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _ordinalParseLenient. + this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + /\d{1,2}/.source); + }, - // set the gesture so we can check in the timeout if it still is - current.name = name; + _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + months : function (m) { + return this._months[m.month()]; + }, - // set timer and if after the timeout it still is hold, - // we trigger the hold event - timer = setTimeout(function() { - if(current && current.name == name) { - inst.trigger(name, ev); - } - }, options.holdTimeout); - break; + _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + monthsShort : function (m) { + return this._monthsShort[m.month()]; + }, - case EVENT_MOVE: - if(ev.distance > options.holdThreshold) { - clearTimeout(timer); + monthsParse : function (monthName, format, strict) { + var i, mom, regex; + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = moment.utc([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); + this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); } - break; + if (!strict && !this._monthsParse[i]) { + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { + return i; + } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + }, - case EVENT_RELEASE: - clearTimeout(timer); - break; - } - } + _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdays : function (m) { + return this._weekdays[m.day()]; + }, - Hammer.gestures.Hold = { - name: name, - index: 10, - defaults: { - /** - * @property holdTimeout - * @type {Number} - * @default 500 - */ - holdTimeout: 500, + _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysShort : function (m) { + return this._weekdaysShort[m.day()]; + }, - /** - * movement allowed while holding - * @property holdThreshold - * @type {Number} - * @default 2 - */ - holdThreshold: 2 + _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + weekdaysMin : function (m) { + return this._weekdaysMin[m.day()]; }, - handler: holdGesture - }; - })('hold'); - /** - * @module gestures - */ - /** - * when a touch is being released from the page - * - * @class Release - * @static - */ - /** - * @event release - * @param {Object} ev - */ - Hammer.gestures.Release = { - name: 'release', - index: Infinity, - handler: function releaseGesture(ev, inst) { - if(ev.eventType == EVENT_RELEASE) { - inst.trigger(this.name, ev); - } - } - }; + weekdaysParse : function (weekdayName) { + var i, mom, regex; - /** - * @module gestures - */ - /** - * triggers swipe events when the end velocity is above the threshold - * for best usage, set `preventDefault` (on the drag gesture) to `true` - * ```` - * hammertime.on("dragleft swipeleft", function(ev) { - * console.log(ev); - * ev.gesture.preventDefault(); - * }); - * ```` - * - * @class Swipe - * @static - */ - /** - * @event swipe - * @param {Object} ev - */ - /** - * @event swipeleft - * @param {Object} ev - */ - /** - * @event swiperight - * @param {Object} ev - */ - /** - * @event swipeup - * @param {Object} ev - */ - /** - * @event swipedown - * @param {Object} ev - */ - Hammer.gestures.Swipe = { - name: 'swipe', - index: 40, - defaults: { - /** - * @property swipeMinTouches - * @type {Number} - * @default 1 - */ - swipeMinTouches: 1, + if (!this._weekdaysParse) { + this._weekdaysParse = []; + } - /** - * @property swipeMaxTouches - * @type {Number} - * @default 1 - */ - swipeMaxTouches: 1, + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + if (!this._weekdaysParse[i]) { + mom = moment([2000, 1]).day(i); + regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + }, - /** - * horizontal swipe velocity - * @property swipeVelocityX - * @type {Number} - * @default 0.6 - */ - swipeVelocityX: 0.6, + _longDateFormat : { + LTS : 'h:mm:ss A', + 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]; + if (!output && this._longDateFormat[key.toUpperCase()]) { + output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + this._longDateFormat[key] = output; + } + return output; + }, - /** - * vertical swipe velocity - * @property swipeVelocityY - * @type {Number} - * @default 0.6 - */ - swipeVelocityY: 0.6 - }, + isPM : function (input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return ((input + '').toLowerCase().charAt(0) === 'p'); + }, - handler: function swipeGesture(ev, inst) { - if(ev.eventType == EVENT_RELEASE) { - var touches = ev.touches.length, - options = inst.options; + _meridiemParse : /[ap]\.?m?\.?/i, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? '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 (key, mom, now) { + var output = this._calendar[key]; + return typeof output === 'function' ? output.apply(mom, [now]) : output; + }, + + _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' + }, - // max touches - if(touches < options.swipeMinTouches || - touches > options.swipeMaxTouches) { - return; - } + 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); + }, - // when the distance we moved is too small we skip this gesture - // or we can be already in dragging - if(ev.velocityX > options.swipeVelocityX || - ev.velocityY > options.swipeVelocityY) { - // trigger swipe events - inst.trigger(this.name, ev); - inst.trigger(this.name + ev.direction, ev); - } - } - } - }; + pastFuture : function (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); + }, - /** - * @module gestures - */ - /** - * Single tap and a double tap on a place - * - * @class Tap - * @static - */ - /** - * @event tap - * @param {Object} ev - */ - /** - * @event doubletap - * @param {Object} ev - */ + ordinal : function (number) { + return this._ordinal.replace('%d', number); + }, + _ordinal : '%d', + _ordinalParse : /\d{1,2}/, - /** - * @param {String} name - */ - (function(name) { - var hasMoved = false; + preparse : function (string) { + return string; + }, - function tapGesture(ev, inst) { - var options = inst.options, - current = Detection.current, - prev = Detection.previous, - sincePrev, - didDoubleTap; + postformat : function (string) { + return string; + }, - switch(ev.eventType) { - case EVENT_START: - hasMoved = false; - break; + week : function (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + }, - case EVENT_MOVE: - hasMoved = hasMoved || (ev.distance > options.tapMaxDistance); - break; + _week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 1st is the first week of the year. + }, - case EVENT_END: - if(!Utils.inStr(ev.srcEvent.type, 'cancel') && ev.deltaTime < options.tapMaxTime && !hasMoved) { - // previous gesture, for the double tap since these are two different gesture detections - sincePrev = prev && prev.lastEvent && ev.timeStamp - prev.lastEvent.timeStamp; - didDoubleTap = false; + firstDayOfWeek : function () { + return this._week.dow; + }, - // check if double tap - if(prev && prev.name == name && - (sincePrev && sincePrev < options.doubleTapInterval) && - ev.distance < options.doubleTapDistance) { - inst.trigger('doubletap', ev); - didDoubleTap = true; - } + firstDayOfYear : function () { + return this._week.doy; + }, - // do a single tap - if(!didDoubleTap || options.tapAlways) { - current.name = name; - inst.trigger(current.name, ev); - } - } - break; + _invalidDate: 'Invalid date', + invalidDate: function () { + return this._invalidDate; } - } + }); - Hammer.gestures.Tap = { - name: name, - index: 100, - handler: tapGesture, - defaults: { - /** - * max time of a tap, this is for the slow tappers - * @property tapMaxTime - * @type {Number} - * @default 250 - */ - tapMaxTime: 250, + /************************************ + Formatting + ************************************/ - /** - * max distance of movement of a tap, this is for the slow tappers - * @property tapMaxDistance - * @type {Number} - * @default 10 - */ - tapMaxDistance: 10, - /** - * always trigger the `tap` event, even while double-tapping - * @property tapAlways - * @type {Boolean} - * @default true - */ - tapAlways: true, + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } - /** - * max distance between two taps - * @property doubleTapDistance - * @type {Number} - * @default 20 - */ - doubleTapDistance: 20, + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; - /** - * max time between two taps - * @property doubleTapInterval - * @type {Number} - * @default 300 - */ - doubleTapInterval: 300 + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } } - }; - })('tap'); - /** - * @module gestures - */ - /** - * when a touch is being touched at the page - * - * @class Touch - * @static - */ - /** - * @event touch - * @param {Object} ev - */ - Hammer.gestures.Touch = { - name: 'touch', - index: -Infinity, - defaults: { - /** - * call preventDefault at touchstart, and makes the element blocking by disabling the scrolling of the page, - * but it improves gestures like transforming and dragging. - * be careful with using this, it can be very annoying for users to be stuck on the page - * @property preventDefault - * @type {Boolean} - * @default false - */ - preventDefault: false, + return function (mom) { + var output = ''; + for (i = 0; i < length; i++) { + output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; + } + return output; + }; + } - /** - * disable mouse events, so only touch (or pen!) input triggers events - * @property preventMouse - * @type {Boolean} - * @default false - */ - preventMouse: false - }, - handler: function touchGesture(ev, inst) { - if(inst.options.preventMouse && ev.pointerType == POINTER_MOUSE) { - ev.stopDetect(); - return; + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); } - if(inst.options.preventDefault) { - ev.preventDefault(); - } + format = expandFormat(format, m.localeData()); - if(ev.eventType == EVENT_TOUCH) { - inst.trigger('touch', ev); + if (!formatFunctions[format]) { + formatFunctions[format] = makeFormatFunction(format); } + + return formatFunctions[format](m); } - }; - /** - * @module gestures - */ - /** - * User want to scale or rotate with 2 fingers - * Preventing the default browser behavior is a good way to improve feel and working. This can be done with the - * `preventDefault` option. - * - * @class Transform - * @static - */ - /** - * @event transform - * @param {Object} ev - */ - /** - * @event transformstart - * @param {Object} ev - */ - /** - * @event transformend - * @param {Object} ev - */ - /** - * @event pinchin - * @param {Object} ev - */ - /** - * @event pinchout - * @param {Object} ev - */ - /** - * @event rotate - * @param {Object} ev - */ + function expandFormat(format, locale) { + var i = 5; - /** - * @param {String} name - */ - (function(name) { - var triggered = false; + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } - function transformGesture(ev, inst) { - switch(ev.eventType) { - case EVENT_START: - triggered = false; - break; + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } - case EVENT_MOVE: - // at least multitouch - if(ev.touches.length < 2) { - return; - } + return format; + } - var scaleThreshold = Math.abs(1 - ev.scale); - var rotationThreshold = Math.abs(ev.rotation); - // when the distance we moved is too small we skip this gesture - // or we can be already in dragging - if(scaleThreshold < inst.options.transformMinScale && - rotationThreshold < inst.options.transformMinRotation) { - return; - } + /************************************ + Parsing + ************************************/ - // we are transforming! - Detection.current.name = name; - // first time, trigger dragstart event - if(!triggered) { - inst.trigger(name + 'start', ev); - triggered = true; - } + // get the regex to find the next token + function getParseRegexForToken(token, config) { + var a, strict = config._strict; + switch (token) { + case 'Q': + return parseTokenOneDigit; + case 'DDDD': + return parseTokenThreeDigits; + case 'YYYY': + case 'GGGG': + case 'gggg': + return strict ? parseTokenFourDigits : parseTokenOneToFourDigits; + case 'Y': + case 'G': + case 'g': + return parseTokenSignedNumber; + case 'YYYYYY': + case 'YYYYY': + case 'GGGGG': + case 'ggggg': + return strict ? parseTokenSixDigits : parseTokenOneToSixDigits; + case 'S': + if (strict) { + return parseTokenOneDigit; + } + /* falls through */ + case 'SS': + if (strict) { + return parseTokenTwoDigits; + } + /* falls through */ + case 'SSS': + if (strict) { + return parseTokenThreeDigits; + } + /* falls through */ + case 'DDD': + return parseTokenOneToThreeDigits; + case 'MMM': + case 'MMMM': + case 'dd': + case 'ddd': + case 'dddd': + return parseTokenWord; + case 'a': + case 'A': + return config._locale._meridiemParse; + case 'x': + return parseTokenOffsetMs; + case 'X': + return parseTokenTimestampMs; + case 'Z': + case 'ZZ': + return parseTokenTimezone; + case 'T': + return parseTokenT; + case 'SSSS': + return parseTokenDigits; + case 'MM': + case 'DD': + case 'YY': + case 'GG': + case 'gg': + case 'HH': + case 'hh': + case 'mm': + case 'ss': + case 'ww': + case 'WW': + return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits; + case 'M': + case 'D': + case 'd': + case 'H': + case 'h': + case 'm': + case 's': + case 'w': + case 'W': + case 'e': + case 'E': + return parseTokenOneOrTwoDigits; + case 'Do': + return strict ? config._locale._ordinalParse : config._locale._ordinalParseLenient; + default : + a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i')); + return a; + } + } - inst.trigger(name, ev); // basic transform event + function utcOffsetFromString(string) { + string = string || ''; + var possibleTzMatches = (string.match(parseTokenTimezone) || []), + tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [], + parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0], + minutes = +(parts[1] * 60) + toInt(parts[2]); - // trigger rotate event - if(rotationThreshold > inst.options.transformMinRotation) { - inst.trigger('rotate', ev); - } + return parts[0] === '+' ? minutes : -minutes; + } - // trigger pinch event - if(scaleThreshold > inst.options.transformMinScale) { - inst.trigger('pinch', ev); - inst.trigger('pinch' + (ev.scale < 1 ? 'in' : 'out'), ev); - } - break; + // function to convert string input to date + function addTimeToArrayFromToken(token, input, config) { + var a, datePartArray = config._a; - case EVENT_RELEASE: - if(triggered && ev.changedLength < 2) { - inst.trigger(name + 'end', ev); - triggered = false; - } - break; + switch (token) { + // QUARTER + case 'Q': + if (input != null) { + datePartArray[MONTH] = (toInt(input) - 1) * 3; + } + break; + // MONTH + case 'M' : // fall through to MM + case 'MM' : + if (input != null) { + datePartArray[MONTH] = toInt(input) - 1; + } + break; + case 'MMM' : // fall through to MMMM + case 'MMMM' : + a = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (a != null) { + datePartArray[MONTH] = a; + } else { + config._pf.invalidMonth = input; + } + break; + // DAY OF MONTH + case 'D' : // fall through to DD + case 'DD' : + if (input != null) { + datePartArray[DATE] = toInt(input); + } + break; + case 'Do' : + if (input != null) { + datePartArray[DATE] = toInt(parseInt( + input.match(/\d{1,2}/)[0], 10)); + } + break; + // DAY OF YEAR + case 'DDD' : // fall through to DDDD + case 'DDDD' : + if (input != null) { + config._dayOfYear = toInt(input); + } + + break; + // YEAR + case 'YY' : + datePartArray[YEAR] = moment.parseTwoDigitYear(input); + break; + case 'YYYY' : + case 'YYYYY' : + case 'YYYYYY' : + datePartArray[YEAR] = toInt(input); + break; + // AM / PM + case 'a' : // fall through to A + case 'A' : + config._meridiem = input; + // config._isPm = config._locale.isPM(input); + break; + // HOUR + case 'h' : // fall through to hh + case 'hh' : + config._pf.bigHour = true; + /* falls through */ + case 'H' : // fall through to HH + case 'HH' : + datePartArray[HOUR] = toInt(input); + break; + // MINUTE + case 'm' : // fall through to mm + case 'mm' : + datePartArray[MINUTE] = toInt(input); + break; + // SECOND + case 's' : // fall through to ss + case 'ss' : + datePartArray[SECOND] = toInt(input); + break; + // MILLISECOND + case 'S' : + case 'SS' : + case 'SSS' : + case 'SSSS' : + datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000); + break; + // UNIX OFFSET (MILLISECONDS) + case 'x': + config._d = new Date(toInt(input)); + break; + // UNIX TIMESTAMP WITH MS + case 'X': + config._d = new Date(parseFloat(input) * 1000); + break; + // TIMEZONE + case 'Z' : // fall through to ZZ + case 'ZZ' : + config._useUTC = true; + config._tzm = utcOffsetFromString(input); + break; + // WEEKDAY - human + case 'dd': + case 'ddd': + case 'dddd': + a = config._locale.weekdaysParse(input); + // if we didn't get a weekday name, mark the date as invalid + if (a != null) { + config._w = config._w || {}; + config._w['d'] = a; + } else { + config._pf.invalidWeekday = input; + } + break; + // WEEK, WEEK DAY - numeric + case 'w': + case 'ww': + case 'W': + case 'WW': + case 'd': + case 'e': + case 'E': + token = token.substr(0, 1); + /* falls through */ + case 'gggg': + case 'GGGG': + case 'GGGGG': + token = token.substr(0, 2); + if (input) { + config._w = config._w || {}; + config._w[token] = toInt(input); + } + break; + case 'gg': + case 'GG': + config._w = config._w || {}; + config._w[token] = moment.parseTwoDigitYear(input); } } - Hammer.gestures.Transform = { - name: name, - index: 45, - defaults: { - /** - * minimal scale factor, no scale is 1, zoomin is to 0 and zoomout until higher then 1 - * @property transformMinScale - * @type {Number} - * @default 0.01 - */ - transformMinScale: 0.01, - - /** - * rotation in degrees - * @property transformMinRotation - * @type {Number} - * @default 1 - */ - transformMinRotation: 1 - }, - - handler: transformGesture - }; - })('transform'); - - /** - * @module hammer - */ + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp; - // AMD export - if(true) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - return Hammer; - }.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; - // browser export - } else { - window.Hammer = Hammer; - } + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; - })(window); + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year); + week = dfl(w.W, 1); + weekday = dfl(w.E, 1); + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; -/***/ }, -/* 58 */ -/***/ function(module, exports, __webpack_require__) { + weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year); + week = dfl(w.w, 1); - var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js - //! version : 2.9.0 - //! authors : Tim Wood, Iskren Chernev, Moment.js contributors - //! license : MIT - //! momentjs.com + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < dow) { + ++week; + } + } else if (w.e != null) { + // local weekday -- counting starts from begining of week + weekday = w.e + dow; + } else { + // default to begining of week + weekday = dow; + } + } + temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow); - (function (undefined) { - /************************************ - Constants - ************************************/ + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } - var moment, - VERSION = '2.9.0', - // the global-scope this is NOT the global object in Node.js - globalScope = (typeof global !== 'undefined' && (typeof window === 'undefined' || window === global.window)) ? global : this, - oldGlobalMoment, - round = Math.round, - hasOwnProperty = Object.prototype.hasOwnProperty, - i, + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function dateFromConfig(config) { + var i, date, input = [], currentDate, yearToUse; - YEAR = 0, - MONTH = 1, - DATE = 2, - HOUR = 3, - MINUTE = 4, - SECOND = 5, - MILLISECOND = 6, + if (config._d) { + return; + } - // internal storage for locale config files - locales = {}, + currentDate = currentDateArray(config); - // extra moment internal properties (plugins register props here) - momentProperties = [], + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } - // check for nodeJS - hasModule = (typeof module !== 'undefined' && module && module.exports), + //if the day of the year is set, figure out what it is + if (config._dayOfYear) { + yearToUse = dfl(config._a[YEAR], currentDate[YEAR]); - // ASP.NET json date format regex - aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, - aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, + if (config._dayOfYear > daysInYear(yearToUse)) { + config._pf._overflowDayOfYear = true; + } - // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html - // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere - isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, + date = makeUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } - // format tokens - formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g, - localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } - // parsing token regexes - parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 - parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 - parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999 - parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 - parseTokenDigits = /\d+/, // nonzero number of digits - parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. - parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z - parseTokenT = /T/i, // T (ISO separator) - parseTokenOffsetMs = /[\+\-]?\d+/, // 1234567890123 - parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + } - //strict parsing regexes - parseTokenOneDigit = /\d/, // 0 - 9 - parseTokenTwoDigits = /\d\d/, // 00 - 99 - parseTokenThreeDigits = /\d{3}/, // 000 - 999 - parseTokenFourDigits = /\d{4}/, // 0000 - 9999 - parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999 - parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf + // Check for 24:00:00.000 + if (config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0) { + config._nextDay = true; + config._a[HOUR] = 0; + } - // iso 8601 regex - // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) - isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input); + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } - isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', + if (config._nextDay) { + config._a[HOUR] = 24; + } + } - isoDates = [ - ['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/], - ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/], - ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/], - ['GGGG-[W]WW', /\d{4}-W\d{2}/], - ['YYYY-DDD', /\d{4}-\d{3}/] - ], + function dateFromObject(config) { + var normalizedInput; - // iso time formats and regexes - isoTimes = [ - ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/], - ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/], - ['HH:mm', /(T| )\d\d:\d\d/], - ['HH', /(T| )\d\d/] - ], + if (config._d) { + return; + } - // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-', '15', '30'] - parseTimezoneChunker = /([\+\-]|\d\d)/gi, + normalizedInput = normalizeObjectUnits(config._i); + config._a = [ + normalizedInput.year, + normalizedInput.month, + normalizedInput.day || normalizedInput.date, + normalizedInput.hour, + normalizedInput.minute, + normalizedInput.second, + normalizedInput.millisecond + ]; - // getter and setter names - proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), - unitMillisecondFactors = { - 'Milliseconds' : 1, - 'Seconds' : 1e3, - 'Minutes' : 6e4, - 'Hours' : 36e5, - 'Days' : 864e5, - 'Months' : 2592e6, - 'Years' : 31536e6 - }, + dateFromConfig(config); + } - unitAliases = { - ms : 'millisecond', - s : 'second', - m : 'minute', - h : 'hour', - d : 'day', - D : 'date', - w : 'week', - W : 'isoWeek', - M : 'month', - Q : 'quarter', - y : 'year', - DDD : 'dayOfYear', - e : 'weekday', - E : 'isoWeekday', - gg: 'weekYear', - GG: 'isoWeekYear' - }, + function currentDateArray(config) { + var now = new Date(); + if (config._useUTC) { + return [ + now.getUTCFullYear(), + now.getUTCMonth(), + now.getUTCDate() + ]; + } else { + return [now.getFullYear(), now.getMonth(), now.getDate()]; + } + } - camelFunctions = { - dayofyear : 'dayOfYear', - isoweekday : 'isoWeekday', - isoweek : 'isoWeek', - weekyear : 'weekYear', - isoweekyear : 'isoWeekYear' - }, + // date from string and format string + function makeDateFromStringAndFormat(config) { + if (config._f === moment.ISO_8601) { + parseISO(config); + return; + } - // format function strings - formatFunctions = {}, + config._a = []; + config._pf.empty = true; - // 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 - }, + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, parsedInput, tokens, token, skipped, + stringLength = string.length, + totalParsedInputLength = 0; - // tokens to ordinalize and pad - ordinalizeTokens = 'DDD w W M D d'.split(' '), - paddedTokens = 'M D H h m s w W'.split(' '), + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; - formatTokenFunctions = { - M : function () { - return this.month() + 1; - }, - MMM : function (format) { - return this.localeData().monthsShort(this, format); - }, - MMMM : function (format) { - return this.localeData().months(this, format); - }, - D : function () { - return this.date(); - }, - DDD : function () { - return this.dayOfYear(); - }, - d : function () { - return this.day(); - }, - dd : function (format) { - return this.localeData().weekdaysMin(this, format); - }, - ddd : function (format) { - return this.localeData().weekdaysShort(this, format); - }, - dddd : function (format) { - return this.localeData().weekdays(this, format); - }, - w : function () { - return this.week(); - }, - W : function () { - return this.isoWeek(); - }, - YY : function () { - return leftZeroFill(this.year() % 100, 2); - }, - YYYY : function () { - return leftZeroFill(this.year(), 4); - }, - YYYYY : function () { - return leftZeroFill(this.year(), 5); - }, - YYYYYY : function () { - var y = this.year(), sign = y >= 0 ? '+' : '-'; - return sign + leftZeroFill(Math.abs(y), 6); - }, - gg : function () { - return leftZeroFill(this.weekYear() % 100, 2); - }, - gggg : function () { - return leftZeroFill(this.weekYear(), 4); - }, - ggggg : function () { - return leftZeroFill(this.weekYear(), 5); - }, - GG : function () { - return leftZeroFill(this.isoWeekYear() % 100, 2); - }, - GGGG : function () { - return leftZeroFill(this.isoWeekYear(), 4); - }, - GGGGG : function () { - return leftZeroFill(this.isoWeekYear(), 5); - }, - e : function () { - return this.weekday(); - }, - E : function () { - return this.isoWeekday(); - }, - a : function () { - return this.localeData().meridiem(this.hours(), this.minutes(), true); - }, - A : function () { - return this.localeData().meridiem(this.hours(), this.minutes(), false); - }, - 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 toInt(this.milliseconds() / 100); - }, - SS : function () { - return leftZeroFill(toInt(this.milliseconds() / 10), 2); - }, - SSS : function () { - return leftZeroFill(this.milliseconds(), 3); - }, - SSSS : function () { - return leftZeroFill(this.milliseconds(), 3); - }, - Z : function () { - var a = this.utcOffset(), - b = '+'; - if (a < 0) { - a = -a; - b = '-'; - } - return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2); - }, - ZZ : function () { - var a = this.utcOffset(), - b = '+'; - if (a < 0) { - a = -a; - b = '-'; + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + config._pf.unusedInput.push(skipped); } - return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2); - }, - z : function () { - return this.zoneAbbr(); - }, - zz : function () { - return this.zoneName(); - }, - x : function () { - return this.valueOf(); - }, - X : function () { - return this.unix(); - }, - Q : function () { - return this.quarter(); + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + config._pf.empty = false; + } + else { + config._pf.unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); } - }, + else if (config._strict && !parsedInput) { + config._pf.unusedTokens.push(token); + } + } - deprecations = {}, + // add remaining unparsed input length to the string + config._pf.charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + config._pf.unusedInput.push(string); + } - lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'], + // clear _12h flag if hour is <= 12 + if (config._pf.bigHour === true && config._a[HOUR] <= 12) { + config._pf.bigHour = undefined; + } + // handle meridiem + config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], + config._meridiem); + dateFromConfig(config); + checkOverflow(config); + } - updateInProgress = false; + function unescapeFormat(s) { + return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + }); + } - // Pick the first defined of two or three arguments. dfl comes from - // default. - function dfl(a, b, c) { - 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'); + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function regexpEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + // date from string and array of format strings + function makeDateFromStringAndArray(config) { + var tempConfig, + bestMoment, + + scoreToBeat, + i, + currentScore; + + if (config._f.length === 0) { + config._pf.invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._pf = defaultParsingFlags(); + tempConfig._f = config._f[i]; + makeDateFromStringAndFormat(tempConfig); + + if (!isValid(tempConfig)) { + continue; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += tempConfig._pf.charsLeftOver; + + //or tokens + currentScore += tempConfig._pf.unusedTokens.length * 10; + + tempConfig._pf.score = currentScore; + + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } } + + extend(config, bestMoment || tempConfig); } - function hasOwnProp(a, b) { - return hasOwnProperty.call(a, b); + // date from iso format + function parseISO(config) { + var i, l, + string = config._i, + match = isoRegex.exec(string); + + if (match) { + 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] || ' '); + break; + } + } + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(string)) { + config._f += isoTimes[i][0]; + break; + } + } + if (string.match(parseTokenTimezone)) { + config._f += 'Z'; + } + makeDateFromStringAndFormat(config); + } else { + config._isValid = false; + } } - function defaultParsingFlags() { - // We need to deep clone this object, and es5 standard is not very - // helpful. - return { - empty : false, - unusedTokens : [], - unusedInput : [], - overflow : -2, - charsLeftOver : 0, - nullInput : false, - invalidMonth : null, - invalidFormat : false, - userInvalidated : false, - iso: false - }; + // date from iso format or fallback + function makeDateFromString(config) { + parseISO(config); + if (config._isValid === false) { + delete config._isValid; + moment.createFromInputFallback(config); + } } - function printMsg(msg) { - if (moment.suppressDeprecationWarnings === false && - typeof console !== 'undefined' && console.warn) { - console.warn('Deprecation warning: ' + msg); + function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); } + return res; } - function deprecate(msg, fn) { - var firstTime = true; - return extend(function () { - if (firstTime) { - printMsg(msg); - firstTime = false; - } - return fn.apply(this, arguments); - }, fn); + function makeDateFromInput(config) { + var input = config._i, matched; + if (input === undefined) { + config._d = new Date(); + } else if (isDate(input)) { + config._d = new Date(+input); + } else if ((matched = aspNetJsonRegex.exec(input)) !== null) { + 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); + }); + dateFromConfig(config); + } else if (typeof(input) === 'object') { + dateFromObject(config); + } else if (typeof(input) === 'number') { + // from milliseconds + config._d = new Date(input); + } else { + moment.createFromInputFallback(config); + } } - function deprecateSimple(name, msg) { - if (!deprecations[name]) { - printMsg(msg); - deprecations[name] = true; + function makeDate(y, m, d, h, M, s, ms) { + //can't just apply() to create a date: + //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply + var date = new Date(y, m, d, h, M, s, ms); + + //the date constructor doesn't accept years < 1970 + if (y < 1970) { + date.setFullYear(y); } + return date; } - function padToken(func, count) { - return function (a) { - return leftZeroFill(func.call(this, a), count); + function makeUTCDate(y) { + var date = new Date(Date.UTC.apply(null, arguments)); + if (y < 1970) { + date.setUTCFullYear(y); + } + return date; + } + + function parseWeekday(input, locale) { + if (typeof input === 'string') { + if (!isNaN(input)) { + input = parseInt(input, 10); + } + else { + input = locale.weekdaysParse(input); + if (typeof input !== 'number') { + return null; + } + } + } + return input; + } + + /************************************ + Relative Time + ************************************/ + + + // 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 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] || + 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] || + years === 1 && ['y'] || ['yy', years]; + + args[2] = withoutSuffix; + args[3] = +posNegDuration > 0; + args[4] = locale; + return substituteTimeAgo.apply({}, args); + } + + + /************************************ + Week of Year + ************************************/ + + + // firstDayOfWeek 0 = sun, 6 = sat + // the day of the week that starts the week + // (usually sunday or monday) + // firstDayOfWeekOfYear 0 = sun, 6 = sat + // the first week is the week that contains the first + // of this day of the week + // (eg. ISO weeks use thursday (4)) + function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) { + var end = firstDayOfWeekOfYear - firstDayOfWeek, + daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(), + adjustedMoment; + + + if (daysToDayOfWeek > end) { + daysToDayOfWeek -= 7; + } + + if (daysToDayOfWeek < end - 7) { + daysToDayOfWeek += 7; + } + + adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd'); + return { + week: Math.ceil(adjustedMoment.dayOfYear() / 7), + year: adjustedMoment.year() }; } - function ordinalizeToken(func, period) { - return function (a) { - return this.localeData().ordinal(func.call(this, a), period); + + //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) { + var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear; + + d = d === 0 ? 7 : d; + weekday = weekday != null ? weekday : firstDayOfWeek; + daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0); + dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1; + + return { + year: dayOfYear > 0 ? year : year - 1, + dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear }; } - function monthDiff(a, b) { - // difference in months - var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), - // b is in (anchor - 1 month, anchor + 1 month) - anchor = a.clone().add(wholeMonthDiff, 'months'), - anchor2, adjust; + /************************************ + Top Level Functions + ************************************/ - if (b - anchor < 0) { - anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor - anchor2); + function makeMoment(config) { + var input = config._i, + format = config._f, + res; + + 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); + } + + if (moment.isMoment(input)) { + return new Moment(input, true); + } else if (format) { + if (isArray(format)) { + makeDateFromStringAndArray(config); + } else { + makeDateFromStringAndFormat(config); + } } else { - anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor2 - anchor); + makeDateFromInput(config); } - return -(wholeMonthDiff + adjust); - } + res = new Moment(config); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } - while (ordinalizeTokens.length) { - i = ordinalizeTokens.pop(); - formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i); - } - while (paddedTokens.length) { - i = paddedTokens.pop(); - formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2); + return res; } - formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3); + moment = function (input, format, locale, strict) { + var c; - function meridiemFixWrap(locale, hour, meridiem) { - var isPm; + if (typeof(locale) === 'boolean') { + strict = locale; + locale = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c = {}; + c._isAMomentObject = true; + c._i = input; + c._f = format; + c._l = locale; + c._strict = strict; + c._isUTC = false; + c._pf = defaultParsingFlags(); - if (meridiem == null) { - // nothing to do - return hour; + return makeMoment(c); + }; + + 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 + (config._useUTC ? ' UTC' : '')); } - if (locale.meridiemHour != null) { - return locale.meridiemHour(hour, meridiem); - } else if (locale.isPM != null) { - // Fallback - isPm = locale.isPM(meridiem); - if (isPm && hour < 12) { - hour += 12; - } - if (!isPm && hour === 12) { - hour = 0; + ); + + // 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. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return moment(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (moments[i][fn](res)) { + res = moments[i]; } - return hour; - } else { - // thie is not supposed to happen - return hour; } + return res; } - /************************************ - Constructors - ************************************/ + moment.min = function () { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + }; + + moment.max = function () { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + }; + + // creating with utc + moment.utc = function (input, format, locale, strict) { + var c; + + if (typeof(locale) === 'boolean') { + strict = locale; + locale = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c = {}; + c._isAMomentObject = true; + c._useUTC = true; + c._isUTC = true; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + c._pf = defaultParsingFlags(); + + return makeMoment(c).utc(); + }; + + // creating with unix timestamp (in seconds) + moment.unix = function (input) { + return moment(input * 1000); + }; + + // duration + moment.duration = function (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + parseIso, + diffRes; + + if (moment.isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months + }; + } else if (typeof input === 'number') { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(match[MILLISECOND]) * sign + }; + } else if (!!(match = isoDurationRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + parseIso = function (inp) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + }; + duration = { + y: parseIso(match[2]), + M: parseIso(match[3]), + d: parseIso(match[4]), + h: parseIso(match[5]), + m: parseIso(match[6]), + s: parseIso(match[7]), + w: parseIso(match[8]) + }; + } else if (duration == null) {// checks for null or undefined + duration = {}; + } 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; + } - function Locale() { - } + ret = new Duration(duration); - // Moment prototype object - function Moment(config, skipOverflow) { - if (skipOverflow !== false) { - checkOverflow(config); - } - copyConfig(this, config); - this._d = new Date(+config._d); - // Prevent infinite loop in case updateOffset creates new moment - // objects. - if (updateInProgress === false) { - updateInProgress = true; - moment.updateOffset(this); - updateInProgress = false; + if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; } - } - - // Duration Constructor - function Duration(duration) { - var normalizedInput = normalizeObjectUnits(duration), - years = normalizedInput.year || 0, - quarters = normalizedInput.quarter || 0, - months = normalizedInput.month || 0, - weeks = normalizedInput.week || 0, - days = normalizedInput.day || 0, - hours = normalizedInput.hour || 0, - minutes = normalizedInput.minute || 0, - seconds = normalizedInput.second || 0, - milliseconds = normalizedInput.millisecond || 0; - // representation for dateAddRemove - this._milliseconds = +milliseconds + - seconds * 1e3 + // 1000 - minutes * 6e4 + // 1000 * 60 - hours * 36e5; // 1000 * 60 * 60 - // Because of dateAddRemove treats 24 hours as different from a - // day when working around DST, we need to store them separately - this._days = +days + - weeks * 7; - // It is impossible translate months into days without knowing - // which months you are are talking about, so we have to store - // it separately. - this._months = +months + - quarters * 3 + - years * 12; + return ret; + }; - this._data = {}; + // version number + moment.version = VERSION; - this._locale = moment.localeData(); + // default format + moment.defaultFormat = isoFormat; - this._bubble(); - } + // constant that refers to the ISO standard + moment.ISO_8601 = function () {}; - /************************************ - Helpers - ************************************/ + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + moment.momentProperties = momentProperties; + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + moment.updateOffset = function () {}; - function extend(a, b) { - for (var i in b) { - if (hasOwnProp(b, i)) { - a[i] = b[i]; - } + // This function allows you to set a threshold for relative time strings + moment.relativeTimeThreshold = function (threshold, limit) { + if (relativeTimeThresholds[threshold] === undefined) { + return false; } - - if (hasOwnProp(b, 'toString')) { - a.toString = b.toString; + if (limit === undefined) { + return relativeTimeThresholds[threshold]; } + relativeTimeThresholds[threshold] = limit; + return true; + }; - if (hasOwnProp(b, 'valueOf')) { - a.valueOf = b.valueOf; + moment.lang = deprecate( + 'moment.lang is deprecated. Use moment.locale instead.', + function (key, value) { + return moment.locale(key, value); } + ); - return a; - } - - function copyConfig(to, from) { - var i, prop, val; + // This function will load locale and then set the global locale. 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 (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 (data) { + moment.duration._locale = moment._locale = data; + } } - if (momentProperties.length > 0) { - for (i in momentProperties) { - prop = momentProperties[i]; - val = from[prop]; - if (typeof val !== 'undefined') { - to[prop] = val; - } + 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); - return to; - } + // backwards compat for now: also set the locale + moment.locale(name); - function absRound(number) { - if (number < 0) { - return Math.ceil(number); + return locales[name]; } else { - return Math.floor(number); + // useful for testing + delete locales[name]; + return null; } - } - - // left zero fill a number - // see http://jsperf.com/left-zero-filling for performance comparison - function leftZeroFill(number, targetLength, forceSign) { - var output = '' + Math.abs(number), - sign = number >= 0; + }; - while (output.length < targetLength) { - output = '0' + output; + moment.langData = deprecate( + 'moment.langData is deprecated. Use moment.localeData instead.', + function (key) { + return moment.localeData(key); } - return (sign ? (forceSign ? '+' : '') : '-') + output; - } + ); - function positiveMomentsDifference(base, other) { - var res = {milliseconds: 0, months: 0}; + // returns locale data + moment.localeData = function (key) { + var locale; - res.months = other.month() - base.month() + - (other.year() - base.year()) * 12; - if (base.clone().add(res.months, 'M').isAfter(other)) { - --res.months; + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; } - res.milliseconds = +other - +(base.clone().add(res.months, 'M')); - - return res; - } + if (!key) { + return moment._locale; + } - 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; + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; } - return res; - } + return chooseLocale(key); + }; - // 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; - } + // compare moment object + moment.isMoment = function (obj) { + return obj instanceof Moment || + (obj != null && hasOwnProp(obj, '_isAMomentObject')); + }; - val = typeof val === 'string' ? +val : val; - dur = moment.duration(val, period); - addOrSubtractDurationFromMoment(this, dur, direction); - return this; - }; + // for typechecking Duration objects + moment.isDuration = function (obj) { + return obj instanceof Duration; + }; + + for (i = lists.length - 1; i >= 0; --i) { + makeList(lists[i]); } - function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { - var milliseconds = duration._milliseconds, - days = duration._days, - months = duration._months; - updateOffset = updateOffset == null ? true : updateOffset; + moment.normalizeUnits = function (units) { + return normalizeUnits(units); + }; - if (milliseconds) { - mom._d.setTime(+mom._d + milliseconds * isAdding); - } - if (days) { - rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding); - } - if (months) { - rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding); + moment.invalid = function (flags) { + var m = moment.utc(NaN); + if (flags != null) { + extend(m._pf, flags); } - if (updateOffset) { - moment.updateOffset(mom, days || months); + else { + m._pf.userInvalidated = true; } - } - // check if is an array - function isArray(input) { - return Object.prototype.toString.call(input) === '[object Array]'; - } + return m; + }; - function isDate(input) { - return Object.prototype.toString.call(input) === '[object Date]' || - input instanceof Date; - } + moment.parseZone = function () { + return moment.apply(null, arguments).parseZone(); + }; - // compare two arrays, return the number of differences - function compareArrays(array1, array2, dontConvert) { - var len = Math.min(array1.length, array2.length), - lengthDiff = Math.abs(array1.length - array2.length), - diffs = 0, - i; - for (i = 0; i < len; i++) { - if ((dontConvert && array1[i] !== array2[i]) || - (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { - diffs++; - } - } - return diffs + lengthDiff; - } + moment.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; - function normalizeUnits(units) { - if (units) { - var lowered = units.toLowerCase().replace(/(.)s$/, '$1'); - units = unitAliases[units] || camelFunctions[lowered] || lowered; - } - return units; - } + moment.isDate = isDate; - function normalizeObjectUnits(inputObject) { - var normalizedInput = {}, - normalizedProp, - prop; + /************************************ + Moment Prototype + ************************************/ - for (prop in inputObject) { - if (hasOwnProp(inputObject, prop)) { - normalizedProp = normalizeUnits(prop); - if (normalizedProp) { - normalizedInput[normalizedProp] = inputObject[prop]; - } - } - } - return normalizedInput; - } + extend(moment.fn = Moment.prototype, { - function makeList(field) { - var count, setter; + clone : function () { + return moment(this); + }, - if (field.indexOf('week') === 0) { - count = 7; - setter = 'day'; - } - else if (field.indexOf('month') === 0) { - count = 12; - setter = 'month'; - } - else { - return; - } + valueOf : function () { + return +this._d - ((this._offset || 0) * 60000); + }, - moment[field] = function (format, index) { - var i, getter, - method = moment._locale[field], - results = []; + unix : function () { + return Math.floor(+this / 1000); + }, - if (typeof format === 'number') { - index = format; - format = undefined; - } + toString : function () { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + }, - getter = function (i) { - var m = moment().utc().set(setter, i); - return method.call(moment._locale, m, format || ''); - }; + toDate : function () { + return this._offset ? new Date(+this) : this._d; + }, - if (index != null) { - return getter(index); - } - else { - for (i = 0; i < count; i++) { - results.push(getter(i)); + toISOString : function () { + var m = moment(this).utc(); + if (0 < m.year() && m.year() <= 9999) { + if ('function' === typeof Date.prototype.toISOString) { + // native implementation is ~50x faster, use it when we can + return this.toDate().toISOString(); + } else { + return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); } - return results; + } else { + return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); } - }; - } + }, - function toInt(argumentForCoercion) { - var coercedNumber = +argumentForCoercion, - value = 0; + toArray : function () { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hours(), + m.minutes(), + m.seconds(), + m.milliseconds() + ]; + }, - if (coercedNumber !== 0 && isFinite(coercedNumber)) { - if (coercedNumber >= 0) { - value = Math.floor(coercedNumber); - } else { - value = Math.ceil(coercedNumber); + isValid : function () { + return isValid(this); + }, + + isDSTShifted : function () { + if (this._a) { + return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; } - } - return value; - } + return false; + }, - function daysInMonth(year, month) { - return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); - } + parsingFlags : function () { + return extend({}, this._pf); + }, - function weeksInYear(year, dow, doy) { - return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week; - } + invalidAt: function () { + return this._pf.overflow; + }, - function daysInYear(year) { - return isLeapYear(year) ? 366 : 365; - } + utc : function (keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + }, - function isLeapYear(year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; - } + local : function (keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; - function checkOverflow(m) { - var overflow; - if (m._a && m._pf.overflow === -2) { - overflow = - m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH : - m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE : - m._a[HOUR] < 0 || m._a[HOUR] > 24 || - (m._a[HOUR] === 24 && (m._a[MINUTE] !== 0 || - m._a[SECOND] !== 0 || - m._a[MILLISECOND] !== 0)) ? HOUR : - m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE : - m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND : - m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND : - -1; + if (keepLocalTime) { + this.subtract(this._dateUtcOffset(), 'm'); + } + } + return this; + }, - if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { - overflow = DATE; + format : function (inputString) { + var output = formatMoment(this, inputString || moment.defaultFormat); + return this.localeData().postformat(output); + }, + + add : createAdder(1, 'add'), + + subtract : createAdder(-1, 'subtract'), + + diff : function (input, units, asFloat) { + var that = makeAs(input, this), + zoneDiff = (that.utcOffset() - this.utcOffset()) * 6e4, + anchor, diff, output, daysAdjust; + + units = normalizeUnits(units); + + if (units === 'year' || units === 'month' || units === 'quarter') { + output = monthDiff(this, that); + if (units === 'quarter') { + output = output / 3; + } else if (units === 'year') { + output = output / 12; + } + } else { + diff = this - that; + output = units === 'second' ? diff / 1e3 : // 1000 + units === 'minute' ? diff / 6e4 : // 1000 * 60 + units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60 + units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst + units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst + diff; } + return asFloat ? output : absRound(output); + }, - m._pf.overflow = overflow; - } - } + from : function (time, withoutSuffix) { + return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + }, - function isValid(m) { - if (m._isValid == null) { - m._isValid = !isNaN(m._d.getTime()) && - m._pf.overflow < 0 && - !m._pf.empty && - !m._pf.invalidMonth && - !m._pf.nullInput && - !m._pf.invalidFormat && - !m._pf.userInvalidated; + fromNow : function (withoutSuffix) { + return this.from(moment(), withoutSuffix); + }, - if (m._strict) { - m._isValid = m._isValid && - m._pf.charsLeftOver === 0 && - m._pf.unusedTokens.length === 0 && - m._pf.bigHour === undefined; - } - } - return m._isValid; - } + calendar : function (time) { + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're locat/utc/offset + // or not. + var now = time || moment(), + sod = makeAs(now, this).startOf('day'), + diff = this.diff(sod, 'days', true), + format = diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; + return this.format(this.localeData().calendar(format, this, moment(now))); + }, - function normalizeLocale(key) { - return key ? key.toLowerCase().replace('_', '-') : key; - } + isLeapYear : function () { + return isLeapYear(this.year()); + }, - // 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; + isDST : function () { + return (this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset()); + }, - 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--; + 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'); + } else { + return day; } - 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]; - } + month : makeAccessor('Month', true), - // Return a moment from input, that is local/utc/utcOffset equivalent to - // model. - function makeAs(input, model) { - var res, diff; - if (model._isUTC) { - res = model.clone(); - diff = (moment.isMoment(input) || isDate(input) ? - +input : +moment(input)) - (+res); - // Use low-level api, because this fn is low-level api. - res._d.setTime(+res._d + diff); - moment.updateOffset(res, false); - return res; - } else { - return moment(input).local(); - } - } + startOf : function (units) { + units = normalizeUnits(units); + // the following switch intentionally omits break keywords + // to utilize falling through the cases. + switch (units) { + case 'year': + this.month(0); + /* falls through */ + case 'quarter': + case 'month': + this.date(1); + /* falls through */ + case 'week': + case 'isoWeek': + case 'day': + this.hours(0); + /* falls through */ + case 'hour': + this.minutes(0); + /* falls through */ + case 'minute': + this.seconds(0); + /* falls through */ + case 'second': + this.milliseconds(0); + /* falls through */ + } - /************************************ - Locale - ************************************/ + // weeks are a special case + if (units === 'week') { + this.weekday(0); + } else if (units === 'isoWeek') { + this.isoWeekday(1); + } + // quarters are also special + if (units === 'quarter') { + this.month(Math.floor(this.month() / 3) * 3); + } - extend(Locale.prototype, { + return this; + }, - set : function (config) { - var prop, i; - for (i in config) { - prop = config[i]; - if (typeof prop === 'function') { - this[i] = prop; - } else { - this['_' + i] = prop; - } + endOf: function (units) { + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond') { + return this; } - // Lenient ordinal parsing accepts just a number in addition to - // number + (possibly) stuff coming from _ordinalParseLenient. - this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + /\d{1,2}/.source); + return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); }, - _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), - months : function (m) { - return this._months[m.month()]; + isAfter: function (input, units) { + var inputMs; + units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this > +input; + } else { + inputMs = moment.isMoment(input) ? +input : +moment(input); + return inputMs < +this.clone().startOf(units); + } }, - _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - monthsShort : function (m) { - return this._monthsShort[m.month()]; + isBefore: function (input, units) { + var inputMs; + units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this < +input; + } else { + inputMs = moment.isMoment(input) ? +input : +moment(input); + return +this.clone().endOf(units) < inputMs; + } }, - monthsParse : function (monthName, format, strict) { - var i, mom, regex; + isBetween: function (from, to, units) { + return this.isAfter(from, units) && this.isBefore(to, units); + }, - if (!this._monthsParse) { - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; + isSame: function (input, units) { + var inputMs; + units = normalizeUnits(units || 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this === +input; + } else { + inputMs = +moment(input); + return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units)); } + }, - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = moment.utc([2000, i]); - if (strict && !this._longMonthsParse[i]) { - this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); - this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); + min: deprecate( + '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; + } + ), + + max: deprecate( + '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; } - if (!strict && !this._monthsParse[i]) { - regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); - this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + ), + + zone : deprecate( + 'moment().zone is deprecated, use moment().utcOffset instead. ' + + 'https://github.com/moment/moment/issues/1779', + function (input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } } - // test the regex - if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { - return i; - } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { - return i; - } else if (!strict && this._monthsParse[i].test(monthName)) { - return i; + ), + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +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. + utcOffset : function (input, keepLocalTime) { + var offset = this._offset || 0, + localAdjust; + if (input != null) { + if (typeof input === 'string') { + input = utcOffsetFromString(input); + } + if (Math.abs(input) < 16) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = this._dateUtcOffset(); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addOrSubtractDurationFromMoment(this, + moment.duration(input - offset, 'm'), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + moment.updateOffset(this, true); + this._changeInProgress = null; + } } + + return this; + } else { + return this._isUTC ? offset : this._dateUtcOffset(); } }, - _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), - weekdays : function (m) { - return this._weekdays[m.day()]; + isLocal : function () { + return !this._isUTC; }, - _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysShort : function (m) { - return this._weekdaysShort[m.day()]; + isUtcOffset : function () { + return this._isUTC; }, - _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - weekdaysMin : function (m) { - return this._weekdaysMin[m.day()]; + isUtc : function () { + return this._isUTC && this._offset === 0; }, - weekdaysParse : function (weekdayName) { - var i, mom, regex; + zoneAbbr : function () { + return this._isUTC ? 'UTC' : ''; + }, - if (!this._weekdaysParse) { - this._weekdaysParse = []; - } + zoneName : function () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + }, - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - if (!this._weekdaysParse[i]) { - mom = moment([2000, 1]).day(i); - regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); - this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if (this._weekdaysParse[i].test(weekdayName)) { - return i; - } + parseZone : function () { + if (this._tzm) { + this.utcOffset(this._tzm); + } else if (typeof this._i === 'string') { + this.utcOffset(utcOffsetFromString(this._i)); } + return this; }, - _longDateFormat : { - LTS : 'h:mm:ss A', - 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]; - if (!output && this._longDateFormat[key.toUpperCase()]) { - output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) { - return val.slice(1); - }); - this._longDateFormat[key] = output; + hasAlignedHourOffset : function (input) { + if (!input) { + input = 0; + } + else { + input = moment(input).utcOffset(); } - return output; - }, - isPM : function (input) { - // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays - // Using charAt should be more compatible. - return ((input + '').toLowerCase().charAt(0) === 'p'); + return (this.utcOffset() - input) % 60 === 0; }, - _meridiemParse : /[ap]\.?m?\.?/i, - meridiem : function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'pm' : 'PM'; - } else { - return isLower ? 'am' : 'AM'; - } + daysInMonth : function () { + return daysInMonth(this.year(), this.month()); }, + 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'); + }, - _calendar : { - sameDay : '[Today at] LT', - nextDay : '[Tomorrow at] LT', - nextWeek : 'dddd [at] LT', - lastDay : '[Yesterday at] LT', - lastWeek : '[Last] dddd [at] LT', - sameElse : 'L' + quarter : function (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); }, - calendar : function (key, mom, now) { - var output = this._calendar[key]; - return typeof output === 'function' ? output.apply(mom, [now]) : output; + + 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'); }, - _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' + isoWeekYear : function (input) { + var year = weekOfYear(this, 1, 4).year; + return input == null ? year : this.add((input - year), 'y'); }, - 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); + week : function (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); }, - pastFuture : function (diff, output) { - var format = this._relativeTime[diff > 0 ? 'future' : 'past']; - return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); + isoWeek : function (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); }, - ordinal : function (number) { - return this._ordinal.replace('%d', number); + weekday : function (input) { + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); }, - _ordinal : '%d', - _ordinalParse : /\d{1,2}/, - preparse : function (string) { - return string; + isoWeekday : function (input) { + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7); }, - postformat : function (string) { - return string; + isoWeeksInYear : function () { + return weeksInYear(this.year(), 1, 4); }, - week : function (mom) { - return weekOfYear(mom, this._week.dow, this._week.doy).week; + weeksInYear : function () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); }, - _week : { - dow : 0, // Sunday is the first day of the week. - doy : 6 // The week that contains Jan 1st is the first week of the year. + get : function (units) { + units = normalizeUnits(units); + return this[units](); }, - firstDayOfWeek : function () { - return this._week.dow; + set : function (units, value) { + var unit; + if (typeof units === 'object') { + for (unit in units) { + this.set(unit, units[unit]); + } + } + else { + units = normalizeUnits(units); + if (typeof this[units] === 'function') { + this[units](value); + } + } + return this; }, - firstDayOfYear : function () { - return this._week.doy; + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + locale : function (key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = moment.localeData(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } }, - _invalidDate: 'Invalid date', - invalidDate: function () { - return this._invalidDate; - } - }); - - /************************************ - Formatting - ************************************/ + lang : deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ), + localeData : function () { + return this._locale; + }, - function removeFormattingTokens(input) { - if (input.match(/\[[\s\S]/)) { - return input.replace(/^\[|\]$/g, ''); + _dateUtcOffset : 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; } - return input.replace(/\\/g, ''); - } - function makeFormatFunction(format) { - var array = format.match(formattingTokens), i, length; + }); - for (i = 0, length = array.length; i < length; i++) { - if (formatTokenFunctions[array[i]]) { - array[i] = formatTokenFunctions[array[i]]; - } else { - array[i] = removeFormattingTokens(array[i]); + function rawMonthSetter(mom, value) { + var dayOfMonth; + + // TODO: Move this out of here! + if (typeof value === 'string') { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (typeof value !== 'number') { + return mom; } } - return function (mom) { - var output = ''; - for (i = 0; i < length; i++) { - output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; - } - return output; - }; + dayOfMonth = Math.min(mom.date(), + daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; } - // format date using native date object - function formatMoment(m, format) { - if (!m.isValid()) { - return m.localeData().invalidDate(); - } - - format = expandFormat(format, m.localeData()); + function rawGetter(mom, unit) { + return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); + } - if (!formatFunctions[format]) { - formatFunctions[format] = makeFormatFunction(format); + function rawSetter(mom, unit, value) { + if (unit === 'Month') { + return rawMonthSetter(mom, value); + } else { + return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); } - - return formatFunctions[format](m); } - function expandFormat(format, locale) { - var i = 5; + function makeAccessor(unit, keepTime) { + return function (value) { + if (value != null) { + rawSetter(this, unit, value); + moment.updateOffset(this, keepTime); + return this; + } else { + return rawGetter(this, unit); + } + }; + } - function replaceLongDateFormatTokens(input) { - return locale.longDateFormat(input) || input; - } + moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false); + moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false); + moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false); + // Setting the hour should keep the time, because the user explicitly + // specified which hour he wants. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + 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.year = makeAccessor('FullYear', true); + moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true)); - localFormattingTokens.lastIndex = 0; - while (i >= 0 && localFormattingTokens.test(format)) { - format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); - localFormattingTokens.lastIndex = 0; - i -= 1; - } + // add plural methods + moment.fn.days = moment.fn.day; + moment.fn.months = moment.fn.month; + moment.fn.weeks = moment.fn.week; + moment.fn.isoWeeks = moment.fn.isoWeek; + moment.fn.quarters = moment.fn.quarter; - return format; - } + // add aliased format methods + moment.fn.toJSON = moment.fn.toISOString; + // alias isUtc for dev-friendliness + moment.fn.isUTC = moment.fn.isUtc; /************************************ - Parsing + Duration Prototype ************************************/ - // get the regex to find the next token - function getParseRegexForToken(token, config) { - var a, strict = config._strict; - switch (token) { - case 'Q': - return parseTokenOneDigit; - case 'DDDD': - return parseTokenThreeDigits; - case 'YYYY': - case 'GGGG': - case 'gggg': - return strict ? parseTokenFourDigits : parseTokenOneToFourDigits; - case 'Y': - case 'G': - case 'g': - return parseTokenSignedNumber; - case 'YYYYYY': - case 'YYYYY': - case 'GGGGG': - case 'ggggg': - return strict ? parseTokenSixDigits : parseTokenOneToSixDigits; - case 'S': - if (strict) { - return parseTokenOneDigit; - } - /* falls through */ - case 'SS': - if (strict) { - return parseTokenTwoDigits; - } - /* falls through */ - case 'SSS': - if (strict) { - return parseTokenThreeDigits; - } - /* falls through */ - case 'DDD': - return parseTokenOneToThreeDigits; - case 'MMM': - case 'MMMM': - case 'dd': - case 'ddd': - case 'dddd': - return parseTokenWord; - case 'a': - case 'A': - return config._locale._meridiemParse; - case 'x': - return parseTokenOffsetMs; - case 'X': - return parseTokenTimestampMs; - case 'Z': - case 'ZZ': - return parseTokenTimezone; - case 'T': - return parseTokenT; - case 'SSSS': - return parseTokenDigits; - case 'MM': - case 'DD': - case 'YY': - case 'GG': - case 'gg': - case 'HH': - case 'hh': - case 'mm': - case 'ss': - case 'ww': - case 'WW': - return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits; - case 'M': - case 'D': - case 'd': - case 'H': - case 'h': - case 'm': - case 's': - case 'w': - case 'W': - case 'e': - case 'E': - return parseTokenOneOrTwoDigits; - case 'Do': - return strict ? config._locale._ordinalParse : config._locale._ordinalParseLenient; - default : - a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i')); - return a; - } + function daysToYears (days) { + // 400 years have 146097 days (taking into account leap year rules) + return days * 400 / 146097; } - function utcOffsetFromString(string) { - string = string || ''; - var possibleTzMatches = (string.match(parseTokenTimezone) || []), - tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [], - parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0], - minutes = +(parts[1] * 60) + toInt(parts[2]); - - return parts[0] === '+' ? minutes : -minutes; + function yearsToDays (years) { + // years * 365 + absRound(years / 4) - + // absRound(years / 100) + absRound(years / 400); + return years * 146097 / 400; } - // function to convert string input to date - function addTimeToArrayFromToken(token, input, config) { - var a, datePartArray = config._a; - - switch (token) { - // QUARTER - case 'Q': - if (input != null) { - datePartArray[MONTH] = (toInt(input) - 1) * 3; - } - break; - // MONTH - case 'M' : // fall through to MM - case 'MM' : - if (input != null) { - datePartArray[MONTH] = toInt(input) - 1; - } - break; - case 'MMM' : // fall through to MMMM - case 'MMMM' : - a = config._locale.monthsParse(input, token, config._strict); - // if we didn't find a month name, mark the date as invalid. - if (a != null) { - datePartArray[MONTH] = a; - } else { - config._pf.invalidMonth = input; - } - break; - // DAY OF MONTH - case 'D' : // fall through to DD - case 'DD' : - if (input != null) { - datePartArray[DATE] = toInt(input); - } - break; - case 'Do' : - if (input != null) { - datePartArray[DATE] = toInt(parseInt( - input.match(/\d{1,2}/)[0], 10)); - } - break; - // DAY OF YEAR - case 'DDD' : // fall through to DDDD - case 'DDDD' : - if (input != null) { - config._dayOfYear = toInt(input); - } - - break; - // YEAR - case 'YY' : - datePartArray[YEAR] = moment.parseTwoDigitYear(input); - break; - case 'YYYY' : - case 'YYYYY' : - case 'YYYYYY' : - datePartArray[YEAR] = toInt(input); - break; - // AM / PM - case 'a' : // fall through to A - case 'A' : - config._meridiem = input; - // config._isPm = config._locale.isPM(input); - break; - // HOUR - case 'h' : // fall through to hh - case 'hh' : - config._pf.bigHour = true; - /* falls through */ - case 'H' : // fall through to HH - case 'HH' : - datePartArray[HOUR] = toInt(input); - break; - // MINUTE - case 'm' : // fall through to mm - case 'mm' : - datePartArray[MINUTE] = toInt(input); - break; - // SECOND - case 's' : // fall through to ss - case 'ss' : - datePartArray[SECOND] = toInt(input); - break; - // MILLISECOND - case 'S' : - case 'SS' : - case 'SSS' : - case 'SSSS' : - datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000); - break; - // UNIX OFFSET (MILLISECONDS) - case 'x': - config._d = new Date(toInt(input)); - break; - // UNIX TIMESTAMP WITH MS - case 'X': - config._d = new Date(parseFloat(input) * 1000); - break; - // TIMEZONE - case 'Z' : // fall through to ZZ - case 'ZZ' : - config._useUTC = true; - config._tzm = utcOffsetFromString(input); - break; - // WEEKDAY - human - case 'dd': - case 'ddd': - case 'dddd': - a = config._locale.weekdaysParse(input); - // if we didn't get a weekday name, mark the date as invalid - if (a != null) { - config._w = config._w || {}; - config._w['d'] = a; - } else { - config._pf.invalidWeekday = input; - } - break; - // WEEK, WEEK DAY - numeric - case 'w': - case 'ww': - case 'W': - case 'WW': - case 'd': - case 'e': - case 'E': - token = token.substr(0, 1); - /* falls through */ - case 'gggg': - case 'GGGG': - case 'GGGGG': - token = token.substr(0, 2); - if (input) { - config._w = config._w || {}; - config._w[token] = toInt(input); - } - break; - case 'gg': - case 'GG': - config._w = config._w || {}; - config._w[token] = moment.parseTwoDigitYear(input); - } - } + extend(moment.duration.fn = Duration.prototype, { - function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp; + _bubble : function () { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, minutes, hours, years = 0; - w = config._w; - if (w.GG != null || w.W != null || w.E != null) { - dow = 1; - doy = 4; + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; - // TODO: We need to take the current isoWeekYear, but that depends on - // how we interpret now (local, utc, fixed offset). So create - // a now version of current config (take local/utc/offset flags, and - // create now). - weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year); - week = dfl(w.W, 1); - weekday = dfl(w.E, 1); - } else { - dow = config._locale._week.dow; - doy = config._locale._week.doy; + seconds = absRound(milliseconds / 1000); + data.seconds = seconds % 60; - weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year); - week = dfl(w.w, 1); + minutes = absRound(seconds / 60); + data.minutes = minutes % 60; - if (w.d != null) { - // weekday -- low day numbers are considered next week - weekday = w.d; - if (weekday < dow) { - ++week; - } - } else if (w.e != null) { - // local weekday -- counting starts from begining of week - weekday = w.e + dow; - } else { - // default to begining of week - weekday = dow; - } - } - temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow); + hours = absRound(minutes / 60); + data.hours = hours % 24; - config._a[YEAR] = temp.year; - config._dayOfYear = temp.dayOfYear; - } + days += absRound(hours / 24); - // convert an array to a date. - // the array should mirror the parameters below - // note: all values past the year are optional and will default to the lowest possible value. - // [year, month, day , hour, minute, second, millisecond] - function dateFromConfig(config) { - var i, date, input = [], currentDate, yearToUse; + // Accurately convert days to years, assume start from year 0. + years = absRound(daysToYears(days)); + days -= absRound(yearsToDays(years)); - if (config._d) { - return; - } + // 30 days to a month + // TODO (iskren): Use anchor date (like 1st Jan) to compute this. + months += absRound(days / 30); + days %= 30; - currentDate = currentDateArray(config); + // 12 months -> 1 year + years += absRound(months / 12); + months %= 12; - //compute day of the year from weeks and weekdays - if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { - dayOfYearFromWeekInfo(config); - } + data.days = days; + data.months = months; + data.years = years; + }, - //if the day of the year is set, figure out what it is - if (config._dayOfYear) { - yearToUse = dfl(config._a[YEAR], currentDate[YEAR]); + abs : function () { + this._milliseconds = Math.abs(this._milliseconds); + this._days = Math.abs(this._days); + this._months = Math.abs(this._months); - if (config._dayOfYear > daysInYear(yearToUse)) { - config._pf._overflowDayOfYear = true; - } + 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); - date = makeUTCDate(yearToUse, 0, config._dayOfYear); - config._a[MONTH] = date.getUTCMonth(); - config._a[DATE] = date.getUTCDate(); - } + return this; + }, - // Default to current date. - // * if no year, month, day of month are given, default to today - // * if day of month is given, default month and year - // * if month is given, default only year - // * if year is given, don't default anything - for (i = 0; i < 3 && config._a[i] == null; ++i) { - config._a[i] = input[i] = currentDate[i]; - } + weeks : function () { + return absRound(this.days() / 7); + }, - // Zero out whatever was not defaulted, including time - for (; i < 7; i++) { - config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; - } + valueOf : function () { + return this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6; + }, - // Check for 24:00:00.000 - if (config._a[HOUR] === 24 && - config._a[MINUTE] === 0 && - config._a[SECOND] === 0 && - config._a[MILLISECOND] === 0) { - config._nextDay = true; - config._a[HOUR] = 0; - } + humanize : function (withSuffix) { + var output = relativeTime(this, !withSuffix, this.localeData()); - config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input); - // Apply timezone offset from input. The actual utcOffset can be changed - // with parseZone. - if (config._tzm != null) { - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); - } + if (withSuffix) { + output = this.localeData().pastFuture(+this, output); + } - if (config._nextDay) { - config._a[HOUR] = 24; - } - } + return this.localeData().postformat(output); + }, - function dateFromObject(config) { - var normalizedInput; + add : function (input, val) { + // supports only 2.0-style add(1, 's') or add(moment) + var dur = moment.duration(input, val); - if (config._d) { - return; - } + this._milliseconds += dur._milliseconds; + this._days += dur._days; + this._months += dur._months; - normalizedInput = normalizeObjectUnits(config._i); - config._a = [ - normalizedInput.year, - normalizedInput.month, - normalizedInput.day || normalizedInput.date, - normalizedInput.hour, - normalizedInput.minute, - normalizedInput.second, - normalizedInput.millisecond - ]; + this._bubble(); - dateFromConfig(config); - } + return this; + }, - function currentDateArray(config) { - var now = new Date(); - if (config._useUTC) { - return [ - now.getUTCFullYear(), - now.getUTCMonth(), - now.getUTCDate() - ]; - } else { - return [now.getFullYear(), now.getMonth(), now.getDate()]; - } - } + subtract : function (input, val) { + var dur = moment.duration(input, val); - // date from string and format string - function makeDateFromStringAndFormat(config) { - if (config._f === moment.ISO_8601) { - parseISO(config); - return; - } + this._milliseconds -= dur._milliseconds; + this._days -= dur._days; + this._months -= dur._months; - config._a = []; - config._pf.empty = true; + this._bubble(); - // This array is used to make a Date, either with `new Date` or `Date.UTC` - var string = '' + config._i, - i, parsedInput, tokens, token, skipped, - stringLength = string.length, - totalParsedInputLength = 0; + return this; + }, - tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + get : function (units) { + units = normalizeUnits(units); + return this[units.toLowerCase() + 's'](); + }, - for (i = 0; i < tokens.length; i++) { - token = tokens[i]; - parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; - if (parsedInput) { - skipped = string.substr(0, string.indexOf(parsedInput)); - if (skipped.length > 0) { - config._pf.unusedInput.push(skipped); - } - string = string.slice(string.indexOf(parsedInput) + parsedInput.length); - totalParsedInputLength += parsedInput.length; - } - // don't parse if it's not a known token - if (formatTokenFunctions[token]) { - if (parsedInput) { - config._pf.empty = false; - } - else { - config._pf.unusedTokens.push(token); + 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 + Math.round(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); } - addTimeToArrayFromToken(token, parsedInput, config); } - else if (config._strict && !parsedInput) { - config._pf.unusedTokens.push(token); - } - } + }, - // add remaining unparsed input length to the string - config._pf.charsLeftOver = stringLength - totalParsedInputLength; - if (string.length > 0) { - config._pf.unusedInput.push(string); - } + lang : moment.fn.lang, + locale : moment.fn.locale, - // clear _12h flag if hour is <= 12 - if (config._pf.bigHour === true && config._a[HOUR] <= 12) { - config._pf.bigHour = undefined; - } - // handle meridiem - config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], - config._meridiem); - dateFromConfig(config); - checkOverflow(config); - } + toIsoString : deprecate( + 'toIsoString() is deprecated. Please use toISOString() instead ' + + '(notice the capitals)', + function () { + return this.toISOString(); + } + ), - function unescapeFormat(s) { - return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { - return p1 || p2 || p3 || p4; - }); - } + 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()), + days = Math.abs(this.days()), + hours = Math.abs(this.hours()), + minutes = Math.abs(this.minutes()), + seconds = Math.abs(this.seconds() + this.milliseconds() / 1000); - // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript - function regexpEscape(s) { - return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); - } + if (!this.asSeconds()) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } - // date from string and array of format strings - function makeDateFromStringAndArray(config) { - var tempConfig, - bestMoment, + return (this.asSeconds() < 0 ? '-' : '') + + 'P' + + (years ? years + 'Y' : '') + + (months ? months + 'M' : '') + + (days ? days + 'D' : '') + + ((hours || minutes || seconds) ? 'T' : '') + + (hours ? hours + 'H' : '') + + (minutes ? minutes + 'M' : '') + + (seconds ? seconds + 'S' : ''); + }, - scoreToBeat, - i, - currentScore; + localeData : function () { + return this._locale; + }, - if (config._f.length === 0) { - config._pf.invalidFormat = true; - config._d = new Date(NaN); - return; + toJSON : function () { + return this.toISOString(); } + }); - for (i = 0; i < config._f.length; i++) { - currentScore = 0; - tempConfig = copyConfig({}, config); - if (config._useUTC != null) { - tempConfig._useUTC = config._useUTC; - } - tempConfig._pf = defaultParsingFlags(); - tempConfig._f = config._f[i]; - makeDateFromStringAndFormat(tempConfig); + moment.duration.fn.toString = moment.duration.fn.toISOString; - if (!isValid(tempConfig)) { - continue; - } + function makeDurationGetter(name) { + moment.duration.fn[name] = function () { + return this._data[name]; + }; + } - // if there is any input that was not parsed add a penalty for that format - currentScore += tempConfig._pf.charsLeftOver; + for (i in unitMillisecondFactors) { + if (hasOwnProp(unitMillisecondFactors, i)) { + makeDurationGetter(i.toLowerCase()); + } + } - //or tokens - currentScore += tempConfig._pf.unusedTokens.length * 10; + 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'); + }; + moment.duration.fn.asMonths = function () { + return this.as('M'); + }; + moment.duration.fn.asYears = function () { + return this.as('y'); + }; - tempConfig._pf.score = currentScore; + /************************************ + Default Locale + ************************************/ - if (scoreToBeat == null || currentScore < scoreToBeat) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - } + + // Set default locale, other locale will inherit from English. + moment.locale('en', { + ordinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (toInt(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; } + }); - extend(config, bestMoment || tempConfig); - } + /* EMBED_LOCALES */ - // date from iso format - function parseISO(config) { - var i, l, - string = config._i, - match = isoRegex.exec(string); + /************************************ + Exposing Moment + ************************************/ - if (match) { - 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] || ' '); - break; - } - } - for (i = 0, l = isoTimes.length; i < l; i++) { - if (isoTimes[i][1].exec(string)) { - config._f += isoTimes[i][0]; - break; - } - } - if (string.match(parseTokenTimezone)) { - config._f += 'Z'; - } - makeDateFromStringAndFormat(config); + function makeGlobal(shouldDeprecate) { + /*global ender:false */ + if (typeof ender !== 'undefined') { + return; + } + oldGlobalMoment = globalScope.moment; + if (shouldDeprecate) { + globalScope.moment = deprecate( + 'Accessing Moment through the global scope is ' + + 'deprecated, and will be removed in an upcoming ' + + 'release.', + moment); } else { - config._isValid = false; + globalScope.moment = moment; } } - // date from iso format or fallback - function makeDateFromString(config) { - parseISO(config); - if (config._isValid === false) { - delete config._isValid; - moment.createFromInputFallback(config); - } - } + // CommonJS module is defined + if (hasModule) { + module.exports = moment; + } else if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, module) { + if (module.config && module.config() && module.config().noGlobal === true) { + // release the global variable + globalScope.moment = oldGlobalMoment; + } - function map(arr, fn) { - var res = [], i; - for (i = 0; i < arr.length; ++i) { - res.push(fn(arr[i], i)); - } - return res; + return moment; + }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + makeGlobal(true); + } else { + makeGlobal(); } + }).call(this); - function makeDateFromInput(config) { - var input = config._i, matched; - if (input === undefined) { - config._d = new Date(); - } else if (isDate(input)) { - config._d = new Date(+input); - } else if ((matched = aspNetJsonRegex.exec(input)) !== null) { - 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); - }); - dateFromConfig(config); - } else if (typeof(input) === 'object') { - dateFromObject(config); - } else if (typeof(input) === 'number') { - // from milliseconds - config._d = new Date(input); - } else { - moment.createFromInputFallback(config); - } - } + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(71)(module))) - function makeDate(y, m, d, h, M, s, ms) { - //can't just apply() to create a date: - //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply - var date = new Date(y, m, d, h, M, s, ms); +/***/ }, +/* 59 */ +/***/ function(module, exports, __webpack_require__) { - //the date constructor doesn't accept years < 1970 - if (y < 1970) { - date.setFullYear(y); - } - return date; - } + var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20 + * http://eightmedia.github.io/hammer.js + * + * Copyright (c) 2014 Jorik Tangelder ; + * Licensed under the MIT license */ - function makeUTCDate(y) { - var date = new Date(Date.UTC.apply(null, arguments)); - if (y < 1970) { - date.setUTCFullYear(y); - } - return date; - } + (function(window, undefined) { + 'use strict'; - function parseWeekday(input, locale) { - if (typeof input === 'string') { - if (!isNaN(input)) { - input = parseInt(input, 10); - } - else { - input = locale.weekdaysParse(input); - if (typeof input !== 'number') { - return null; - } - } - } - return input; - } + /** + * @main + * @module hammer + * + * @class Hammer + * @static + */ - /************************************ - Relative Time - ************************************/ + /** + * Hammer, use this to create instances + * ```` + * var hammertime = new Hammer(myElement); + * ```` + * + * @method Hammer + * @param {HTMLElement} element + * @param {Object} [options={}] + * @return {Hammer.Instance} + */ + var Hammer = function Hammer(element, options) { + return new Hammer.Instance(element, options || {}); + }; + /** + * version, as defined in package.json + * the value will be set at each build + * @property VERSION + * @final + * @type {String} + */ + Hammer.VERSION = '1.1.3'; - // 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); + /** + * default settings. + * more settings are defined per gesture at `/gestures`. Each gesture can be disabled/enabled + * by setting it's name (like `swipe`) to false. + * You can set the defaults for all instances by changing this object before creating an instance. + * @example + * ```` + * Hammer.defaults.drag = false; + * Hammer.defaults.behavior.touchAction = 'pan-y'; + * delete Hammer.defaults.behavior.userSelect; + * ```` + * @property defaults + * @type {Object} + */ + Hammer.defaults = { + /** + * this setting object adds styles and attributes to the element to prevent the browser from doing + * its native behavior. The css properties are auto prefixed for the browsers when needed. + * @property defaults.behavior + * @type {Object} + */ + behavior: { + /** + * Disables text selection to improve the dragging gesture. When the value is `none` it also sets + * `onselectstart=false` for IE on the element. Mainly for desktop browsers. + * @property defaults.behavior.userSelect + * @type {String} + * @default 'none' + */ + userSelect: 'none', + + /** + * Specifies whether and how a given region can be manipulated by the user (for instance, by panning or zooming). + * Used by Chrome 35> and IE10>. By default this makes the element blocking any touch event. + * @property defaults.behavior.touchAction + * @type {String} + * @default: 'pan-y' + */ + touchAction: 'pan-y', + + /** + * Disables the default callout shown when you touch and hold a touch target. + * On iOS, when you touch and hold a touch target such as a link, Safari displays + * a callout containing information about the link. This property allows you to disable that callout. + * @property defaults.behavior.touchCallout + * @type {String} + * @default 'none' + */ + touchCallout: 'none', + + /** + * Specifies whether zooming is enabled. Used by IE10> + * @property defaults.behavior.contentZooming + * @type {String} + * @default 'none' + */ + contentZooming: 'none', + + /** + * Specifies that an entire element should be draggable instead of its contents. + * Mainly for desktop browsers. + * @property defaults.behavior.userDrag + * @type {String} + * @default 'none' + */ + userDrag: 'none', + + /** + * Overrides the highlight color shown when the user taps a link or a JavaScript + * clickable element in Safari on iPhone. This property obeys the alpha value, if specified. + * + * If you don't specify an alpha value, Safari on iPhone applies a default alpha value + * to the color. To disable tap highlighting, set the alpha value to 0 (invisible). + * If you set the alpha value to 1.0 (opaque), the element is not visible when tapped. + * @property defaults.behavior.tapHighlightColor + * @type {String} + * @default 'rgba(0,0,0,0)' + */ + tapHighlightColor: 'rgba(0,0,0,0)' } + }; - 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')), + /** + * hammer document where the base events are added at + * @property DOCUMENT + * @type {HTMLElement} + * @default window.document + */ + Hammer.DOCUMENT = document; - 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] || - years === 1 && ['y'] || ['yy', years]; + /** + * detect support for pointer events + * @property HAS_POINTEREVENTS + * @type {Boolean} + */ + Hammer.HAS_POINTEREVENTS = navigator.pointerEnabled || navigator.msPointerEnabled; - args[2] = withoutSuffix; - args[3] = +posNegDuration > 0; - args[4] = locale; - return substituteTimeAgo.apply({}, args); - } + /** + * detect support for touch events + * @property HAS_TOUCHEVENTS + * @type {Boolean} + */ + Hammer.HAS_TOUCHEVENTS = ('ontouchstart' in window); + /** + * detect mobile browsers + * @property IS_MOBILE + * @type {Boolean} + */ + Hammer.IS_MOBILE = /mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent); - /************************************ - Week of Year - ************************************/ + /** + * detect if we want to support mouseevents at all + * @property NO_MOUSEEVENTS + * @type {Boolean} + */ + Hammer.NO_MOUSEEVENTS = (Hammer.HAS_TOUCHEVENTS && Hammer.IS_MOBILE) || Hammer.HAS_POINTEREVENTS; + /** + * interval in which Hammer recalculates current velocity/direction/angle in ms + * @property CALCULATE_INTERVAL + * @type {Number} + * @default 25 + */ + Hammer.CALCULATE_INTERVAL = 25; - // firstDayOfWeek 0 = sun, 6 = sat - // the day of the week that starts the week - // (usually sunday or monday) - // firstDayOfWeekOfYear 0 = sun, 6 = sat - // the first week is the week that contains the first - // of this day of the week - // (eg. ISO weeks use thursday (4)) - function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) { - var end = firstDayOfWeekOfYear - firstDayOfWeek, - daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(), - adjustedMoment; + /** + * eventtypes per touchevent (start, move, end) are filled by `Event.determineEventTypes` on `setup` + * the object contains the DOM event names per type (`EVENT_START`, `EVENT_MOVE`, `EVENT_END`) + * @property EVENT_TYPES + * @private + * @writeOnce + * @type {Object} + */ + var EVENT_TYPES = {}; + /** + * direction strings, for safe comparisons + * @property DIRECTION_DOWN|LEFT|UP|RIGHT + * @final + * @type {String} + * @default 'down' 'left' 'up' 'right' + */ + var DIRECTION_DOWN = Hammer.DIRECTION_DOWN = 'down'; + var DIRECTION_LEFT = Hammer.DIRECTION_LEFT = 'left'; + var DIRECTION_UP = Hammer.DIRECTION_UP = 'up'; + var DIRECTION_RIGHT = Hammer.DIRECTION_RIGHT = 'right'; - if (daysToDayOfWeek > end) { - daysToDayOfWeek -= 7; - } + /** + * pointertype strings, for safe comparisons + * @property POINTER_MOUSE|TOUCH|PEN + * @final + * @type {String} + * @default 'mouse' 'touch' 'pen' + */ + var POINTER_MOUSE = Hammer.POINTER_MOUSE = 'mouse'; + var POINTER_TOUCH = Hammer.POINTER_TOUCH = 'touch'; + var POINTER_PEN = Hammer.POINTER_PEN = 'pen'; - if (daysToDayOfWeek < end - 7) { - daysToDayOfWeek += 7; - } + /** + * eventtypes + * @property EVENT_START|MOVE|END|RELEASE|TOUCH + * @final + * @type {String} + * @default 'start' 'change' 'move' 'end' 'release' 'touch' + */ + var EVENT_START = Hammer.EVENT_START = 'start'; + var EVENT_MOVE = Hammer.EVENT_MOVE = 'move'; + var EVENT_END = Hammer.EVENT_END = 'end'; + var EVENT_RELEASE = Hammer.EVENT_RELEASE = 'release'; + var EVENT_TOUCH = Hammer.EVENT_TOUCH = 'touch'; - adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd'); - return { - week: Math.ceil(adjustedMoment.dayOfYear() / 7), - year: adjustedMoment.year() - }; - } + /** + * if the window events are set... + * @property READY + * @writeOnce + * @type {Boolean} + * @default false + */ + Hammer.READY = false; - //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday - function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) { - var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear; + /** + * plugins namespace + * @property plugins + * @type {Object} + */ + Hammer.plugins = Hammer.plugins || {}; - d = d === 0 ? 7 : d; - weekday = weekday != null ? weekday : firstDayOfWeek; - daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0); - dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1; + /** + * gestures namespace + * see `/gestures` for the definitions + * @property gestures + * @type {Object} + */ + Hammer.gestures = Hammer.gestures || {}; - return { - year: dayOfYear > 0 ? year : year - 1, - dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear - }; + /** + * setup events to detect gestures on the document + * this function is called when creating an new instance + * @private + */ + function setup() { + if(Hammer.READY) { + return; } - /************************************ - Top Level Functions - ************************************/ - - function makeMoment(config) { - var input = config._i, - format = config._f, - res; + // find what eventtypes we add listeners to + Event.determineEventTypes(); - config._locale = config._locale || moment.localeData(config._l); + // Register all gestures inside Hammer.gestures + Utils.each(Hammer.gestures, function(gesture) { + Detection.register(gesture); + }); - if (input === null || (format === undefined && input === '')) { - return moment.invalid({nullInput: true}); - } + // Add touch events on the document + Event.onTouch(Hammer.DOCUMENT, EVENT_MOVE, Detection.detect); + Event.onTouch(Hammer.DOCUMENT, EVENT_END, Detection.detect); - if (typeof input === 'string') { - config._i = input = config._locale.preparse(input); - } + // Hammer is ready...! + Hammer.READY = true; + } - if (moment.isMoment(input)) { - return new Moment(input, true); - } else if (format) { - if (isArray(format)) { - makeDateFromStringAndArray(config); - } else { - makeDateFromStringAndFormat(config); + /** + * @module hammer + * + * @class Utils + * @static + */ + var Utils = Hammer.utils = { + /** + * extend method, could also be used for cloning when `dest` is an empty object. + * changes the dest object + * @method extend + * @param {Object} dest + * @param {Object} src + * @param {Boolean} [merge=false] do a merge + * @return {Object} dest + */ + extend: function extend(dest, src, merge) { + for(var key in src) { + if(!src.hasOwnProperty(key) || (dest[key] !== undefined && merge)) { + continue; } - } else { - makeDateFromInput(config); + dest[key] = src[key]; } + return dest; + }, - res = new Moment(config); - if (res._nextDay) { - // Adding is smart enough around DST - res.add(1, 'd'); - res._nextDay = undefined; - } + /** + * simple addEventListener wrapper + * @method on + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + */ + on: function on(element, type, handler) { + element.addEventListener(type, handler, false); + }, - return res; - } + /** + * simple removeEventListener wrapper + * @method off + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + */ + off: function off(element, type, handler) { + element.removeEventListener(type, handler, false); + }, - moment = function (input, format, locale, strict) { - var c; + /** + * forEach over arrays and objects + * @method each + * @param {Object|Array} obj + * @param {Function} iterator + * @param {any} iterator.item + * @param {Number} iterator.index + * @param {Object|Array} iterator.obj the source object + * @param {Object} context value to use as `this` in the iterator + */ + each: function each(obj, iterator, context) { + var i, len; - if (typeof(locale) === 'boolean') { - strict = locale; - locale = undefined; + // native forEach on arrays + if('forEach' in obj) { + obj.forEach(iterator, context); + // arrays + } else if(obj.length !== undefined) { + for(i = 0, len = obj.length; i < len; i++) { + if(iterator.call(context, obj[i], i, obj) === false) { + return; + } + } + // objects + } else { + for(i in obj) { + if(obj.hasOwnProperty(i) && + iterator.call(context, obj[i], i, obj) === false) { + return; + } + } } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c = {}; - c._isAMomentObject = true; - c._i = input; - c._f = format; - c._l = locale; - c._strict = strict; - c._isUTC = false; - c._pf = defaultParsingFlags(); - - return makeMoment(c); - }; - - 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 + (config._useUTC ? ' UTC' : '')); - } - ); + /** + * find if a string contains the string using indexOf + * @method inStr + * @param {String} src + * @param {String} find + * @return {Boolean} found + */ + inStr: function inStr(src, find) { + return src.indexOf(find) > -1; + }, - // 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. - // - // moments should either be an array of moment objects or an array, whose - // first element is an array of moment objects. - function pickBy(fn, moments) { - var res, i; - if (moments.length === 1 && isArray(moments[0])) { - moments = moments[0]; - } - if (!moments.length) { - return moment(); - } - res = moments[0]; - for (i = 1; i < moments.length; ++i) { - if (moments[i][fn](res)) { - res = moments[i]; + /** + * find if a array contains the object using indexOf or a simple polyfill + * @method inArray + * @param {String} src + * @param {String} find + * @return {Boolean|Number} false when not found, or the index + */ + inArray: function inArray(src, find) { + if(src.indexOf) { + var index = src.indexOf(find); + return (index === -1) ? false : index; + } else { + for(var i = 0, len = src.length; i < len; i++) { + if(src[i] === find) { + return i; + } } + return false; } - return res; - } - - moment.min = function () { - var args = [].slice.call(arguments, 0); - - return pickBy('isBefore', args); - }; - - moment.max = function () { - var args = [].slice.call(arguments, 0); - - return pickBy('isAfter', args); - }; + }, - // creating with utc - moment.utc = function (input, format, locale, strict) { - var c; + /** + * convert an array-like object (`arguments`, `touchlist`) to an array + * @method toArray + * @param {Object} obj + * @return {Array} + */ + toArray: function toArray(obj) { + return Array.prototype.slice.call(obj, 0); + }, - if (typeof(locale) === 'boolean') { - strict = locale; - locale = undefined; + /** + * find if a node is in the given parent + * @method hasParent + * @param {HTMLElement} node + * @param {HTMLElement} parent + * @return {Boolean} found + */ + hasParent: function hasParent(node, parent) { + while(node) { + if(node == parent) { + return true; + } + node = node.parentNode; } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c = {}; - c._isAMomentObject = true; - c._useUTC = true; - c._isUTC = true; - c._l = locale; - c._i = input; - c._f = format; - c._strict = strict; - c._pf = defaultParsingFlags(); - - return makeMoment(c).utc(); - }; - - // creating with unix timestamp (in seconds) - moment.unix = function (input) { - return moment(input * 1000); - }; + return false; + }, - // duration - moment.duration = function (input, key) { - var duration = input, - // matching against regexp is expensive, do it on demand - match = null, - sign, - ret, - parseIso, - diffRes; + /** + * get the center of all the touches + * @method getCenter + * @param {Array} touches + * @return {Object} center contains `pageX`, `pageY`, `clientX` and `clientY` properties + */ + getCenter: function getCenter(touches) { + var pageX = [], + pageY = [], + clientX = [], + clientY = [], + min = Math.min, + max = Math.max; - if (moment.isDuration(input)) { - duration = { - ms: input._milliseconds, - d: input._days, - M: input._months - }; - } else if (typeof input === 'number') { - duration = {}; - if (key) { - duration[key] = input; - } else { - duration.milliseconds = input; - } - } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) { - sign = (match[1] === '-') ? -1 : 1; - duration = { - y: 0, - d: toInt(match[DATE]) * sign, - h: toInt(match[HOUR]) * sign, - m: toInt(match[MINUTE]) * sign, - s: toInt(match[SECOND]) * sign, - ms: toInt(match[MILLISECOND]) * sign - }; - } else if (!!(match = isoDurationRegex.exec(input))) { - sign = (match[1] === '-') ? -1 : 1; - parseIso = function (inp) { - // We'd normally use ~~inp for this, but unfortunately it also - // converts floats to ints. - // inp may be undefined, so careful calling replace on it. - var res = inp && parseFloat(inp.replace(',', '.')); - // apply sign while we're at it - return (isNaN(res) ? 0 : res) * sign; - }; - duration = { - y: parseIso(match[2]), - M: parseIso(match[3]), - d: parseIso(match[4]), - h: parseIso(match[5]), - m: parseIso(match[6]), - s: parseIso(match[7]), - w: parseIso(match[8]) + // no need to loop when only one touch + if(touches.length === 1) { + return { + pageX: touches[0].pageX, + pageY: touches[0].pageY, + clientX: touches[0].clientX, + clientY: touches[0].clientY }; - } else if (duration == null) {// checks for null or undefined - duration = {}; - } 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); + Utils.each(touches, function(touch) { + pageX.push(touch.pageX); + pageY.push(touch.pageY); + clientX.push(touch.clientX); + clientY.push(touch.clientY); + }); + + return { + pageX: (min.apply(Math, pageX) + max.apply(Math, pageX)) / 2, + pageY: (min.apply(Math, pageY) + max.apply(Math, pageY)) / 2, + clientX: (min.apply(Math, clientX) + max.apply(Math, clientX)) / 2, + clientY: (min.apply(Math, clientY) + max.apply(Math, clientY)) / 2 + }; + }, - if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { - ret._locale = input._locale; - } + /** + * calculate the velocity between two points. unit is in px per ms. + * @method getVelocity + * @param {Number} deltaTime + * @param {Number} deltaX + * @param {Number} deltaY + * @return {Object} velocity `x` and `y` + */ + getVelocity: function getVelocity(deltaTime, deltaX, deltaY) { + return { + x: Math.abs(deltaX / deltaTime) || 0, + y: Math.abs(deltaY / deltaTime) || 0 + }; + }, - return ret; - }; + /** + * calculate the angle between two coordinates + * @method getAngle + * @param {Touch} touch1 + * @param {Touch} touch2 + * @return {Number} angle + */ + getAngle: function getAngle(touch1, touch2) { + var x = touch2.clientX - touch1.clientX, + y = touch2.clientY - touch1.clientY; - // version number - moment.version = VERSION; + return Math.atan2(y, x) * 180 / Math.PI; + }, - // default format - moment.defaultFormat = isoFormat; + /** + * do a small comparision to get the direction between two touches. + * @method getDirection + * @param {Touch} touch1 + * @param {Touch} touch2 + * @return {String} direction matches `DIRECTION_LEFT|RIGHT|UP|DOWN` + */ + getDirection: function getDirection(touch1, touch2) { + var x = Math.abs(touch1.clientX - touch2.clientX), + y = Math.abs(touch1.clientY - touch2.clientY); - // constant that refers to the ISO standard - moment.ISO_8601 = function () {}; + if(x >= y) { + return touch1.clientX - touch2.clientX > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return touch1.clientY - touch2.clientY > 0 ? DIRECTION_UP : DIRECTION_DOWN; + }, - // Plugins that add properties should also add the key here (null value), - // so we can properly clone ourselves. - moment.momentProperties = momentProperties; + /** + * calculate the distance between two touches + * @method getDistance + * @param {Touch}touch1 + * @param {Touch} touch2 + * @return {Number} distance + */ + getDistance: function getDistance(touch1, touch2) { + var x = touch2.clientX - touch1.clientX, + y = touch2.clientY - touch1.clientY; - // This function will be called whenever a moment is mutated. - // It is intended to keep the offset in sync with the timezone. - moment.updateOffset = function () {}; + return Math.sqrt((x * x) + (y * y)); + }, - // 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]; + /** + * calculate the scale factor between two touchLists + * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out + * @method getScale + * @param {Array} start array of touches + * @param {Array} end array of touches + * @return {Number} scale + */ + getScale: function getScale(start, end) { + // need two fingers... + if(start.length >= 2 && end.length >= 2) { + return this.getDistance(end[0], end[1]) / this.getDistance(start[0], start[1]); } - relativeTimeThresholds[threshold] = limit; - return true; - }; + return 1; + }, - moment.lang = deprecate( - 'moment.lang is deprecated. Use moment.locale instead.', - function (key, value) { - return moment.locale(key, value); + /** + * calculate the rotation degrees between two touchLists + * @method getRotation + * @param {Array} start array of touches + * @param {Array} end array of touches + * @return {Number} rotation + */ + getRotation: function getRotation(start, end) { + // need two fingers + if(start.length >= 2 && end.length >= 2) { + return this.getAngle(end[1], end[0]) - this.getAngle(start[1], start[0]); } - ); + return 0; + }, - // This function will load locale and then set the global locale. 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); + /** + * find out if the direction is vertical * + * @method isVertical + * @param {String} direction matches `DIRECTION_UP|DOWN` + * @return {Boolean} is_vertical + */ + isVertical: function isVertical(direction) { + return direction == DIRECTION_UP || direction == DIRECTION_DOWN; + }, + + /** + * set css properties with their prefixes + * @param {HTMLElement} element + * @param {String} prop + * @param {String} value + * @param {Boolean} [toggle=true] + * @return {Boolean} + */ + setPrefixedCss: function setPrefixedCss(element, prop, value, toggle) { + var prefixes = ['', 'Webkit', 'Moz', 'O', 'ms']; + prop = Utils.toCamelCase(prop); + + for(var i = 0; i < prefixes.length; i++) { + var p = prop; + // prefixes + if(prefixes[i]) { + p = prefixes[i] + p.slice(0, 1).toUpperCase() + p.slice(1); } - if (data) { - moment.duration._locale = moment._locale = data; + // test the style + if(p in element.style) { + element.style[p] = (toggle == null || toggle) && value || ''; + break; } } + }, - return moment._locale._abbr; - }; + /** + * toggle browser default behavior by setting css properties. + * `userSelect='none'` also sets `element.onselectstart` to false + * `userDrag='none'` also sets `element.ondragstart` to false + * + * @method toggleBehavior + * @param {HtmlElement} element + * @param {Object} props + * @param {Boolean} [toggle=true] + */ + toggleBehavior: function toggleBehavior(element, props, toggle) { + if(!props || !element || !element.style) { + return; + } - moment.defineLocale = function (name, values) { - if (values !== null) { - values.abbr = name; - if (!locales[name]) { - locales[name] = new Locale(); - } - locales[name].set(values); + // set the css properties + Utils.each(props, function(value, prop) { + Utils.setPrefixedCss(element, prop, value, toggle); + }); - // backwards compat for now: also set the locale - moment.locale(name); + var falseFn = toggle && function() { + return false; + }; - return locales[name]; - } else { - // useful for testing - delete locales[name]; - return null; + // also the disable onselectstart + if(props.userSelect == 'none') { + element.onselectstart = falseFn; } - }; - - moment.langData = deprecate( - 'moment.langData is deprecated. Use moment.localeData instead.', - function (key) { - return moment.localeData(key); + // and disable ondragstart + if(props.userDrag == 'none') { + element.ondragstart = falseFn; } - ); + }, - // returns locale data - moment.localeData = function (key) { - var locale; + /** + * convert a string with underscores to camelCase + * so prevent_default becomes preventDefault + * @param {String} str + * @return {String} camelCaseStr + */ + toCamelCase: function toCamelCase(str) { + return str.replace(/[_-]([a-z])/g, function(s) { + return s[1].toUpperCase(); + }); + } + }; - if (key && key._locale && key._locale._abbr) { - key = key._locale._abbr; - } - if (!key) { - return moment._locale; - } + /** + * @module hammer + */ + /** + * @class Event + * @static + */ + var Event = Hammer.event = { + /** + * when touch events have been fired, this is true + * this is used to stop mouse events + * @property prevent_mouseevents + * @private + * @type {Boolean} + */ + preventMouseEvents: false, - if (!isArray(key)) { - //short-circuit everything else - locale = loadLocale(key); - if (locale) { - return locale; + /** + * if EVENT_START has been fired + * @property started + * @private + * @type {Boolean} + */ + started: false, + + /** + * when the mouse is hold down, this is true + * @property should_detect + * @private + * @type {Boolean} + */ + shouldDetect: false, + + /** + * simple event binder with a hook and support for multiple types + * @method on + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + * @param {Function} [hook] + * @param {Object} hook.type + */ + on: function on(element, type, handler, hook) { + var types = type.split(' '); + Utils.each(types, function(type) { + Utils.on(element, type, handler); + hook && hook(type); + }); + }, + + /** + * simple event unbinder with a hook and support for multiple types + * @method off + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + * @param {Function} [hook] + * @param {Object} hook.type + */ + off: function off(element, type, handler, hook) { + var types = type.split(' '); + Utils.each(types, function(type) { + Utils.off(element, type, handler); + hook && hook(type); + }); + }, + + /** + * the core touch event handler. + * this finds out if we should to detect gestures + * @method onTouch + * @param {HTMLElement} element + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {Function} handler + * @return onTouchHandler {Function} the core event handler + */ + onTouch: function onTouch(element, eventType, handler) { + var self = this; + + var onTouchHandler = function onTouchHandler(ev) { + var srcType = ev.type.toLowerCase(), + isPointer = Hammer.HAS_POINTEREVENTS, + isMouse = Utils.inStr(srcType, 'mouse'), + triggerType; + + // if we are in a mouseevent, but there has been a touchevent triggered in this session + // we want to do nothing. simply break out of the event. + if(isMouse && self.preventMouseEvents) { + return; + + // mousebutton must be down + } else if(isMouse && eventType == EVENT_START && ev.button === 0) { + self.preventMouseEvents = false; + self.shouldDetect = true; + } else if(isPointer && eventType == EVENT_START) { + self.shouldDetect = (ev.buttons === 1 || PointerEvent.matchType(POINTER_TOUCH, ev)); + // just a valid start event, but no mouse + } else if(!isMouse && eventType == EVENT_START) { + self.preventMouseEvents = true; + self.shouldDetect = true; } - key = [key]; - } - return chooseLocale(key); - }; + // update the pointer event before entering the detection + if(isPointer && eventType != EVENT_END) { + PointerEvent.updatePointer(eventType, ev); + } - // compare moment object - moment.isMoment = function (obj) { - return obj instanceof Moment || - (obj != null && hasOwnProp(obj, '_isAMomentObject')); - }; + // we are in a touch/down state, so allowed detection of gestures + if(self.shouldDetect) { + triggerType = self.doDetect.call(self, ev, eventType, element, handler); + } - // for typechecking Duration objects - moment.isDuration = function (obj) { - return obj instanceof Duration; - }; + // ...and we are done with the detection + // so reset everything to start each detection totally fresh + if(triggerType == EVENT_END) { + self.preventMouseEvents = false; + self.shouldDetect = false; + PointerEvent.reset(); + // update the pointerevent object after the detection + } - for (i = lists.length - 1; i >= 0; --i) { - makeList(lists[i]); - } + if(isPointer && eventType == EVENT_END) { + PointerEvent.updatePointer(eventType, ev); + } + }; - moment.normalizeUnits = function (units) { - return normalizeUnits(units); - }; + this.on(element, EVENT_TYPES[eventType], onTouchHandler); + return onTouchHandler; + }, - moment.invalid = function (flags) { - var m = moment.utc(NaN); - if (flags != null) { - extend(m._pf, flags); + /** + * the core detection method + * this finds out what hammer-touch-events to trigger + * @method doDetect + * @param {Object} ev + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {HTMLElement} element + * @param {Function} handler + * @return {String} triggerType matches `EVENT_START|MOVE|END` + */ + doDetect: function doDetect(ev, eventType, element, handler) { + var touchList = this.getTouchList(ev, eventType); + var touchListLength = touchList.length; + var triggerType = eventType; + var triggerChange = touchList.trigger; // used by fakeMultitouch plugin + var changedLength = touchListLength; + + // at each touchstart-like event we want also want to trigger a TOUCH event... + if(eventType == EVENT_START) { + triggerChange = EVENT_TOUCH; + // ...the same for a touchend-like event + } else if(eventType == EVENT_END) { + triggerChange = EVENT_RELEASE; + + // keep track of how many touches have been removed + changedLength = touchList.length - ((ev.changedTouches) ? ev.changedTouches.length : 1); } - else { - m._pf.userInvalidated = true; + + // after there are still touches on the screen, + // we just want to trigger a MOVE event. so change the START or END to a MOVE + // but only after detection has been started, the first time we actualy want a START + if(changedLength > 0 && this.started) { + triggerType = EVENT_MOVE; } - return m; - }; + // detection has been started, we keep track of this, see above + this.started = true; - moment.parseZone = function () { - return moment.apply(null, arguments).parseZone(); - }; + // generate some event data, some basic information + var evData = this.collectEventData(element, triggerType, touchList, ev); - moment.parseTwoDigitYear = function (input) { - return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); - }; + // trigger the triggerType event before the change (TOUCH, RELEASE) events + // but the END event should be at last + if(eventType != EVENT_END) { + handler.call(Detection, evData); + } - moment.isDate = isDate; + // trigger a change (TOUCH, RELEASE) event, this means the length of the touches changed + if(triggerChange) { + evData.changedLength = changedLength; + evData.eventType = triggerChange; - /************************************ - Moment Prototype - ************************************/ + handler.call(Detection, evData); + evData.eventType = triggerType; + delete evData.changedLength; + } - extend(moment.fn = Moment.prototype, { + // trigger the END event + if(triggerType == EVENT_END) { + handler.call(Detection, evData); - clone : function () { - return moment(this); - }, + // ...and we are done with the detection + // so reset everything to start each detection totally fresh + this.started = false; + } - valueOf : function () { - return +this._d - ((this._offset || 0) * 60000); - }, + return triggerType; + }, - unix : function () { - return Math.floor(+this / 1000); - }, + /** + * we have different events for each device/browser + * determine what we need and set them in the EVENT_TYPES constant + * the `onTouch` method is bind to these properties. + * @method determineEventTypes + * @return {Object} events + */ + determineEventTypes: function determineEventTypes() { + var types; + if(Hammer.HAS_POINTEREVENTS) { + if(window.PointerEvent) { + types = [ + 'pointerdown', + 'pointermove', + 'pointerup pointercancel lostpointercapture' + ]; + } else { + types = [ + 'MSPointerDown', + 'MSPointerMove', + 'MSPointerUp MSPointerCancel MSLostPointerCapture' + ]; + } + } else if(Hammer.NO_MOUSEEVENTS) { + types = [ + 'touchstart', + 'touchmove', + 'touchend touchcancel' + ]; + } else { + types = [ + 'touchstart mousedown', + 'touchmove mousemove', + 'touchend touchcancel mouseup' + ]; + } - toString : function () { - return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); - }, + EVENT_TYPES[EVENT_START] = types[0]; + EVENT_TYPES[EVENT_MOVE] = types[1]; + EVENT_TYPES[EVENT_END] = types[2]; + return EVENT_TYPES; + }, - toDate : function () { - return this._offset ? new Date(+this) : this._d; - }, + /** + * create touchList depending on the event + * @method getTouchList + * @param {Object} ev + * @param {String} eventType + * @return {Array} touches + */ + getTouchList: function getTouchList(ev, eventType) { + // get the fake pointerEvent touchlist + if(Hammer.HAS_POINTEREVENTS) { + return PointerEvent.getTouchList(); + } - toISOString : function () { - var m = moment(this).utc(); - if (0 < m.year() && m.year() <= 9999) { - if ('function' === typeof Date.prototype.toISOString) { - // native implementation is ~50x faster, use it when we can - return this.toDate().toISOString(); - } else { - return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); - } - } else { - return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); + // get the touchlist + if(ev.touches) { + if(eventType == EVENT_MOVE) { + return ev.touches; } - }, - toArray : function () { - var m = this; - return [ - m.year(), - m.month(), - m.date(), - m.hours(), - m.minutes(), - m.seconds(), - m.milliseconds() - ]; - }, + var identifiers = []; + var concat = [].concat(Utils.toArray(ev.touches), Utils.toArray(ev.changedTouches)); + var touchList = []; - isValid : function () { - return isValid(this); - }, + Utils.each(concat, function(touch) { + if(Utils.inArray(identifiers, touch.identifier) === false) { + touchList.push(touch); + } + identifiers.push(touch.identifier); + }); - isDSTShifted : function () { - if (this._a) { - return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; - } + return touchList; + } - return false; - }, + // make fake touchList from mouse position + ev.identifier = 1; + return [ev]; + }, - parsingFlags : function () { - return extend({}, this._pf); - }, + /** + * collect basic event data + * @method collectEventData + * @param {HTMLElement} element + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {Array} touches + * @param {Object} ev + * @return {Object} ev + */ + collectEventData: function collectEventData(element, eventType, touches, ev) { + // find out pointerType + var pointerType = POINTER_TOUCH; + if(Utils.inStr(ev.type, 'mouse') || PointerEvent.matchType(POINTER_MOUSE, ev)) { + pointerType = POINTER_MOUSE; + } else if(PointerEvent.matchType(POINTER_PEN, ev)) { + pointerType = POINTER_PEN; + } - invalidAt: function () { - return this._pf.overflow; - }, + return { + center: Utils.getCenter(touches), + timeStamp: Date.now(), + target: ev.target, + touches: touches, + eventType: eventType, + pointerType: pointerType, + srcEvent: ev, - utc : function (keepLocalTime) { - return this.utcOffset(0, keepLocalTime); - }, + /** + * prevent the browser default actions + * mostly used to disable scrolling of the browser + */ + preventDefault: function() { + var srcEvent = this.srcEvent; + srcEvent.preventManipulation && srcEvent.preventManipulation(); + srcEvent.preventDefault && srcEvent.preventDefault(); + }, - local : function (keepLocalTime) { - if (this._isUTC) { - this.utcOffset(0, keepLocalTime); - this._isUTC = false; + /** + * stop bubbling the event up to its parents + */ + stopPropagation: function() { + this.srcEvent.stopPropagation(); + }, - if (keepLocalTime) { - this.subtract(this._dateUtcOffset(), 'm'); - } + /** + * immediately stop gesture detection + * might be useful after a swipe was detected + * @return {*} + */ + stopDetect: function() { + return Detection.stopDetect(); } - return this; - }, - - format : function (inputString) { - var output = formatMoment(this, inputString || moment.defaultFormat); - return this.localeData().postformat(output); - }, + }; + } + }; - add : createAdder(1, 'add'), - subtract : createAdder(-1, 'subtract'), + /** + * @module hammer + * + * @class PointerEvent + * @static + */ + var PointerEvent = Hammer.PointerEvent = { + /** + * holds all pointers, by `identifier` + * @property pointers + * @type {Object} + */ + pointers: {}, - diff : function (input, units, asFloat) { - var that = makeAs(input, this), - zoneDiff = (that.utcOffset() - this.utcOffset()) * 6e4, - anchor, diff, output, daysAdjust; + /** + * get the pointers as an array + * @method getTouchList + * @return {Array} touchlist + */ + getTouchList: function getTouchList() { + var touchlist = []; + // we can use forEach since pointerEvents only is in IE10 + Utils.each(this.pointers, function(pointer) { + touchlist.push(pointer); + }); + return touchlist; + }, - units = normalizeUnits(units); + /** + * update the position of a pointer + * @method updatePointer + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {Object} pointerEvent + */ + updatePointer: function updatePointer(eventType, pointerEvent) { + if(eventType == EVENT_END || (eventType != EVENT_END && pointerEvent.buttons !== 1)) { + delete this.pointers[pointerEvent.pointerId]; + } else { + pointerEvent.identifier = pointerEvent.pointerId; + this.pointers[pointerEvent.pointerId] = pointerEvent; + } + }, - if (units === 'year' || units === 'month' || units === 'quarter') { - output = monthDiff(this, that); - if (units === 'quarter') { - output = output / 3; - } else if (units === 'year') { - output = output / 12; - } - } else { - diff = this - that; - output = units === 'second' ? diff / 1e3 : // 1000 - units === 'minute' ? diff / 6e4 : // 1000 * 60 - units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60 - units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst - units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst - diff; - } - return asFloat ? output : absRound(output); - }, + /** + * check if ev matches pointertype + * @method matchType + * @param {String} pointerType matches `POINTER_MOUSE|TOUCH|PEN` + * @param {PointerEvent} ev + */ + matchType: function matchType(pointerType, ev) { + if(!ev.pointerType) { + return false; + } - from : function (time, withoutSuffix) { - return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); - }, + var pt = ev.pointerType, + types = {}; - fromNow : function (withoutSuffix) { - return this.from(moment(), withoutSuffix); - }, + types[POINTER_MOUSE] = (pt === (ev.MSPOINTER_TYPE_MOUSE || POINTER_MOUSE)); + types[POINTER_TOUCH] = (pt === (ev.MSPOINTER_TYPE_TOUCH || POINTER_TOUCH)); + types[POINTER_PEN] = (pt === (ev.MSPOINTER_TYPE_PEN || POINTER_PEN)); + return types[pointerType]; + }, - calendar : function (time) { - // We want to compare the start of today, vs this. - // Getting start-of-today depends on whether we're locat/utc/offset - // or not. - var now = time || moment(), - sod = makeAs(now, this).startOf('day'), - diff = this.diff(sod, 'days', true), - format = diff < -6 ? 'sameElse' : - diff < -1 ? 'lastWeek' : - diff < 0 ? 'lastDay' : - diff < 1 ? 'sameDay' : - diff < 2 ? 'nextDay' : - diff < 7 ? 'nextWeek' : 'sameElse'; - return this.format(this.localeData().calendar(format, this, moment(now))); - }, + /** + * reset the stored pointers + * @method reset + */ + reset: function resetList() { + this.pointers = {}; + } + }; - isLeapYear : function () { - return isLeapYear(this.year()); - }, - isDST : function () { - return (this.utcOffset() > this.clone().month(0).utcOffset() || - this.utcOffset() > this.clone().month(5).utcOffset()); - }, + /** + * @module hammer + * + * @class Detection + * @static + */ + var Detection = Hammer.detection = { + // contains all registred Hammer.gestures in the correct order + gestures: [], - 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'); - } else { - return day; - } - }, + // data of the current Hammer.gesture detection session + current: null, - month : makeAccessor('Month', true), + // the previous Hammer.gesture session data + // is a full clone of the previous gesture.current object + previous: null, - startOf : function (units) { - units = normalizeUnits(units); - // the following switch intentionally omits break keywords - // to utilize falling through the cases. - switch (units) { - case 'year': - this.month(0); - /* falls through */ - case 'quarter': - case 'month': - this.date(1); - /* falls through */ - case 'week': - case 'isoWeek': - case 'day': - this.hours(0); - /* falls through */ - case 'hour': - this.minutes(0); - /* falls through */ - case 'minute': - this.seconds(0); - /* falls through */ - case 'second': - this.milliseconds(0); - /* falls through */ - } + // when this becomes true, no gestures are fired + stopped: false, - // weeks are a special case - if (units === 'week') { - this.weekday(0); - } else if (units === 'isoWeek') { - this.isoWeekday(1); - } + /** + * start Hammer.gesture detection + * @method startDetect + * @param {Hammer.Instance} inst + * @param {Object} eventData + */ + startDetect: function startDetect(inst, eventData) { + // already busy with a Hammer.gesture detection on an element + if(this.current) { + return; + } - // quarters are also special - if (units === 'quarter') { - this.month(Math.floor(this.month() / 3) * 3); - } + this.stopped = false; - return this; - }, + // holds current session + this.current = { + inst: inst, // reference to HammerInstance we're working for + startEvent: Utils.extend({}, eventData), // start eventData for distances, timing etc + lastEvent: false, // last eventData + lastCalcEvent: false, // last eventData for calculations. + futureCalcEvent: false, // last eventData for calculations. + lastCalcData: {}, // last lastCalcData + name: '' // current gesture we're in/detected, can be 'tap', 'hold' etc + }; - endOf: function (units) { - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond') { - return this; - } - return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); - }, + this.detect(eventData); + }, - isAfter: function (input, units) { - var inputMs; - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this > +input; - } else { - inputMs = moment.isMoment(input) ? +input : +moment(input); - return inputMs < +this.clone().startOf(units); - } - }, + /** + * Hammer.gesture detection + * @method detect + * @param {Object} eventData + * @return {any} + */ + detect: function detect(eventData) { + if(!this.current || this.stopped) { + return; + } - isBefore: function (input, units) { - var inputMs; - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this < +input; - } else { - inputMs = moment.isMoment(input) ? +input : +moment(input); - return +this.clone().endOf(units) < inputMs; - } - }, + // extend event data with calculations about scale, distance etc + eventData = this.extendEventData(eventData); - isBetween: function (from, to, units) { - return this.isAfter(from, units) && this.isBefore(to, units); - }, + // hammer instance and instance options + var inst = this.current.inst, + instOptions = inst.options; - isSame: function (input, units) { - var inputMs; - units = normalizeUnits(units || 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this === +input; - } else { - inputMs = +moment(input); - return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units)); + // call Hammer.gesture handlers + Utils.each(this.gestures, function triggerGesture(gesture) { + // only when the instance options have enabled this gesture + if(!this.stopped && inst.enabled && instOptions[gesture.name]) { + gesture.handler.call(gesture, eventData, inst); } - }, + }, this); - min: deprecate( - '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; - } - ), + // store as previous event event + if(this.current) { + this.current.lastEvent = eventData; + } - max: deprecate( - '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; - } - ), + if(eventData.eventType == EVENT_END) { + this.stopDetect(); + } - zone : deprecate( - 'moment().zone is deprecated, use moment().utcOffset instead. ' + - 'https://github.com/moment/moment/issues/1779', - function (input, keepLocalTime) { - if (input != null) { - if (typeof input !== 'string') { - input = -input; - } + return eventData; + }, - this.utcOffset(input, keepLocalTime); + /** + * clear the Hammer.gesture vars + * this is called on endDetect, but can also be used when a final Hammer.gesture has been detected + * to stop other Hammer.gestures from being fired + * @method stopDetect + */ + stopDetect: function stopDetect() { + // clone current data to the store as the previous gesture + // used for the double tap gesture, since this is an other gesture detect session + this.previous = Utils.extend({}, this.current); - return this; - } else { - return -this.utcOffset(); - } - } - ), + // reset the current + this.current = null; + this.stopped = true; + }, - // keepLocalTime = true means only change the timezone, without - // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> - // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset - // +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. - utcOffset : function (input, keepLocalTime) { - var offset = this._offset || 0, - localAdjust; - if (input != null) { - if (typeof input === 'string') { - input = utcOffsetFromString(input); - } - if (Math.abs(input) < 16) { - input = input * 60; - } - if (!this._isUTC && keepLocalTime) { - localAdjust = this._dateUtcOffset(); - } - this._offset = input; - this._isUTC = true; - if (localAdjust != null) { - this.add(localAdjust, 'm'); - } - if (offset !== input) { - if (!keepLocalTime || this._changeInProgress) { - addOrSubtractDurationFromMoment(this, - moment.duration(input - offset, 'm'), 1, false); - } else if (!this._changeInProgress) { - this._changeInProgress = true; - moment.updateOffset(this, true); - this._changeInProgress = null; - } - } + /** + * calculate velocity, angle and direction + * @method getVelocityData + * @param {Object} ev + * @param {Object} center + * @param {Number} deltaTime + * @param {Number} deltaX + * @param {Number} deltaY + */ + getCalculatedData: function getCalculatedData(ev, center, deltaTime, deltaX, deltaY) { + var cur = this.current, + recalc = false, + calcEv = cur.lastCalcEvent, + calcData = cur.lastCalcData; - return this; - } else { - return this._isUTC ? offset : this._dateUtcOffset(); - } - }, + if(calcEv && ev.timeStamp - calcEv.timeStamp > Hammer.CALCULATE_INTERVAL) { + center = calcEv.center; + deltaTime = ev.timeStamp - calcEv.timeStamp; + deltaX = ev.center.clientX - calcEv.center.clientX; + deltaY = ev.center.clientY - calcEv.center.clientY; + recalc = true; + } - isLocal : function () { - return !this._isUTC; - }, + if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { + cur.futureCalcEvent = ev; + } - isUtcOffset : function () { - return this._isUTC; - }, + if(!cur.lastCalcEvent || recalc) { + calcData.velocity = Utils.getVelocity(deltaTime, deltaX, deltaY); + calcData.angle = Utils.getAngle(center, ev.center); + calcData.direction = Utils.getDirection(center, ev.center); - isUtc : function () { - return this._isUTC && this._offset === 0; - }, + cur.lastCalcEvent = cur.futureCalcEvent || ev; + cur.futureCalcEvent = ev; + } - zoneAbbr : function () { - return this._isUTC ? 'UTC' : ''; - }, + ev.velocityX = calcData.velocity.x; + ev.velocityY = calcData.velocity.y; + ev.interimAngle = calcData.angle; + ev.interimDirection = calcData.direction; + }, - zoneName : function () { - return this._isUTC ? 'Coordinated Universal Time' : ''; - }, + /** + * extend eventData for Hammer.gestures + * @method extendEventData + * @param {Object} ev + * @return {Object} ev + */ + extendEventData: function extendEventData(ev) { + var cur = this.current, + startEv = cur.startEvent, + lastEv = cur.lastEvent || startEv; - parseZone : function () { - if (this._tzm) { - this.utcOffset(this._tzm); - } else if (typeof this._i === 'string') { - this.utcOffset(utcOffsetFromString(this._i)); - } - return this; - }, + // update the start touchlist to calculate the scale/rotation + if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { + startEv.touches = []; + Utils.each(ev.touches, function(touch) { + startEv.touches.push({ + clientX: touch.clientX, + clientY: touch.clientY + }); + }); + } - hasAlignedHourOffset : function (input) { - if (!input) { - input = 0; - } - else { - input = moment(input).utcOffset(); - } + var deltaTime = ev.timeStamp - startEv.timeStamp, + deltaX = ev.center.clientX - startEv.center.clientX, + deltaY = ev.center.clientY - startEv.center.clientY; - return (this.utcOffset() - input) % 60 === 0; - }, + this.getCalculatedData(ev, lastEv.center, deltaTime, deltaX, deltaY); - daysInMonth : function () { - return daysInMonth(this.year(), this.month()); - }, + Utils.extend(ev, { + startEvent: startEv, - 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'); - }, + deltaTime: deltaTime, + deltaX: deltaX, + deltaY: deltaY, - quarter : function (input) { - return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); - }, + distance: Utils.getDistance(startEv.center, ev.center), + angle: Utils.getAngle(startEv.center, ev.center), + direction: Utils.getDirection(startEv.center, ev.center), + scale: Utils.getScale(startEv.touches, ev.touches), + rotation: Utils.getRotation(startEv.touches, ev.touches) + }); - 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'); - }, + return ev; + }, - isoWeekYear : function (input) { - var year = weekOfYear(this, 1, 4).year; - return input == null ? year : this.add((input - year), 'y'); - }, + /** + * register new gesture + * @method register + * @param {Object} gesture object, see `gestures/` for documentation + * @return {Array} gestures + */ + register: function register(gesture) { + // add an enable gesture options if there is no given + var options = gesture.defaults || {}; + if(options[gesture.name] === undefined) { + options[gesture.name] = true; + } - week : function (input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); - }, + // extend Hammer default options with the Hammer.gesture options + Utils.extend(Hammer.defaults, options, true); - isoWeek : function (input) { - var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); - }, + // set its index + gesture.index = gesture.index || 1000; - weekday : function (input) { - var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; - return input == null ? weekday : this.add(input - weekday, 'd'); - }, + // add Hammer.gesture to the list + this.gestures.push(gesture); - isoWeekday : function (input) { - // behaves the same as moment#day except - // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) - // as a setter, sunday should belong to the previous week. - return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7); - }, + // sort the list by index + this.gestures.sort(function(a, b) { + if(a.index < b.index) { + return -1; + } + if(a.index > b.index) { + return 1; + } + return 0; + }); - isoWeeksInYear : function () { - return weeksInYear(this.year(), 1, 4); - }, + return this.gestures; + } + }; - weeksInYear : function () { - var weekInfo = this.localeData()._week; - return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); - }, - get : function (units) { - units = normalizeUnits(units); - return this[units](); - }, + /** + * @module hammer + */ - set : function (units, value) { - var unit; - if (typeof units === 'object') { - for (unit in units) { - this.set(unit, units[unit]); - } - } - else { - units = normalizeUnits(units); - if (typeof this[units] === 'function') { - this[units](value); - } - } - return this; - }, + /** + * create new hammer instance + * all methods should return the instance itself, so it is chainable. + * + * @class Instance + * @constructor + * @param {HTMLElement} element + * @param {Object} [options={}] options are merged with `Hammer.defaults` + * @return {Hammer.Instance} + */ + Hammer.Instance = function(element, options) { + var self = this; - // If passed a locale key, it will set the locale for this - // instance. Otherwise, it will return the locale configuration - // variables for this instance. - locale : function (key) { - var newLocaleData; + // setup HammerJS window events and register all gestures + // this also sets up the default options + setup(); - if (key === undefined) { - return this._locale._abbr; - } else { - newLocaleData = moment.localeData(key); - if (newLocaleData != null) { - this._locale = newLocaleData; - } - return this; - } - }, + /** + * @property element + * @type {HTMLElement} + */ + this.element = element; - lang : deprecate( - 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', - function (key) { - if (key === undefined) { - return this.localeData(); - } else { - return this.locale(key); - } - } - ), + /** + * @property enabled + * @type {Boolean} + * @protected + */ + this.enabled = true; - localeData : function () { - return this._locale; - }, + /** + * options, merged with the defaults + * options with an _ are converted to camelCase + * @property options + * @type {Object} + */ + Utils.each(options, function(value, name) { + delete options[name]; + options[Utils.toCamelCase(name)] = value; + }); - _dateUtcOffset : 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; - } + this.options = Utils.extend(Utils.extend({}, Hammer.defaults), options || {}); + + // add some css to the element to prevent the browser from doing its native behavoir + if(this.options.behavior) { + Utils.toggleBehavior(this.element, this.options.behavior, true); + } + /** + * event start handler on the element to start the detection + * @property eventStartHandler + * @type {Object} + */ + this.eventStartHandler = Event.onTouch(element, EVENT_START, function(ev) { + if(self.enabled && ev.eventType == EVENT_START) { + Detection.startDetect(self, ev); + } else if(ev.eventType == EVENT_TOUCH) { + Detection.detect(ev); + } }); - function rawMonthSetter(mom, value) { - var dayOfMonth; + /** + * keep a list of user event handlers which needs to be removed when calling 'dispose' + * @property eventHandlers + * @type {Array} + */ + this.eventHandlers = []; + }; - // TODO: Move this out of here! - if (typeof value === 'string') { - value = mom.localeData().monthsParse(value); - // TODO: Another silent failure? - if (typeof value !== 'number') { - return mom; + Hammer.Instance.prototype = { + /** + * bind events to the instance + * @method on + * @chainable + * @param {String} gestures multiple gestures by splitting with a space + * @param {Function} handler + * @param {Object} handler.ev event object + */ + on: function onEvent(gestures, handler) { + var self = this; + Event.on(self.element, gestures, handler, function(type) { + self.eventHandlers.push({ gesture: type, handler: handler }); + }); + return self; + }, + + /** + * unbind events to the instance + * @method off + * @chainable + * @param {String} gestures + * @param {Function} handler + */ + off: function offEvent(gestures, handler) { + var self = this; + + Event.off(self.element, gestures, handler, function(type) { + var index = Utils.inArray({ gesture: type, handler: handler }); + if(index !== false) { + self.eventHandlers.splice(index, 1); } - } + }); + return self; + }, - dayOfMonth = Math.min(mom.date(), - daysInMonth(mom.year(), value)); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); - return mom; - } + /** + * trigger gesture event + * @method trigger + * @chainable + * @param {String} gesture + * @param {Object} [eventData] + */ + trigger: function triggerEvent(gesture, eventData) { + // optional + if(!eventData) { + eventData = {}; + } - function rawGetter(mom, unit) { - return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); - } + // create DOM event + var event = Hammer.DOCUMENT.createEvent('Event'); + event.initEvent(gesture, true, true); + event.gesture = eventData; - function rawSetter(mom, unit, value) { - if (unit === 'Month') { - return rawMonthSetter(mom, value); - } else { - return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + // trigger on the target if it is in the instance element, + // this is for event delegation tricks + var element = this.element; + if(Utils.hasParent(eventData.target, element)) { + element = eventData.target; } - } - function makeAccessor(unit, keepTime) { - return function (value) { - if (value != null) { - rawSetter(this, unit, value); - moment.updateOffset(this, keepTime); - return this; - } else { - return rawGetter(this, unit); - } - }; - } + element.dispatchEvent(event); + return this; + }, - moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false); - moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false); - moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false); - // Setting the hour should keep the time, because the user explicitly - // specified which hour he wants. So trying to maintain the same hour (in - // a new timezone) makes sense. Adding/subtracting hours does not follow - // this rule. - 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.year = makeAccessor('FullYear', true); - moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true)); + /** + * enable of disable hammer.js detection + * @method enable + * @chainable + * @param {Boolean} state + */ + enable: function enable(state) { + this.enabled = state; + return this; + }, - // add plural methods - moment.fn.days = moment.fn.day; - moment.fn.months = moment.fn.month; - moment.fn.weeks = moment.fn.week; - moment.fn.isoWeeks = moment.fn.isoWeek; - moment.fn.quarters = moment.fn.quarter; + /** + * dispose this hammer instance + * @method dispose + * @return {Null} + */ + dispose: function dispose() { + var i, eh; - // add aliased format methods - moment.fn.toJSON = moment.fn.toISOString; + // undo all changes made by stop_browser_behavior + Utils.toggleBehavior(this.element, this.options.behavior, false); - // alias isUtc for dev-friendliness - moment.fn.isUTC = moment.fn.isUtc; + // unbind all custom event handlers + for(i = -1; (eh = this.eventHandlers[++i]);) { + Utils.off(this.element, eh.gesture, eh.handler); + } - /************************************ - Duration Prototype - ************************************/ + this.eventHandlers = []; + // unbind the start event listener + Event.off(this.element, EVENT_TYPES[EVENT_START], this.eventStartHandler); - function daysToYears (days) { - // 400 years have 146097 days (taking into account leap year rules) - return days * 400 / 146097; + return null; } + }; - function yearsToDays (years) { - // years * 365 + absRound(years / 4) - - // absRound(years / 100) + absRound(years / 400); - return years * 146097 / 400; - } - extend(moment.duration.fn = Duration.prototype, { + /** + * @module gestures + */ + /** + * Move with x fingers (default 1) around on the page. + * Preventing the default browser behavior is a good way to improve feel and working. + * ```` + * hammertime.on("drag", function(ev) { + * console.log(ev); + * ev.gesture.preventDefault(); + * }); + * ```` + * + * @class Drag + * @static + */ + /** + * @event drag + * @param {Object} ev + */ + /** + * @event dragstart + * @param {Object} ev + */ + /** + * @event dragend + * @param {Object} ev + */ + /** + * @event drapleft + * @param {Object} ev + */ + /** + * @event dragright + * @param {Object} ev + */ + /** + * @event dragup + * @param {Object} ev + */ + /** + * @event dragdown + * @param {Object} ev + */ - _bubble : function () { - var milliseconds = this._milliseconds, - days = this._days, - months = this._months, - data = this._data, - seconds, minutes, hours, years = 0; + /** + * @param {String} name + */ + (function(name) { + var triggered = false; - // The following code bubbles up values, see the tests for - // examples of what that means. - data.milliseconds = milliseconds % 1000; + function dragGesture(ev, inst) { + var cur = Detection.current; + + // max touches + if(inst.options.dragMaxTouches > 0 && + ev.touches.length > inst.options.dragMaxTouches) { + return; + } + + switch(ev.eventType) { + case EVENT_START: + triggered = false; + break; - seconds = absRound(milliseconds / 1000); - data.seconds = seconds % 60; + case EVENT_MOVE: + // when the distance we moved is too small we skip this gesture + // or we can be already in dragging + if(ev.distance < inst.options.dragMinDistance && + cur.name != name) { + return; + } - minutes = absRound(seconds / 60); - data.minutes = minutes % 60; + var startCenter = cur.startEvent.center; - hours = absRound(minutes / 60); - data.hours = hours % 24; + // we are dragging! + if(cur.name != name) { + cur.name = name; + if(inst.options.dragDistanceCorrection && ev.distance > 0) { + // When a drag is triggered, set the event center to dragMinDistance pixels from the original event center. + // Without this correction, the dragged distance would jumpstart at dragMinDistance pixels instead of at 0. + // It might be useful to save the original start point somewhere + var factor = Math.abs(inst.options.dragMinDistance / ev.distance); + startCenter.pageX += ev.deltaX * factor; + startCenter.pageY += ev.deltaY * factor; + startCenter.clientX += ev.deltaX * factor; + startCenter.clientY += ev.deltaY * factor; - days += absRound(hours / 24); + // recalculate event data using new start point + ev = Detection.extendEventData(ev); + } + } - // Accurately convert days to years, assume start from year 0. - years = absRound(daysToYears(days)); - days -= absRound(yearsToDays(years)); + // lock drag to axis? + if(cur.lastEvent.dragLockToAxis || + ( inst.options.dragLockToAxis && + inst.options.dragLockMinDistance <= ev.distance + )) { + ev.dragLockToAxis = true; + } - // 30 days to a month - // TODO (iskren): Use anchor date (like 1st Jan) to compute this. - months += absRound(days / 30); - days %= 30; + // keep direction on the axis that the drag gesture started on + var lastDirection = cur.lastEvent.direction; + if(ev.dragLockToAxis && lastDirection !== ev.direction) { + if(Utils.isVertical(lastDirection)) { + ev.direction = (ev.deltaY < 0) ? DIRECTION_UP : DIRECTION_DOWN; + } else { + ev.direction = (ev.deltaX < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + } - // 12 months -> 1 year - years += absRound(months / 12); - months %= 12; + // first time, trigger dragstart event + if(!triggered) { + inst.trigger(name + 'start', ev); + triggered = true; + } - data.days = days; - data.months = months; - data.years = years; - }, + // trigger events + inst.trigger(name, ev); + inst.trigger(name + ev.direction, ev); - abs : function () { - this._milliseconds = Math.abs(this._milliseconds); - this._days = Math.abs(this._days); - this._months = Math.abs(this._months); + var isVertical = Utils.isVertical(ev.direction); - 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); + // block the browser events + if((inst.options.dragBlockVertical && isVertical) || + (inst.options.dragBlockHorizontal && !isVertical)) { + ev.preventDefault(); + } + break; - return this; - }, + case EVENT_RELEASE: + if(triggered && ev.changedLength <= inst.options.dragMaxTouches) { + inst.trigger(name + 'end', ev); + triggered = false; + } + break; - weeks : function () { - return absRound(this.days() / 7); - }, + case EVENT_END: + triggered = false; + break; + } + } - valueOf : function () { - return this._milliseconds + - this._days * 864e5 + - (this._months % 12) * 2592e6 + - toInt(this._months / 12) * 31536e6; - }, + Hammer.gestures.Drag = { + name: name, + index: 50, + handler: dragGesture, + defaults: { + /** + * minimal movement that have to be made before the drag event gets triggered + * @property dragMinDistance + * @type {Number} + * @default 10 + */ + dragMinDistance: 10, - humanize : function (withSuffix) { - var output = relativeTime(this, !withSuffix, this.localeData()); + /** + * Set dragDistanceCorrection to true to make the starting point of the drag + * be calculated from where the drag was triggered, not from where the touch started. + * Useful to avoid a jerk-starting drag, which can make fine-adjustments + * through dragging difficult, and be visually unappealing. + * @property dragDistanceCorrection + * @type {Boolean} + * @default true + */ + dragDistanceCorrection: true, - if (withSuffix) { - output = this.localeData().pastFuture(+this, output); - } + /** + * set 0 for unlimited, but this can conflict with transform + * @property dragMaxTouches + * @type {Number} + * @default 1 + */ + dragMaxTouches: 1, - return this.localeData().postformat(output); - }, + /** + * prevent default browser behavior when dragging occurs + * be careful with it, it makes the element a blocking element + * when you are using the drag gesture, it is a good practice to set this true + * @property dragBlockHorizontal + * @type {Boolean} + * @default false + */ + dragBlockHorizontal: false, - add : function (input, val) { - // supports only 2.0-style add(1, 's') or add(moment) - var dur = moment.duration(input, val); + /** + * same as `dragBlockHorizontal`, but for vertical movement + * @property dragBlockVertical + * @type {Boolean} + * @default false + */ + dragBlockVertical: false, - this._milliseconds += dur._milliseconds; - this._days += dur._days; - this._months += dur._months; + /** + * dragLockToAxis keeps the drag gesture on the axis that it started on, + * It disallows vertical directions if the initial direction was horizontal, and vice versa. + * @property dragLockToAxis + * @type {Boolean} + * @default false + */ + dragLockToAxis: false, - this._bubble(); + /** + * drag lock only kicks in when distance > dragLockMinDistance + * This way, locking occurs only when the distance has become large enough to reliably determine the direction + * @property dragLockMinDistance + * @type {Number} + * @default 25 + */ + dragLockMinDistance: 25 + } + }; + })('drag'); - return this; - }, + /** + * @module gestures + */ + /** + * trigger a simple gesture event, so you can do anything in your handler. + * only usable if you know what your doing... + * + * @class Gesture + * @static + */ + /** + * @event gesture + * @param {Object} ev + */ + Hammer.gestures.Gesture = { + name: 'gesture', + index: 1337, + handler: function releaseGesture(ev, inst) { + inst.trigger(this.name, ev); + } + }; - subtract : function (input, val) { - var dur = moment.duration(input, val); + /** + * @module gestures + */ + /** + * Touch stays at the same place for x time + * + * @class Hold + * @static + */ + /** + * @event hold + * @param {Object} ev + */ - this._milliseconds -= dur._milliseconds; - this._days -= dur._days; - this._months -= dur._months; + /** + * @param {String} name + */ + (function(name) { + var timer; - this._bubble(); + function holdGesture(ev, inst) { + var options = inst.options, + current = Detection.current; - return this; - }, + switch(ev.eventType) { + case EVENT_START: + clearTimeout(timer); - get : function (units) { - units = normalizeUnits(units); - return this[units.toLowerCase() + 's'](); - }, + // set the gesture so we can check in the timeout if it still is + current.name = name; - as : function (units) { - var days, months; - units = normalizeUnits(units); + // set timer and if after the timeout it still is hold, + // we trigger the hold event + timer = setTimeout(function() { + if(current && current.name == name) { + inst.trigger(name, ev); + } + }, options.holdTimeout); + break; - 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 + Math.round(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); + case EVENT_MOVE: + if(ev.distance > options.holdThreshold) { + clearTimeout(timer); } - } - }, + break; - lang : moment.fn.lang, - locale : moment.fn.locale, + case EVENT_RELEASE: + clearTimeout(timer); + break; + } + } - toIsoString : deprecate( - 'toIsoString() is deprecated. Please use toISOString() instead ' + - '(notice the capitals)', - function () { - return this.toISOString(); - } - ), + Hammer.gestures.Hold = { + name: name, + index: 10, + defaults: { + /** + * @property holdTimeout + * @type {Number} + * @default 500 + */ + holdTimeout: 500, - 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()), - days = Math.abs(this.days()), - hours = Math.abs(this.hours()), - minutes = Math.abs(this.minutes()), - seconds = Math.abs(this.seconds() + this.milliseconds() / 1000); + /** + * movement allowed while holding + * @property holdThreshold + * @type {Number} + * @default 2 + */ + holdThreshold: 2 + }, + handler: holdGesture + }; + })('hold'); - if (!this.asSeconds()) { - // this is the same as C#'s (Noda) and python (isodate)... - // but not other JS (goog.date) - return 'P0D'; - } + /** + * @module gestures + */ + /** + * when a touch is being released from the page + * + * @class Release + * @static + */ + /** + * @event release + * @param {Object} ev + */ + Hammer.gestures.Release = { + name: 'release', + index: Infinity, + handler: function releaseGesture(ev, inst) { + if(ev.eventType == EVENT_RELEASE) { + inst.trigger(this.name, ev); + } + } + }; - return (this.asSeconds() < 0 ? '-' : '') + - 'P' + - (years ? years + 'Y' : '') + - (months ? months + 'M' : '') + - (days ? days + 'D' : '') + - ((hours || minutes || seconds) ? 'T' : '') + - (hours ? hours + 'H' : '') + - (minutes ? minutes + 'M' : '') + - (seconds ? seconds + 'S' : ''); - }, + /** + * @module gestures + */ + /** + * triggers swipe events when the end velocity is above the threshold + * for best usage, set `preventDefault` (on the drag gesture) to `true` + * ```` + * hammertime.on("dragleft swipeleft", function(ev) { + * console.log(ev); + * ev.gesture.preventDefault(); + * }); + * ```` + * + * @class Swipe + * @static + */ + /** + * @event swipe + * @param {Object} ev + */ + /** + * @event swipeleft + * @param {Object} ev + */ + /** + * @event swiperight + * @param {Object} ev + */ + /** + * @event swipeup + * @param {Object} ev + */ + /** + * @event swipedown + * @param {Object} ev + */ + Hammer.gestures.Swipe = { + name: 'swipe', + index: 40, + defaults: { + /** + * @property swipeMinTouches + * @type {Number} + * @default 1 + */ + swipeMinTouches: 1, - localeData : function () { - return this._locale; - }, + /** + * @property swipeMaxTouches + * @type {Number} + * @default 1 + */ + swipeMaxTouches: 1, - toJSON : function () { - return this.toISOString(); - } - }); + /** + * horizontal swipe velocity + * @property swipeVelocityX + * @type {Number} + * @default 0.6 + */ + swipeVelocityX: 0.6, - moment.duration.fn.toString = moment.duration.fn.toISOString; + /** + * vertical swipe velocity + * @property swipeVelocityY + * @type {Number} + * @default 0.6 + */ + swipeVelocityY: 0.6 + }, - function makeDurationGetter(name) { - moment.duration.fn[name] = function () { - return this._data[name]; - }; - } + handler: function swipeGesture(ev, inst) { + if(ev.eventType == EVENT_RELEASE) { + var touches = ev.touches.length, + options = inst.options; - for (i in unitMillisecondFactors) { - if (hasOwnProp(unitMillisecondFactors, i)) { - makeDurationGetter(i.toLowerCase()); + // max touches + if(touches < options.swipeMinTouches || + touches > options.swipeMaxTouches) { + return; + } + + // when the distance we moved is too small we skip this gesture + // or we can be already in dragging + if(ev.velocityX > options.swipeVelocityX || + ev.velocityY > options.swipeVelocityY) { + // trigger swipe events + inst.trigger(this.name, ev); + inst.trigger(this.name + ev.direction, ev); + } } } + }; - 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'); - }; - moment.duration.fn.asMonths = function () { - return this.as('M'); - }; - moment.duration.fn.asYears = function () { - return this.as('y'); - }; + /** + * @module gestures + */ + /** + * Single tap and a double tap on a place + * + * @class Tap + * @static + */ + /** + * @event tap + * @param {Object} ev + */ + /** + * @event doubletap + * @param {Object} ev + */ + + /** + * @param {String} name + */ + (function(name) { + var hasMoved = false; - /************************************ - Default Locale - ************************************/ + function tapGesture(ev, inst) { + var options = inst.options, + current = Detection.current, + prev = Detection.previous, + sincePrev, + didDoubleTap; + switch(ev.eventType) { + case EVENT_START: + hasMoved = false; + break; - // Set default locale, other locale will inherit from English. - moment.locale('en', { - ordinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal : function (number) { - var b = number % 10, - output = (toInt(number % 100 / 10) === 1) ? 'th' : - (b === 1) ? 'st' : - (b === 2) ? 'nd' : - (b === 3) ? 'rd' : 'th'; - return number + output; - } - }); + case EVENT_MOVE: + hasMoved = hasMoved || (ev.distance > options.tapMaxDistance); + break; - /* EMBED_LOCALES */ + case EVENT_END: + if(!Utils.inStr(ev.srcEvent.type, 'cancel') && ev.deltaTime < options.tapMaxTime && !hasMoved) { + // previous gesture, for the double tap since these are two different gesture detections + sincePrev = prev && prev.lastEvent && ev.timeStamp - prev.lastEvent.timeStamp; + didDoubleTap = false; - /************************************ - Exposing Moment - ************************************/ + // check if double tap + if(prev && prev.name == name && + (sincePrev && sincePrev < options.doubleTapInterval) && + ev.distance < options.doubleTapDistance) { + inst.trigger('doubletap', ev); + didDoubleTap = true; + } - function makeGlobal(shouldDeprecate) { - /*global ender:false */ - if (typeof ender !== 'undefined') { - return; - } - oldGlobalMoment = globalScope.moment; - if (shouldDeprecate) { - globalScope.moment = deprecate( - 'Accessing Moment through the global scope is ' + - 'deprecated, and will be removed in an upcoming ' + - 'release.', - moment); - } else { - globalScope.moment = moment; + // do a single tap + if(!didDoubleTap || options.tapAlways) { + current.name = name; + inst.trigger(current.name, ev); + } + } + break; } } - // CommonJS module is defined - if (hasModule) { - module.exports = moment; - } else if (true) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, module) { - if (module.config && module.config() && module.config().noGlobal === true) { - // release the global variable - globalScope.moment = oldGlobalMoment; - } + Hammer.gestures.Tap = { + name: name, + index: 100, + handler: tapGesture, + defaults: { + /** + * max time of a tap, this is for the slow tappers + * @property tapMaxTime + * @type {Number} + * @default 250 + */ + tapMaxTime: 250, - return moment; - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - makeGlobal(true); - } else { - makeGlobal(); - } - }).call(this); - - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(71)(module))) + /** + * max distance of movement of a tap, this is for the slow tappers + * @property tapMaxDistance + * @type {Number} + * @default 10 + */ + tapMaxDistance: 10, -/***/ }, -/* 59 */ -/***/ function(module, exports, __webpack_require__) { + /** + * always trigger the `tap` event, even while double-tapping + * @property tapAlways + * @type {Boolean} + * @default true + */ + tapAlways: true, + + /** + * max distance between two taps + * @property doubleTapDistance + * @type {Number} + * @default 20 + */ + doubleTapDistance: 20, + + /** + * max time between two taps + * @property doubleTapInterval + * @type {Number} + * @default 300 + */ + doubleTapInterval: 300 + } + }; + })('tap'); - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;"use strict"; /** - * Created by Alex on 11/6/2014. + * @module gestures + */ + /** + * when a touch is being touched at the page + * + * @class Touch + * @static + */ + /** + * @event touch + * @param {Object} ev */ + Hammer.gestures.Touch = { + name: 'touch', + index: -Infinity, + defaults: { + /** + * call preventDefault at touchstart, and makes the element blocking by disabling the scrolling of the page, + * but it improves gestures like transforming and dragging. + * be careful with using this, it can be very annoying for users to be stuck on the page + * @property preventDefault + * @type {Boolean} + * @default false + */ + preventDefault: false, - // https://github.com/umdjs/umd/blob/master/returnExports.js#L40-L60 - // if the module has no dependencies, the above pattern can be simplified to - (function (root, factory) { - if (true) { - // AMD. Register as an anonymous module. - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - module.exports = factory(); - } else { - // Browser globals (root is window) - root.keycharm = factory(); - } - }(this, function () { + /** + * disable mouse events, so only touch (or pen!) input triggers events + * @property preventMouse + * @type {Boolean} + * @default false + */ + preventMouse: false + }, + handler: function touchGesture(ev, inst) { + if(inst.options.preventMouse && ev.pointerType == POINTER_MOUSE) { + ev.stopDetect(); + return; + } - function keycharm(options) { - var preventDefault = options && options.preventDefault || false; + if(inst.options.preventDefault) { + ev.preventDefault(); + } - var container = options && options.container || window; + if(ev.eventType == EVENT_TOUCH) { + inst.trigger('touch', ev); + } + } + }; - var _exportFunctions = {}; - var _bound = {keydown:{}, keyup:{}}; - var _keys = {}; - var i; + /** + * @module gestures + */ + /** + * User want to scale or rotate with 2 fingers + * Preventing the default browser behavior is a good way to improve feel and working. This can be done with the + * `preventDefault` option. + * + * @class Transform + * @static + */ + /** + * @event transform + * @param {Object} ev + */ + /** + * @event transformstart + * @param {Object} ev + */ + /** + * @event transformend + * @param {Object} ev + */ + /** + * @event pinchin + * @param {Object} ev + */ + /** + * @event pinchout + * @param {Object} ev + */ + /** + * @event rotate + * @param {Object} ev + */ - // a - z - for (i = 97; i <= 122; i++) {_keys[String.fromCharCode(i)] = {code:65 + (i - 97), shift: false};} - // A - Z - for (i = 65; i <= 90; i++) {_keys[String.fromCharCode(i)] = {code:i, shift: true};} - // 0 - 9 - for (i = 0; i <= 9; i++) {_keys['' + i] = {code:48 + i, shift: false};} - // F1 - F12 - for (i = 1; i <= 12; i++) {_keys['F' + i] = {code:111 + i, shift: false};} - // num0 - num9 - for (i = 0; i <= 9; i++) {_keys['num' + i] = {code:96 + i, shift: false};} + /** + * @param {String} name + */ + (function(name) { + var triggered = false; - // numpad misc - _keys['num*'] = {code:106, shift: false}; - _keys['num+'] = {code:107, shift: false}; - _keys['num-'] = {code:109, shift: false}; - _keys['num/'] = {code:111, shift: false}; - _keys['num.'] = {code:110, shift: false}; - // arrows - _keys['left'] = {code:37, shift: false}; - _keys['up'] = {code:38, shift: false}; - _keys['right'] = {code:39, shift: false}; - _keys['down'] = {code:40, shift: false}; - // extra keys - _keys['space'] = {code:32, shift: false}; - _keys['enter'] = {code:13, shift: false}; - _keys['shift'] = {code:16, shift: undefined}; - _keys['esc'] = {code:27, shift: false}; - _keys['backspace'] = {code:8, shift: false}; - _keys['tab'] = {code:9, shift: false}; - _keys['ctrl'] = {code:17, shift: false}; - _keys['alt'] = {code:18, shift: false}; - _keys['delete'] = {code:46, shift: false}; - _keys['pageup'] = {code:33, shift: false}; - _keys['pagedown'] = {code:34, shift: false}; - // symbols - _keys['='] = {code:187, shift: false}; - _keys['-'] = {code:189, shift: false}; - _keys[']'] = {code:221, shift: false}; - _keys['['] = {code:219, shift: false}; + function transformGesture(ev, inst) { + switch(ev.eventType) { + case EVENT_START: + triggered = false; + break; + case EVENT_MOVE: + // at least multitouch + if(ev.touches.length < 2) { + return; + } + var scaleThreshold = Math.abs(1 - ev.scale); + var rotationThreshold = Math.abs(ev.rotation); - var down = function(event) {handleEvent(event,'keydown');}; - var up = function(event) {handleEvent(event,'keyup');}; + // when the distance we moved is too small we skip this gesture + // or we can be already in dragging + if(scaleThreshold < inst.options.transformMinScale && + rotationThreshold < inst.options.transformMinRotation) { + return; + } - // handle the actualy bound key with the event - var handleEvent = function(event,type) { - if (_bound[type][event.keyCode] !== undefined) { - var bound = _bound[type][event.keyCode]; - for (var i = 0; i < bound.length; i++) { - if (bound[i].shift === undefined) { - bound[i].fn(event); - } - else if (bound[i].shift == true && event.shiftKey == true) { - bound[i].fn(event); - } - else if (bound[i].shift == false && event.shiftKey == false) { - bound[i].fn(event); - } - } + // we are transforming! + Detection.current.name = name; - if (preventDefault == true) { - event.preventDefault(); - } - } - }; + // first time, trigger dragstart event + if(!triggered) { + inst.trigger(name + 'start', ev); + triggered = true; + } - // bind a key to a callback - _exportFunctions.bind = function(key, callback, type) { - if (type === undefined) { - type = 'keydown'; - } - if (_keys[key] === undefined) { - throw new Error("unsupported key: " + key); - } - if (_bound[type][_keys[key].code] === undefined) { - _bound[type][_keys[key].code] = []; - } - _bound[type][_keys[key].code].push({fn:callback, shift:_keys[key].shift}); - }; + inst.trigger(name, ev); // basic transform event + // trigger rotate event + if(rotationThreshold > inst.options.transformMinRotation) { + inst.trigger('rotate', ev); + } - // bind all keys to a call back (demo purposes) - _exportFunctions.bindAll = function(callback, type) { - if (type === undefined) { - type = 'keydown'; - } - for (var key in _keys) { - if (_keys.hasOwnProperty(key)) { - _exportFunctions.bind(key,callback,type); - } - } - }; + // trigger pinch event + if(scaleThreshold > inst.options.transformMinScale) { + inst.trigger('pinch', ev); + inst.trigger('pinch' + (ev.scale < 1 ? 'in' : 'out'), ev); + } + break; - // get the key label from an event - _exportFunctions.getKey = function(event) { - for (var key in _keys) { - if (_keys.hasOwnProperty(key)) { - if (event.shiftKey == true && _keys[key].shift == true && event.keyCode == _keys[key].code) { - return key; - } - else if (event.shiftKey == false && _keys[key].shift == false && event.keyCode == _keys[key].code) { - return key; - } - else if (event.keyCode == _keys[key].code && key == 'shift') { - return key; - } + case EVENT_RELEASE: + if(triggered && ev.changedLength < 2) { + inst.trigger(name + 'end', ev); + triggered = false; + } + break; } - } - return "unknown key, currently not supported"; - }; + } - // unbind either a specific callback from a key or all of them (by leaving callback undefined) - _exportFunctions.unbind = function(key, callback, type) { - if (type === undefined) { - type = 'keydown'; - } - if (_keys[key] === undefined) { - throw new Error("unsupported key: " + key); - } - if (callback !== undefined) { - var newBindings = []; - var bound = _bound[type][_keys[key].code]; - if (bound !== undefined) { - for (var i = 0; i < bound.length; i++) { - if (!(bound[i].fn == callback && bound[i].shift == _keys[key].shift)) { - newBindings.push(_bound[type][_keys[key].code][i]); - } - } - } - _bound[type][_keys[key].code] = newBindings; - } - else { - _bound[type][_keys[key].code] = []; - } - }; + Hammer.gestures.Transform = { + name: name, + index: 45, + defaults: { + /** + * minimal scale factor, no scale is 1, zoomin is to 0 and zoomout until higher then 1 + * @property transformMinScale + * @type {Number} + * @default 0.01 + */ + transformMinScale: 0.01, - // reset all bound variables. - _exportFunctions.reset = function() { - _bound = {keydown:{}, keyup:{}}; - }; + /** + * rotation in degrees + * @property transformMinRotation + * @type {Number} + * @default 1 + */ + transformMinRotation: 1 + }, - // unbind all listeners and reset all variables. - _exportFunctions.destroy = function() { - _bound = {keydown:{}, keyup:{}}; - container.removeEventListener('keydown', down, true); - container.removeEventListener('keyup', up, true); + handler: transformGesture }; + })('transform'); - // create listeners. - container.addEventListener('keydown',down,true); - container.addEventListener('keyup',up,true); - - // return the public functions. - return _exportFunctions; - } - - return keycharm; - })); - + /** + * @module hammer + */ + // AMD export + if(true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { + return Hammer; + }.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; + // browser export + } else { + window.Hammer = Hammer; + } + })(window); /***/ }, /* 60 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var RepulsionMixin = __webpack_require__(68); - var HierarchialRepulsionMixin = __webpack_require__(69); - var BarnesHutMixin = __webpack_require__(70); + var RepulsionMixin = __webpack_require__(67); + var HierarchialRepulsionMixin = __webpack_require__(68); + var BarnesHutMixin = __webpack_require__(69); /** * Toggling barnes Hut calculation on and off. @@ -32838,7 +33446,7 @@ return /******/ (function(modules) { // webpackBootstrap canvas: {x: this._XconvertDOMtoCanvas(pointer.x), y: this._YconvertDOMtoCanvas(pointer.y)} } this.emit("click", properties); - this._redraw(); + this._requestRedraw(); }; @@ -32882,7 +33490,7 @@ return /******/ (function(modules) { // webpackBootstrap this._selectObject(edge,true); } } - this._redraw(); + this._requestRedraw(); }; @@ -33041,6 +33649,7 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var Node = __webpack_require__(40); var Edge = __webpack_require__(37); + var Hammer = __webpack_require__(45); /** * clears the toolbar div element of children @@ -33051,11 +33660,24 @@ return /******/ (function(modules) { // webpackBootstrap this._recursiveDOMDelete(this.manipulationDiv); this.manipulationDOM = {}; + this._cleanManipulatorHammers(); + this._manipulationReleaseOverload = function () {}; delete this.sectors['support']['nodes']['targetNode']; delete this.sectors['support']['nodes']['targetViaNode']; this.controlNodesActive = false; - this.freezeSimulationEnabled = false; + this.freezeSimulation(false); + }; + + + exports._cleanManipulatorHammers = function() { + // clean hammer bindings + if (this.manipulationHammers.length != 0) { + for (var i = 0; i < this.manipulationHammers.length; i++) { + this.manipulationHammers[i].dispose(); + } + this.manipulationHammers = []; + } }; /** @@ -33088,13 +33710,12 @@ return /******/ (function(modules) { // webpackBootstrap toolbar.style.display="block"; closeDiv.style.display="block"; editModeDiv.style.display="none"; - closeDiv.onclick = this._toggleEditMode.bind(this); + this._bindHammerToDiv(closeDiv,'_toggleEditMode'); } else { toolbar.style.display="none"; closeDiv.style.display="none"; editModeDiv.style.display="block"; - closeDiv.onclick = null; } this._createManipulatorBar() }; @@ -33110,6 +33731,8 @@ return /******/ (function(modules) { // webpackBootstrap this.off('select', this.boundFunction); } + this._cleanManipulatorHammers(); + var locale = this.constants.locales[this.constants.locale]; if (this.edgeBeingEdited !== undefined) { @@ -33124,7 +33747,7 @@ return /******/ (function(modules) { // webpackBootstrap this._restoreOverloadedFunctions(); // resume calculation - this.freezeSimulationEnabled = false; + this.freezeSimulation(false); // reset global variables this.blockConnectingEdgeSelection = false; @@ -33136,9 +33759,10 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDiv.removeChild(this.manipulationDiv.firstChild); } - this.manipulationDOM['addNodeSpan'] = document.createElement('span'); + this.manipulationDOM['addNodeSpan'] = document.createElement('div'); this.manipulationDOM['addNodeSpan'].className = 'network-manipulationUI add'; - this.manipulationDOM['addNodeLabelSpan'] = document.createElement('span'); + + this.manipulationDOM['addNodeLabelSpan'] = document.createElement('div'); this.manipulationDOM['addNodeLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['addNodeLabelSpan'].innerHTML = locale['addNode']; this.manipulationDOM['addNodeSpan'].appendChild(this.manipulationDOM['addNodeLabelSpan']); @@ -33146,9 +33770,9 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDOM['seperatorLineDiv1'] = document.createElement('div'); this.manipulationDOM['seperatorLineDiv1'].className = 'network-seperatorLine'; - this.manipulationDOM['addEdgeSpan'] = document.createElement('span'); + this.manipulationDOM['addEdgeSpan'] = document.createElement('div'); this.manipulationDOM['addEdgeSpan'].className = 'network-manipulationUI connect'; - this.manipulationDOM['addEdgeLabelSpan'] = document.createElement('span'); + this.manipulationDOM['addEdgeLabelSpan'] = document.createElement('div'); this.manipulationDOM['addEdgeLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['addEdgeLabelSpan'].innerHTML = locale['addEdge']; this.manipulationDOM['addEdgeSpan'].appendChild(this.manipulationDOM['addEdgeLabelSpan']); @@ -33161,9 +33785,9 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDOM['seperatorLineDiv2'] = document.createElement('div'); this.manipulationDOM['seperatorLineDiv2'].className = 'network-seperatorLine'; - this.manipulationDOM['editNodeSpan'] = document.createElement('span'); - this.manipulationDOM['editNodeSpan'].className = 'network-manipulationUI edit'; - this.manipulationDOM['editNodeLabelSpan'] = document.createElement('span'); + this.manipulationDOM['editNodeSpan'] = document.createElement('div'); + this.manipulationDOM['editNodeSpan'].className = 'network-manipulationUI edit node'; + this.manipulationDOM['editNodeLabelSpan'] = document.createElement('div'); this.manipulationDOM['editNodeLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['editNodeLabelSpan'].innerHTML = locale['editNode']; this.manipulationDOM['editNodeSpan'].appendChild(this.manipulationDOM['editNodeLabelSpan']); @@ -33175,9 +33799,9 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDOM['seperatorLineDiv3'] = document.createElement('div'); this.manipulationDOM['seperatorLineDiv3'].className = 'network-seperatorLine'; - this.manipulationDOM['editEdgeSpan'] = document.createElement('span'); - this.manipulationDOM['editEdgeSpan'].className = 'network-manipulationUI edit'; - this.manipulationDOM['editEdgeLabelSpan'] = document.createElement('span'); + this.manipulationDOM['editEdgeSpan'] = document.createElement('div'); + this.manipulationDOM['editEdgeSpan'].className = 'network-manipulationUI edit edge'; + this.manipulationDOM['editEdgeLabelSpan'] = document.createElement('div'); this.manipulationDOM['editEdgeLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['editEdgeLabelSpan'].innerHTML = locale['editEdge']; this.manipulationDOM['editEdgeSpan'].appendChild(this.manipulationDOM['editEdgeLabelSpan']); @@ -33189,9 +33813,9 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDOM['seperatorLineDiv4'] = document.createElement('div'); this.manipulationDOM['seperatorLineDiv4'].className = 'network-seperatorLine'; - this.manipulationDOM['deleteSpan'] = document.createElement('span'); + this.manipulationDOM['deleteSpan'] = document.createElement('div'); this.manipulationDOM['deleteSpan'].className = 'network-manipulationUI delete'; - this.manipulationDOM['deleteLabelSpan'] = document.createElement('span'); + this.manipulationDOM['deleteLabelSpan'] = document.createElement('div'); this.manipulationDOM['deleteLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['deleteLabelSpan'].innerHTML = locale['del']; this.manipulationDOM['deleteSpan'].appendChild(this.manipulationDOM['deleteLabelSpan']); @@ -33200,20 +33824,20 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDiv.appendChild(this.manipulationDOM['deleteSpan']); } - // bind the icons - this.manipulationDOM['addNodeSpan'].onclick = this._createAddNodeToolbar.bind(this); - this.manipulationDOM['addEdgeSpan'].onclick = this._createAddEdgeToolbar.bind(this); + this._bindHammerToDiv(this.manipulationDOM['addNodeSpan'],'_createAddNodeToolbar'); + this._bindHammerToDiv(this.manipulationDOM['addEdgeSpan'],'_createAddEdgeToolbar'); + this._bindHammerToDiv(this.closeDiv,'_toggleEditMode'); + if (this._getSelectedNodeCount() == 1 && this.triggerFunctions.edit) { - this.manipulationDOM['editNodeSpan'].onclick = this._editNode.bind(this); + this._bindHammerToDiv(this.manipulationDOM['editNodeSpan'],'_editNode'); } else if (this._getSelectedEdgeCount() == 1 && this._getSelectedNodeCount() == 0) { - this.manipulationDOM['editEdgeSpan'].onclick = this._createEditEdgeToolbar.bind(this); + this._bindHammerToDiv(this.manipulationDOM['editEdgeSpan'],'_createEditEdgeToolbar'); } if (this._selectionIsEmpty() == false) { - this.manipulationDOM['deleteSpan'].onclick = this._deleteSelected.bind(this); + this._bindHammerToDiv(this.manipulationDOM['deleteSpan'],'_deleteSelected'); } - this.closeDiv.onclick = this._toggleEditMode.bind(this); var me = this; this.boundFunction = me._createManipulatorBar; @@ -33224,20 +33848,26 @@ return /******/ (function(modules) { // webpackBootstrap this.editModeDiv.removeChild(this.editModeDiv.firstChild); } - this.manipulationDOM['editModeSpan'] = document.createElement('span'); + this.manipulationDOM['editModeSpan'] = document.createElement('div'); this.manipulationDOM['editModeSpan'].className = 'network-manipulationUI edit editmode'; - this.manipulationDOM['editModeLabelSpan'] = document.createElement('span'); + this.manipulationDOM['editModeLabelSpan'] = document.createElement('div'); this.manipulationDOM['editModeLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['editModeLabelSpan'].innerHTML = locale['edit']; this.manipulationDOM['editModeSpan'].appendChild(this.manipulationDOM['editModeLabelSpan']); this.editModeDiv.appendChild(this.manipulationDOM['editModeSpan']); - this.manipulationDOM['editModeSpan'].onclick = this._toggleEditMode.bind(this); + this._bindHammerToDiv(this.manipulationDOM['editModeSpan'],'_toggleEditMode'); } }; + exports._bindHammerToDiv = function(domElement, funct) { + var hammer = Hammer(domElement, {prevent_default: true}); + hammer.on('touch', this[funct].bind(this)); + this.manipulationHammers.push(hammer); + } + /** * Create the toolbar for adding Nodes @@ -33254,9 +33884,9 @@ return /******/ (function(modules) { // webpackBootstrap var locale = this.constants.locales[this.constants.locale]; this.manipulationDOM = {}; - this.manipulationDOM['backSpan'] = document.createElement('span'); + this.manipulationDOM['backSpan'] = document.createElement('div'); this.manipulationDOM['backSpan'].className = 'network-manipulationUI back'; - this.manipulationDOM['backLabelSpan'] = document.createElement('span'); + this.manipulationDOM['backLabelSpan'] = document.createElement('div'); this.manipulationDOM['backLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['backLabelSpan'].innerHTML = locale['back']; this.manipulationDOM['backSpan'].appendChild(this.manipulationDOM['backLabelSpan']); @@ -33264,9 +33894,9 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDOM['seperatorLineDiv1'] = document.createElement('div'); this.manipulationDOM['seperatorLineDiv1'].className = 'network-seperatorLine'; - this.manipulationDOM['descriptionSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionSpan'] = document.createElement('div'); this.manipulationDOM['descriptionSpan'].className = 'network-manipulationUI none'; - this.manipulationDOM['descriptionLabelSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionLabelSpan'] = document.createElement('div'); this.manipulationDOM['descriptionLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['descriptionLabelSpan'].innerHTML = locale['addDescription']; this.manipulationDOM['descriptionSpan'].appendChild(this.manipulationDOM['descriptionLabelSpan']); @@ -33276,7 +33906,7 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDiv.appendChild(this.manipulationDOM['descriptionSpan']); // bind the icon - this.manipulationDOM['backSpan'].onclick = this._createManipulatorBar.bind(this); + this._bindHammerToDiv(this.manipulationDOM['backSpan'],'_createManipulatorBar'); // we use the boundFunction so we can reference it when we unbind it from the "select" event. var me = this; @@ -33294,7 +33924,7 @@ return /******/ (function(modules) { // webpackBootstrap // clear the toolbar this._clearManipulatorBar(); this._unselectAll(true); - this.freezeSimulationEnabled = true; + this.freezeSimulation(true); if (this.boundFunction) { this.off('select', this.boundFunction); @@ -33307,9 +33937,9 @@ return /******/ (function(modules) { // webpackBootstrap this.blockConnectingEdgeSelection = true; this.manipulationDOM = {}; - this.manipulationDOM['backSpan'] = document.createElement('span'); + this.manipulationDOM['backSpan'] = document.createElement('div'); this.manipulationDOM['backSpan'].className = 'network-manipulationUI back'; - this.manipulationDOM['backLabelSpan'] = document.createElement('span'); + this.manipulationDOM['backLabelSpan'] = document.createElement('div'); this.manipulationDOM['backLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['backLabelSpan'].innerHTML = locale['back']; this.manipulationDOM['backSpan'].appendChild(this.manipulationDOM['backLabelSpan']); @@ -33317,9 +33947,9 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDOM['seperatorLineDiv1'] = document.createElement('div'); this.manipulationDOM['seperatorLineDiv1'].className = 'network-seperatorLine'; - this.manipulationDOM['descriptionSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionSpan'] = document.createElement('div'); this.manipulationDOM['descriptionSpan'].className = 'network-manipulationUI none'; - this.manipulationDOM['descriptionLabelSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionLabelSpan'] = document.createElement('div'); this.manipulationDOM['descriptionLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['descriptionLabelSpan'].innerHTML = locale['edgeDescription']; this.manipulationDOM['descriptionSpan'].appendChild(this.manipulationDOM['descriptionLabelSpan']); @@ -33329,7 +33959,7 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDiv.appendChild(this.manipulationDOM['descriptionSpan']); // bind the icon - this.manipulationDOM['backSpan'].onclick = this._createManipulatorBar.bind(this); + this._bindHammerToDiv(this.manipulationDOM['backSpan'],'_createManipulatorBar'); // we use the boundFunction so we can reference it when we unbind it from the "select" event. var me = this; @@ -33372,9 +34002,9 @@ return /******/ (function(modules) { // webpackBootstrap var locale = this.constants.locales[this.constants.locale]; this.manipulationDOM = {}; - this.manipulationDOM['backSpan'] = document.createElement('span'); + this.manipulationDOM['backSpan'] = document.createElement('div'); this.manipulationDOM['backSpan'].className = 'network-manipulationUI back'; - this.manipulationDOM['backLabelSpan'] = document.createElement('span'); + this.manipulationDOM['backLabelSpan'] = document.createElement('div'); this.manipulationDOM['backLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['backLabelSpan'].innerHTML = locale['back']; this.manipulationDOM['backSpan'].appendChild(this.manipulationDOM['backLabelSpan']); @@ -33382,9 +34012,9 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDOM['seperatorLineDiv1'] = document.createElement('div'); this.manipulationDOM['seperatorLineDiv1'].className = 'network-seperatorLine'; - this.manipulationDOM['descriptionSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionSpan'] = document.createElement('div'); this.manipulationDOM['descriptionSpan'].className = 'network-manipulationUI none'; - this.manipulationDOM['descriptionLabelSpan'] = document.createElement('span'); + this.manipulationDOM['descriptionLabelSpan'] = document.createElement('div'); this.manipulationDOM['descriptionLabelSpan'].className = 'network-manipulationLabel'; this.manipulationDOM['descriptionLabelSpan'].innerHTML = locale['editEdgeDescription']; this.manipulationDOM['descriptionSpan'].appendChild(this.manipulationDOM['descriptionLabelSpan']); @@ -33394,7 +34024,7 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDiv.appendChild(this.manipulationDOM['descriptionSpan']); // bind the icon - this.manipulationDOM['backSpan'].onclick = this._createManipulatorBar.bind(this); + this._bindHammerToDiv(this.manipulationDOM['backSpan'],'_createManipulatorBar'); // temporarily overload functions this.cachedFunctions["_handleTouch"] = this._handleTouch; @@ -33425,7 +34055,7 @@ return /******/ (function(modules) { // webpackBootstrap this.selectedControlNode = this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(pointer.x),this._YconvertDOMtoCanvas(pointer.y)); if (this.selectedControlNode !== null) { this.selectedControlNode.select(); - this.freezeSimulationEnabled = true; + this.freezeSimulation(true); } this._redraw(); }; @@ -33469,7 +34099,7 @@ return /******/ (function(modules) { // webpackBootstrap else { this.edgeBeingEdited._restoreControlNodes(); } - this.freezeSimulationEnabled = false; + this.freezeSimulation(false); this._redraw(); }; @@ -33511,11 +34141,13 @@ return /******/ (function(modules) { // webpackBootstrap connectionEdge.to = targetNode; this.cachedFunctions["_handleOnDrag"] = this._handleOnDrag; + var me = this; this._handleOnDrag = function(event) { var pointer = this._getPointer(event.gesture.center); - var connectionEdge = this.edges['connectionEdge']; - connectionEdge.to.x = this._XconvertDOMtoCanvas(pointer.x); - connectionEdge.to.y = this._YconvertDOMtoCanvas(pointer.y); + var connectionEdge = me.edges['connectionEdge']; + connectionEdge.to.x = me._XconvertDOMtoCanvas(pointer.x); + connectionEdge.to.y = me._YconvertDOMtoCanvas(pointer.y); + me._redraw(); }; this.moving = true; @@ -33742,18 +34374,18 @@ return /******/ (function(modules) { // webpackBootstrap exports._cleanNavigation = function() { // clean hammer bindings - if (this.navigationHammers.existing.length != 0) { - for (var i = 0; i < this.navigationHammers.existing.length; i++) { - this.navigationHammers.existing[i].dispose(); + if (this.navigationHammers.length != 0) { + for (var i = 0; i < this.navigationHammers.length; i++) { + this.navigationHammers[i].dispose(); } - this.navigationHammers.existing = []; + this.navigationHammers = []; } this._navigationReleaseOverload = function () {}; // clean up previous navigation items - if (this.navigationDivs && this.navigationDivs['wrapper'] && this.navigationDivs['wrapper'].parentNode) { - this.navigationDivs['wrapper'].parentNode.removeChild(this.navigationDivs['wrapper']); + if (this.navigationDOM && this.navigationDOM['wrapper'] && this.navigationDOM['wrapper'].parentNode) { + this.navigationDOM['wrapper'].parentNode.removeChild(this.navigationDOM['wrapper']); } }; @@ -33768,26 +34400,25 @@ return /******/ (function(modules) { // webpackBootstrap exports._loadNavigationElements = function() { this._cleanNavigation(); - this.navigationDivs = {}; + this.navigationDOM = {}; var navigationDivs = ['up','down','left','right','zoomIn','zoomOut','zoomExtends']; var navigationDivActions = ['_moveUp','_moveDown','_moveLeft','_moveRight','_zoomIn','_zoomOut','_zoomExtent']; - this.navigationDivs['wrapper'] = document.createElement('div'); - this.frame.appendChild(this.navigationDivs['wrapper']); + this.navigationDOM['wrapper'] = document.createElement('div'); + this.frame.appendChild(this.navigationDOM['wrapper']); for (var i = 0; i < navigationDivs.length; i++) { - this.navigationDivs[navigationDivs[i]] = document.createElement('div'); - this.navigationDivs[navigationDivs[i]].className = 'network-navigation ' + navigationDivs[i]; - this.navigationDivs['wrapper'].appendChild(this.navigationDivs[navigationDivs[i]]); + this.navigationDOM[navigationDivs[i]] = document.createElement('div'); + this.navigationDOM[navigationDivs[i]].className = 'network-navigation ' + navigationDivs[i]; + this.navigationDOM['wrapper'].appendChild(this.navigationDOM[navigationDivs[i]]); - var hammer = Hammer(this.navigationDivs[navigationDivs[i]], {prevent_default: true}); + var hammer = Hammer(this.navigationDOM[navigationDivs[i]], {prevent_default: true}); hammer.on('touch', this[navigationDivActions[i]].bind(this)); - this.navigationHammers._new.push(hammer); + this.navigationHammers.push(hammer); } this._navigationReleaseOverload = this._stopMovement; - this.navigationHammers.existing = this.navigationHammers._new; }; @@ -34320,19 +34951,6 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 67 */ -/***/ function(module, exports, __webpack_require__) { - - function webpackContext(req) { - throw new Error("Cannot find module '" + req + "'."); - } - webpackContext.keys = function() { return []; }; - webpackContext.resolve = webpackContext; - module.exports = webpackContext; - webpackContext.id = 67; - - -/***/ }, -/* 68 */ /***/ function(module, exports, __webpack_require__) { /** @@ -34402,7 +35020,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 69 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { /** @@ -34561,7 +35179,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 70 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { /** @@ -34965,6 +35583,19 @@ return /******/ (function(modules) { // webpackBootstrap }; +/***/ }, +/* 70 */ +/***/ function(module, exports, __webpack_require__) { + + function webpackContext(req) { + throw new Error("Cannot find module '" + req + "'."); + } + webpackContext.keys = function() { return []; }; + webpackContext.resolve = webpackContext; + module.exports = webpackContext; + webpackContext.id = 70; + + /***/ }, /* 71 */ /***/ function(module, exports, __webpack_require__) { @@ -34984,3 +35615,4 @@ return /******/ (function(modules) { // webpackBootstrap /***/ } /******/ ]) }); +; \ No newline at end of file diff --git a/dist/vis.map b/dist/vis.map index 6dff8588..f19a12ab 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","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","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","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","args","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","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","obj","sortNumber","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","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","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","e","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","time","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","snap","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","parent","selected","displayed","dirty","Hammer","select","unselect","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","foreground","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","prevent_default","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","labelSet","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldGroup","_constructByEndArray","itemFromTarget","initialX","itemProps","newProps","initial","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_determineBrowserMethod","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","physicsTime","runDoubleSpeed","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","customScalingFunction","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","fontDrawThreshold","scaleFontWithValue","fontSizeMin","fontSizeMax","fontSizeMaxVisible","level","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","labelAlignment","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","thetaInverted","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","clusterByZoom","navigation","keyboard","speed","bindToWindow","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","maxVelocity","minVelocity","stabilize","stabilizationIterations","zoomExtentOnStabilize","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","existing","_new","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","images","setOnloadCallback","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulationEnabled","cachedFunctions","startedStabilization","stabilized","draggingNodes","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","browserType","requiresTimeout","_getScriptPath","scripts","getElementsByTagName","src","_getRange","specificNodes","node","minY","maxY","minX","maxX","boundingBox","nodeId","_findCenter","initialZoom","disableStart","zoomLevel","positionDefined","predefinedPosition","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","_unselectAll","_createManipulatorBar","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_bindHammer","_markAllEdgesAsDirty","tabIndex","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","dispose","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_deleteSelected","_cleanupPhysicsConfiguration","_recursiveDOMDelete","DOMobject","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","nodeUnderCursor","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popup","setPosition","setText","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","colorDirty","_removeFromSelection","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","valueTotal","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_revertPhysicsState","revertPosition","_revertPhysicsTick","_doInAllActiveSectors","_doInSupportSector","mainMovingStatus","supportMovingStatus","mainMoving","_animationStep","_handleNavigation","startTime","renderStartTime","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","iterations","freezeSimulation","freeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getCenterCoordinates","getBoundingBox","getConnectedNodes","nodeList","nodeObj","toId","fromId","networkConstants","widthSelected","labelDimensions","yLine","dirtyLabel","fromBackup","toBackup","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","widthDiff","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","atan2","rotate","lineMargin","fillRect","lineJoin","strokeText","setLineDash","pattern","lineDashOffset","lineCap","dashedLine","percentage","arrow","_pointOnBezier","_findBorderPosition","distanceToBorder","distanceToNodes","difference","threshold","arrowPos","guidePos","edgeSegmentLength","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodeFromPosition","getControlNodeToPosition","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","controlnodeFromPos","fromBorderDist","fromBorderPoint","controlnodeToPos","defaultIndex","DEFAULT","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","imagelist","grouplist","reroutedEdges","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","previousState","resetCluster","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","_drawCircularImage","_resizeCircularImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","storeState","isFixed","velocity","getDistance","radiusDiff","fontDiff","_drawImageAtPosition","globalAlpha","drawImage","_drawImageLabel","getTextSize","_swapToImageResizeWhenImageLoaded","diameter","centerX","centerY","_drawRawCircle","circle","clip","textSize","clusterLineWidth","selectionLineWidth","roundRect","database","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","relativeFontSize","strokecolor","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","fontFamily","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","graphData","dotNode","graphNode","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","what","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","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","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_RESULT__","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","VERSION","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","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","monthDiff","anchor2","adjust","wholeMonthDiff","meridiemFixWrap","meridiem","isPm","meridiemHour","isPM","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","updateInProgress","updateOffset","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","_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","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","isValid","_isValid","getTime","bigHour","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","code","model","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","parseTokenOffsetMs","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","_ordinalParse","_ordinalParseLenient","RegExp","regexpEscape","unescapeFormat","utcOffsetFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_meridiem","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","_nextDay","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","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","SS","SSS","SSSS","Z","utcOffset","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_longMonthsParse","_shortMonthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LTS","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","firstDayOfYear","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","relativeTimeThreshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateUtcOffset","inputString","asFloat","that","zoneDiff","humanize","fromNow","sod","startOf","isDST","getDay","endOf","inputMs","isBetween","zone","localAdjust","_changeInProgress","isLocal","isUtcOffset","isUtc","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","isUTC","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","ordinalParse","require","noGlobal","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","maxGravitational","maxSpring","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","detectedZoomingIn","detectedZoomingOut","_collapseSector","_formClusters","_openClusters","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","_openClustersBySize","openAll","containedNodeId","childNode","_expelChildFromParent","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","children","childrenIds","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","_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","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","DOM","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","manipulationDOM","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","boundFunction","edgeBeingEdited","selectedControlNode","_createAddNodeToolbar","_createAddEdgeToolbar","_editNode","_createEditEdgeToolbar","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","firstNode","_setLevelDirected","parentId","parentLevel","nodeMoved","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","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","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","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","args","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","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","obj","sortNumber","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","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","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","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","customTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","itemFromTarget","groupFromTarget","pageX","gesture","pageY","centerContainer","snap","time","snappedTime","what","foreground","labelSet","groupId","linegraph","getLegend","isGroupVisible","visibility","yAxisLeft","yAxisRight","legendLeft","legendRight","hidden","screenToValue","convertHiddenOptions","repeat","dateItem","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","hammerUtil","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","selected","displayed","dirty","Hammer","select","unselect","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","prevent_default","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldGroup","_constructByEndArray","initialX","itemProps","srcEvent","ctrlKey","_onDragStartAddItem","xAbs","newItem","newProps","initial","_updateItemProps","_moveToGroup","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_determineBrowserMethod","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","physicsTime","runDoubleSpeed","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","customScalingFunction","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","fontDrawThreshold","scaleFontWithValue","fontSizeMin","fontSizeMax","fontSizeMaxVisible","level","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","labelAlignment","arrowScaleFactor","dash","gap","altLength","inheritColor","useGradients","configurePhysics","physics","barnesHut","thetaInverted","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","clusterByZoom","navigation","keyboard","speed","bindToWindow","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","maxVelocity","minVelocity","stabilize","stabilizationIterations","zoomExtentOnStabilize","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","useDefaultGroups","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","manipulationHammers","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","redrawRequested","images","setOnloadCallback","_requestRedraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulationEnabled","cachedFunctions","startedStabilization","stabilized","draggingNodes","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","browserType","requiresTimeout","_getScriptPath","scripts","getElementsByTagName","src","_getRange","specificNodes","node","minY","maxY","minX","maxX","boundingBox","nodeId","_findCenter","initialZoom","disableStart","zoomLevel","positionDefined","predefinedPosition","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","_unselectAll","_createManipulatorBar","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_bindHammer","_markAllEdgesAsDirty","tabIndex","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","dispose","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_deleteSelected","_cleanupPhysicsConfiguration","_recursiveDOMDelete","DOMobject","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupVisible","popup","_checkHidePopup","setPosition","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","previousPopupObjId","popupObj","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popupTargetType","popupTargetId","setText","pointerObj","stillOnObj","overNode","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","colorDirty","_removeFromSelection","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","valueTotal","setValueRange","requestAnimationFrame","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_revertPhysicsState","revertPosition","_revertPhysicsTick","_doInAllActiveSectors","_doInSupportSector","mainMovingStatus","supportMovingStatus","mainMoving","_animationStep","_handleNavigation","startTime","renderStartTime","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","iterations","freezeSimulation","freeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getCenterCoordinates","getBoundingBox","getConnectedNodes","nodeList","nodeObj","toId","fromId","getEdgesFromNode","edgesList","generateColorObject","networkConstants","widthSelected","labelDimensions","yLine","dirtyLabel","fromBackup","toBackup","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","widthDiff","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","fromColor","toColor","grd","createLinearGradient","addColorStop","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","pi","originalAngle","atan2","myAngle","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","rotate","lineMargin","fillRect","lineJoin","strokeText","setLineDash","pattern","lineDashOffset","lineCap","dashedLine","percentage","arrow","_pointOnBezier","_findBorderPosition","distanceToBorder","distanceToNodes","difference","threshold","arrowPos","guidePos","edgeSegmentLength","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodeFromPosition","getControlNodeToPosition","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","controlnodeFromPos","fromBorderDist","fromBorderPoint","controlnodeToPos","defaultIndex","groupsArray","groupIndex","DEFAULT","groupName","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","imagelist","grouplist","reroutedEdges","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","previousState","resetCluster","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","_drawCircularImage","_resizeCircularImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_drawIcon","_resizeIcon","_reset","clearSizeCache","_setForce","_addForce","storeState","isFixed","velocity","getDistance","radiusDiff","fontDiff","_drawImageAtPosition","globalAlpha","drawImage","_drawImageLabel","getTextSize","_swapToImageResizeWhenImageLoaded","diameter","centerX","centerY","_drawRawCircle","circle","clip","textSize","clusterLineWidth","selectionLineWidth","roundRect","database","defaultSize","ellipse","_drawShape","radiusMultiplier","_icon","iconTextSpacing","relativeIconSize","iconFontFace","iconColor","baseline","labelUnderNode","relativeFontSize","strokecolor","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","fontFamily","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","graphData","dotNode","graphNode","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","barId","addCustomTime","numIds","customBarId","ts","customBarIds","removeCustomTime","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","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","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","code","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","monthDiff","anchor2","adjust","wholeMonthDiff","meridiemFixWrap","meridiem","isPm","meridiemHour","isPM","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","updateInProgress","updateOffset","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","_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","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","isValid","_isValid","getTime","bigHour","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","model","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","parseTokenOffsetMs","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","_ordinalParse","_ordinalParseLenient","RegExp","regexpEscape","unescapeFormat","utcOffsetFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_meridiem","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","_nextDay","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","SS","SSS","SSSS","Z","utcOffset","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_longMonthsParse","_shortMonthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LTS","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","firstDayOfYear","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","relativeTimeThreshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateUtcOffset","inputString","asFloat","that","zoneDiff","humanize","fromNow","sod","startOf","isDST","getDay","endOf","inputMs","isBetween","zone","localAdjust","_changeInProgress","isLocal","isUtcOffset","isUtc","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","isUTC","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","ordinalParse","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","maxGravitational","maxSpring","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","detectedZoomingIn","detectedZoomingOut","_collapseSector","_formClusters","_openClusters","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","_openClustersBySize","openAll","containedNodeId","childNode","_expelChildFromParent","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","children","childrenIds","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","_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","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","DOM","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","manipulationDOM","_cleanManipulatorHammers","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","_bindHammerToDiv","boundFunction","edgeBeingEdited","selectedControlNode","domElement","funct","_createAddNodeToolbar","_addNode","_createAddEdgeToolbar","_handleConnect","_finishConnect","_createEditEdgeToolbar","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","_editNode","selectedNodes","selectedEdges","navigationDOM","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","firstNode","_setLevelDirected","parentId","parentLevel","nodeMoved","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackContext","req","resolve","webpackPolyfill","paths"],"mappings":"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AQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aAExIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aAExIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,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"} \ No newline at end of file diff --git a/dist/vis.min.css b/dist/vis.min.css index 338598a3..5b953651 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 [class*=span]{min-height:0;width:auto}.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;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%;overflow:visible}.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;padding:0;margin:0}.vis.timeline .item.range .content{position:relative;display:inline-block;max-width:100%;overflow:hidden}.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;border-left: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;border: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;border:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis.timeline .dataaxis .yAxis.title.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.title.left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis.timeline .dataaxis .yAxis.title.right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.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}div.network-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid;box-shadow:3px 3px 10px rgba(128,128,128,.5)} \ No newline at end of file +div.network-manipulation-closeDiv,div.network-manipulationUI,div.network-navigation{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-khtml-user-select:none}div.network-manipulation-closeDiv,div.network-manipulationUI{background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none}.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}.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;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%;overflow:visible}.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;padding:0;margin:0}.vis.timeline .item.range .content{position:relative;display:inline-block;max-width:100%;overflow:hidden}.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;max-width:20%;height:100%;top:0;left:-4px;cursor:w-resize}.vis.timeline .item.range .drag-right{position:absolute;width:24px;max-width:20%;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;border-left: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;border: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;border:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis.timeline .dataaxis .yAxis.title.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.title.left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis.timeline .dataaxis .yAxis.title.right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.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:15px;height:30px}div.network-manipulation-closeDiv{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-image:url(img/network/cross.png);user-select:none}div.network-manipulation-closeDiv:hover{opacity:.6}div.network-manipulationUI{position:relative;top:-7px;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;height:24px;margin:0 0 0 10px;vertical-align:middle;padding:0 8px;user-select:none}div.network-manipulationUI:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.network-manipulationUI:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.network-manipulationUI.back{background-image:url(img/network/backIcon.png)}div.network-manipulationUI.none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.network-manipulationUI.none:active{box-shadow:1px 1px 8px transparent}div.network-manipulationUI.none{padding:0}div.network-manipulationUI.notification{margin:2px;font-weight:700}div.network-manipulationUI.add{background-image:url(img/network/addNodeIcon.png)}div.network-manipulationUI.edit{background-image:url(img/network/editIcon.png)}div.network-manipulationUI.edit.editmode{background-color:#fcfcfc;border-style:solid;border-width:1px;border-color:#ccc}div.network-manipulationUI.connect{background-image:url(img/network/connectIcon.png)}div.network-manipulationUI.delete{background-image:url(img/network/deleteIcon.png)}div.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;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}div.network-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid;box-shadow:3px 3px 10px rgba(128,128,128,.5)} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 314f8995..c385c14a 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.10.0 - * @date 2015-02-11 + * @version 3.11.0 + * @date 2015-03-05 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,18 +22,18 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Edge:i(37),Groups:i(38),Images:i(39),Node:i(40),Popup:i(41),dotparser:i(42),gephiParser:i(43)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(44),e.hammer=i(45)},function(t,e,i){var s=i(44);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.giveRange=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=o.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},e.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.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},e.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},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){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(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(s.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):s(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return s(t);if(t instanceof Date)return s(t.valueOf());if(s.isMoment(t))return s(t);if(e.isString(t))return n=o.exec(t),s(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(s.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=o.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var o=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},e.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},e.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},e.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},e.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},e.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.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)},e.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)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.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},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,s){return e+e+i+i+s+s});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var s=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+s[0]+","+s[1]+","+s[2]+","+i+")"}var s=e.hexToRGB(t);return null==s?t:"rgba("+s.r+","+s.g+","+s.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var s=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(s[0],s[1],s[2])}if(e.isValidHex(t)){var o=e.hexToHSV(t),n={h:o.h,s:.45*o.s,v:Math.min(1,1.05*o.v)},r={h:o.h,s:Math.min(1,1.25*o.v),v:.6*o.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(n.h,n.s,n.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||"white",i.border=t.border||i.background,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||i.background,i.highlight.border=t.highlight&&t.highlight.border||i.border),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||i.background,i.hover.border=t.hover&&t.hover.border||i.border);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var n={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var s=n.split(t.style.cssText),o=n.split(i),r=e.extend(s,o);t.style.cssText=n.join(r)},e.removeCssText=function(t,e){var i=n.split(t.style.cssText),s=n.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=n.join(i)},e.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)}},e.HSVToHex=function(t,i,s){var o=e.HSVToRGB(t,i,s);return e.RGBToHex(o.r,o.g,o.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var s=Object.create(i),o=0;o=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===s?d[i]:d[i][s],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,n++}return-1},e.binarySearchValue=function(t,e,i,s){for(var o,n,r,a,h=1e4,d=0,l=0,c=t.length-1;c>=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},e.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)},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&r.setAttributeNS(null,"style",s.group.options.drawPoints.styles),r.setAttributeNS(null,"class",s.className+" point"),r},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var o=i(1),n=i(5);s.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=n.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var m=h[p];c[m]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var m={},f=0,g=c.length;g>f;f++){var v=c[f];m[v]=t.getValue(p,f)}h(m)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,m=i&&i.filter,f=[];if(void 0!=t)d=n._getItem(t,u),m&&!m(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!m||m(d))&&f.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!m||m(d))&&f.push(d));if(i&&i.order&&void 0==t&&this._sort(f,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=f.length;p>c;c++)f[c]=this._filterFields(f[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(f[c]);return s}return f},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){if(!t)return t;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],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,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.length=0,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.length=0,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.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},s=[],o=[],n=0;ns;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))}this.length+=d.length-c.length,d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t){function e(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}e.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},e.extend=function(t,i){var s=new e(i);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){s.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},e.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new p,this.eye=new l(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)}function o(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function n(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(56),a=i(3),h=i(4),d=i(1),l=i(10),c=i(9),p=i(7),u=i(8),m=i(11),f=i(12);r(s.prototype),s.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(u-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new f(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new l(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new f(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new l(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new f(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 l(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new l(n,r,this.zMin)),e=this._convert3Dto2D(new l(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 l(this.xMin,this.yMin,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),p=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(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 l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(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 l(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 M=this.yLabel;M.length>0&&(d=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new l(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(M,o.x,o.y));var S=this.zLabel;S.length>0&&(h=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 l(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(S,o.x-h,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,h,d,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+M.x/S/2,1),a=this._hsv2rgb(c,p,u),h=a):(u=1,a=this._hsv2rgb(c,p,u),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,g.lineWidth=d,g.fillStyle=a,g.strokeStyle=h,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=o(t),this.startMouseY=n(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)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(o(t))-this.startMouseX,i=parseFloat(n(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/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 c(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 d=n.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var p=d[l],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)}}},t.exports=s},function(t,e,i){function s(){this.armLocation=new o,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new o,this.cameraRotation=new o(.5*Math.PI,0,0),this.calculateCameraOrientation()}var o=i(10);s.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},s.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()},s.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},s.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},s.prototype.getArmLength=function(){return this.armLength},s.prototype.getCameraLocation=function(){return this.cameraLocation},s.prototype.getCameraRotation=function(){return this.cameraRotation},s.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=s},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t -},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return u.timeAxis.step.scale},getStep:function(){return u.timeAxis.step.step},toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},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){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(34);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t){function e(t,e,i,s,o,n){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.alignZeros=n,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),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,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(t){var e=Math.abs(this.current)0;s--){if("0"!=i[s]){if("."==i[s]||","==i[s]){i=i.slice(0,s);break}break}i=i.slice(0,s)}}else{var o="",n=i.indexOf("e");if(-1!=n&&(o=i.slice(n),i=i.slice(0,n)),n=Math.max(i.indexOf(","),i.indexOf(".")),-1===n?(0!==t&&(i+="."),n=i.length+t):0!==t&&(n+=t+1),n>i.length)for(var r=n-i.length;r>0;r--)i+="0";else i=i.slice(0,n);i+=o}return i},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(25),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i,s){s!==!0&&(s=!1);var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1,m=function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,g=i||null===o?o:r.easeInOutQuad(e,h,o,c),v=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(g,v),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:s}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:s}):a.animateTimer=setTimeout(m,20)}};return m()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var g={start:new Date(this.start),end:new Date(this.end),byUser:s};this.body.emitter.emit("rangechange",g),this.body.emitter.emit("rangechanged",g)}},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&&od&&(d=0),o-s>d&&(this.end-this.start===d&&sthis.end?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return s>=this.start&&s<=this.end||o>=this.start&&o<=this.end||this.start>=s&&this.start<=o||this.end>=s&&this.end<=o||this.body.emitter.emit("checkRangedItems"),this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},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),byUser:!0}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.props.touch.start-(i-o))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[]),this.format=s.FORMAT}var o=i(44),n=i(15),r=i(1);s.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},s.prototype.setFormat=function(t){var e=r.deepExtend({},s.FORMAT);this.format=r.deepExtend(e,t)},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"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1); -break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"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"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"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"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,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,s=864e5,o=36e5,n=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*s>t&&(this.scale="day",this.step=5),2*s>t&&(this.scale="day",this.step=2),s>t&&(this.scale="day",this.step=1),s/2>t&&(this.scale="weekday",this.step=1),4*o>t&&(this.scale="hour",this.step=4),o>t&&(this.scale="hour",this.step=1),15*n>t&&(this.scale="minute",this.step=15),10*n>t&&(this.scale="minute",this.step=10),5*n>t&&(this.scale="minute",this.step=5),n>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},s.snap=function(t,e,i){var s=new Date(t.valueOf());if("year"==e){var o=s.getFullYear()+Math.round(s.getMonth()/12);s.setFullYear(Math.round(o/i)*i),s.setMonth(0),s.setDate(0),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("month"==e)s.getDate()>15?(s.setDate(1),s.setMonth(s.getMonth()+1)):s.setDate(1),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:s.setHours(24*Math.round(s.getHours()/24));break;default:s.setHours(12*Math.round(s.getHours()/12))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:s.setHours(12*Math.round(s.getHours()/12));break;default:s.setHours(6*Math.round(s.getHours()/6))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:s.setMinutes(60*Math.round(s.getMinutes()/60));break;default:s.setMinutes(30*Math.round(s.getMinutes()/30))}s.setSeconds(0),s.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:s.setMinutes(5*Math.round(s.getMinutes()/5)),s.setSeconds(0);break;case 5:s.setSeconds(60*Math.round(s.getSeconds()/60));break;default:s.setSeconds(30*Math.round(s.getSeconds()/30))}s.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:s.setSeconds(5*Math.round(s.getSeconds()/5)),s.setMilliseconds(0);break;case 5:s.setMilliseconds(1e3*Math.round(s.getMilliseconds()/1e3));break;default:s.setMilliseconds(500*Math.round(s.getMilliseconds()/500))}else if("millisecond"==e){var n=i>5?i/2:1;s.setMilliseconds(Math.round(s.getMilliseconds()/n)*n)}return s},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},s.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(o().add(1,"day"),"day")?" tomorrow":t.isSame(o().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function s(t){return t.isSame(new Date,"month")?" current-month":""}function n(t){return t.isSame(new Date,"year")?" current-year":""}var r=o(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-"+(d+4)),d+"h"+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"day"+l+" "+c+s(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+s(a)+t(a.month());case"year":var p=a.year();return"year"+p+n(a)+t(p);default:return""}},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(45),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;if(e!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(20);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",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-2*this.options.padding,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?o>0?Math.max(-s,0):-e:0>s?Math.min(-s,o-s-e-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){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(25),r=i(44),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(25),a=i(16);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format","alignZeros"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.hidden=!1,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.hidden=!0,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){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n) -}return t},s.prototype._redrawLabels=function(){var t=!1;n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,s=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=s;var o=(this.dom.frame.offsetHeight-s.deadSpace*(this.dom.frame.offsetHeight/s.marginRange))/((s.marginRange-s.deadSpace)/s.step);this.stepPixels=o;var r=this.height/o,h=0;if(0==this.master){o=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/o-r);for(var d=0;.5*h>d;d++)s.previous();if(r=this.height/o,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=s.marginEnd/s.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)s.next();else if(0>l)for(var d=0;-l>d;d++)s.previous()}}else r+=.25;this.valueAtZero=s.marginEnd;var c,p=0,u=1;void 0!==this.options.format[e]&&(c=this.options.format[e].decimals),this.maxLabelSize=0;for(var m=0;u=0&&this._redrawLabel(m-2,s.getCurrent(c),e,"yAxis major",this.props.majorCharHeight),this._redrawLine(m,e,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(m,e,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==s.current&&(this.zeroCrossing=u),u++}this.conversionFactor=0==this.master?m/(this.valueAtZero-s.current):this.dom.frame.offsetHeight/s.marginRange;var g=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(g=this.props.titleCharHeight);var v=1==this.options.icons?Math.max(this.options.iconWidth,g)+this.options.labelOffsetX+15:g+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-v&&1==this.options.visible?(this.width=this.maxLabelSize+v,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+v),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),t=!1),t},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(n=0;nl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,n=0;nl})}for(n=0;n=0&&(n=e[r],!o(n));r--)void 0===s[n.id]&&(s[n.id]=!0,i.push(n));for(r=t+1;rs;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),c=i(31),p=i(22),u=i(23),m=i(24),f=i(21),g="__ungrouped__",v="__background__";s.prototype=new d,s.types={background:f,box:p,range:m,point:u},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new c(v,null,this);r.show(),this.groups[v]=r,this.hammer=o(this.body.dom.centerContainer,{preventDefault:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},f=0,g=t.axis+t.item.vertical;return this.groups[v].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,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[g];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[g];this.groups[v]}if(this.groupsData){if(i){i.hide(),delete this.groups[g];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new l(n,r,this),this.groups[g]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?v:this.groupsData?t.group:g},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==g||t==v)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new l(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:a})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l=this.body.util.getScale(),c=this.body.util.getStep(),p={start:i?i(d,l,c):d,content:"new item"};if("range"===this.options.type){var u=this.body.util.toTime(h+this.props.width/5);p.end=i?i(u,l,c):u}p[this.itemsData._fieldId]=n.randomUUID();var m=this.groupFromTarget(t);m&&(p.group=m.groupId),this.options.onAdd(p,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},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.prototype.groupFromTarget=function(t){for(var e=t.gesture.center.clientY,i=0;ia&&ea)return o}else if(0===i&&e"));this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!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.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),c=i(33),p=i(50),u="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),this._applySampling(a,c),e=0;eu&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a=[],h=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,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&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;ny;)y++,l=h.getCurrent(),c=h.isMajor(),u=h.getClassName(),f=m,m=this.body.util.toScreen(l),g=m-f,p&&(p.style.width=g+"px"),this.options.showMinorLabels&&this._repaintMinorText(m,h.getLabelMinor(),t,u),c&&this.options.showMajorLabels?(m>0&&(void 0==v&&(v=m),this._repaintMajorText(m,h.getLabelMajor(),t,u)),p=this._repaintMajorLine(m,t,u)):p=this._repaintMinorLine(m,t,u),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),_=h.getLabelMajor(b),x=_.length*(this.props.majorCharWidth||10)+10;(void 0==v||v>x)&&this._repaintMajorText(0,_,t,u)}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,s){var o=this.dom.redundant.minorTexts.shift();if(!o){var n=document.createTextNode("");o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.childNodes[0].nodeValue=e,o.style.top="top"==i?this.props.majorLabelHeight+"px":"0",o.style.left=t+"px",o.className="text minor "+s},s.prototype._repaintMajorText=function(t,e,i,s){var o=this.dom.redundant.majorTexts.shift();if(!o){var n=document.createTextNode(e);o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.majorTexts.push(o),o.childNodes[0].nodeValue=e,o.className="text major "+s,o.style.top="top"==i?"0":this.props.minorLabelHeight+"px",o.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?o.majorLabelHeight+"px":this.body.domProps.top.height+"px",s.style.height=o.minorLineHeight+"px",s.style.left=t-o.minorLineWidth/2+"px",s.className="grid vertical minor "+i,s},s.prototype._repaintMajorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?"0":this.body.domProps.top.height+"px",s.style.left=t-o.majorLineWidth/2+"px",s.style.height=o.majorLineHeight+"px",s.className="grid vertical major "+i,s},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},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._determineBrowserMethod(),this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=0,this.physicsTime=0,this.runDoubleSpeed=!1,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null};var o=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)};this.defaultOptions={nodes:{customScalingFunction:o,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,fontStrokeWidth:0,fontStrokeColor:"#ffffff",fontDrawThreshold:3,scaleFontWithValue:!1,fontSizeMin:14,fontSizeMax:30,fontSizeMaxVisible:30,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{customScalingFunction:o,widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},opacity:1,fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",fontStrokeWidth:0,fontStrokeColor:"white",labelAlignment:"horizontal",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,thetaInverted:2,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,clusterByZoom:!0},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},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},maxVelocity:50,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,zoomExtentOnStabilize:!0,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.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],_new:[]},this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.animating=!1,this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null,this.touchTime=0;var n=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){n._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.freezeSimulationEnabled=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.draggingNodes=!1,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){n._addNodes(e.items),n.start()},update:function(t,e){n._updateNodes(e.items,e.data),n.start()},remove:function(t,e){n._removeNodes(e.items),n.start()}},this.edgesListeners={add:function(t,e){n._addEdges(e.items),n.start()},update:function(t,e){n._updateEdges(e.items),n.start()},remove:function(t,e){n._removeEdges(e.items),n.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({duration:0},!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(56),n=i(45),r=i(59),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),m=i(39),f=i(40),g=i(37),v=i(41),y=i(52),b=i(53),_=i(54);i(55),o(s.prototype),s.prototype._determineBrowserMethod=function(){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,-1!=t.indexOf("msie 9.0")?this.requiresTimeout=!0:-1!=t.indexOf("safari")&&t.indexOf("chrome")<=-1&&(this.requiresTimeout=!0)},s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;e0)for(var r=0;re.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),se.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),s.5*this.nodeIndices.length)return void this.zoomExtent(t,!1,i);s=this._getRange(t.nodes);var h=this.nodeIndices.length;o=1==this.constants.smoothCurves?1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?49.07548/(h+142.05338)+91444e-8:12.662/(h+7.4147)+.0964822:1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?77.5271985/(h+187.266146)+476710517e-13:30.5062972/(h+19.93597763)+.08413486; -var d=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);o*=d}else{s=this._getRange(t.nodes);var l=1.1*Math.abs(s.maxX-s.minX),c=1.1*Math.abs(s.maxY-s.minY),p=this.frame.canvas.clientWidth/l,u=this.frame.canvas.clientHeight/c;o=u>=p?p:u}o>1&&(o=1);var m=this._findCenter(s);if(0==i){var t={position:m,scale:o,animation:t};this.moveTo(t),this.moving=!0,this.start()}else m.x*=o,m.y*=o,m.x-=.5*this.frame.canvas.clientWidth,m.y-=.5*this.frame.canvas.clientHeight,this._setScale(o),this._setTranslation(-m.x,-m.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._unselectAll(!0),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(1==this.constants.dataManipulation.enabled&&this._createManipulatorBar(),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()):1==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)),this.constants.edges.inheritColor=!1),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||(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._bindHammer(),this._createKeyBinds(),this._markAllEdgesAsDirty(),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.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this._bindHammer()},s.prototype._bindHammer=function(){var t=this;void 0!==this.hammer&&this.hammer.dispose(),this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",t._onTap.bind(t)),this.hammer.on("doubletap",t._onDoubleTap.bind(t)),this.hammer.on("hold",t._onHold.bind(t)),this.hammer.on("touch",t._onTouch.bind(t)),this.hammer.on("dragstart",t._onDragStart.bind(t)),this.hammer.on("drag",t._onDrag.bind(t)),this.hammer.on("dragend",t._onDragEnd.bind(t)),1==this.constants.zoomable&&(this.hammer.on("mousewheel",t._onMouseWheel.bind(t)),this.hammer.on("DOMMouseScroll",t._onMouseWheel.bind(t)),this.hammer.on("pinch",t._onPinch.bind(t))),this.hammer.on("mousemove",t._onMouseMoveTitle.bind(t)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",t._onRelease.bind(t)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=r(1==this.constants.keyboard.bindToWindow?{container:window,preventDefault:!1}:{container:this.frame,preventDefault:!1}),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype.destroy=function(){this.start=function(){},this.redraw=function(){},this.timer=!1,this._cleanupPhysicsConfiguration(),this.keycharm.reset(),this.hammer.dispose(),this.off(),this._recursiveDOMDelete(this.containerElement)},s.prototype._recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)this._recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},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){(new Date).valueOf()-this.touchTime>100&&(this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this.touchTime=(new Date).valueOf(),this._handleTouch(this.drag.pointer))},s.prototype._onDragStart=function(t){this._handleDragStart(t)},s.prototype._handleDragStart=function(t){void 0===this.drag.pointer&&this._onTouch(t);var e=this._getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=this._getTranslation(),this.drag.nodeId=null,this.draggingNodes=!1,null!=e&&1==this.constants.dragNodes){this.draggingNodes=!0,this.drag.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,this.drag.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),0==this.draggingNodes?this.emit("dragEnd",{nodeIds:[]}):this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i),0==this.constants.keyboard.bindToWindow&&1==this.constants.keyboard.enabled&&this.frame.focus();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,o=!1;if(void 0==this.popupObj){var n=this.nodes,r=[];for(e in n)if(n.hasOwnProperty(e)){var a=n[e];a.isOverlappingWith(i)&&void 0!==a.getTitle()&&r.push(e)}r.length>0&&(this.popupObj=this.nodes[r[r.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var h=this.edges,d=[];for(e in h)if(h.hasOwnProperty(e)){var l=h[e];l.connected&&void 0!==l.getTitle()&&l.isOverlappingWith(i)&&d.push(e)}d.length>0&&(this.popupObj=this.edges[d[d.length-1]])}if(this.popupObj){if(this.popupObj!=s){var c=this;c.popup||(c.popup=new v(c.frame,c.constants.tooltip)),c.popup.setPosition(t.x-3,t.y-3),c.popup.setText(c.popupObj.getTitle()),c.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth*this.pixelRatio&&(this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight*this.pixelRatio&&(this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width*this.pixelRatio,height:this.frame.canvas.height*this.pixelRatio,oldWidth:s*this.pixelRatio,oldHeight:o*this.pixelRatio})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new f(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i),this._markAllEdgesAsDirty()},s.prototype._markAllEdgesAsDirty=function(){for(var t in this.edges)this.edges[t].colorDirty=!0},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.nodes[t[i]]&&(this.nodes[t[i]].unselect(),this._removeFromSelection(this.nodes[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.edges[t[i]]&&(e[t[i]].unselect(),this._removeFromSelection(e[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0,o=0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),s=void 0===s?n:Math.max(n,s),o+=n)}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s,o)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._redraw=function(t){var e=this.frame.canvas.getContext("2d");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.frame.canvas.clientWidth,s=this.frame.canvas.clientHeight;e.clearRect(0,0,i,s),e.save(),e.translate(this.translation.x,this.translation.y),e.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)},1!=t&&(this._doInAllSectors("_drawAllSectorNodes",e),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",e)),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",e,!1),1!=t&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",e),e.restore(),1==t&&e.clearRect(0,0,i,s)},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._revertPhysicsState=function(){var t=this.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].revertPosition()},s.prototype._revertPhysicsTick=function(){this._doInAllActiveSectors("_revertPhysicsState"),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&this._doInSupportSector("_revertPhysicsState")},s.prototype._physicsTick=function(){if(!this.freezeSimulationEnabled&&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;s2*e||1==this.runDoubleSpeed)&&1==this.moving&&(this._physicsTick(),0!=this.renderTime&&(this.runDoubleSpeed=!0))}var i=Date.now();this._redraw(),this.renderTime=Date.now()-i,this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(1==this.moving||0!=this.xIncrement||0!=this.yIncrement||0!=this.zoomIncrement||1==this.animating)this.timer||(this.timer=1==this.requiresTimeout?window.setTimeout(this._animationStep.bind(this),this.renderTimestep):window.requestAnimationFrame(this._animationStep.bind(this)));else if(this._redraw(),this.stabilizationIterations>1){var t=this,e={iterations:t.stabilizationIterations};this.stabilizationIterations=0,this.startedStabilization=!1,setTimeout(function(){t.emit("stabilized",e)},0)}else this.stabilizationIterations=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.freezeSimulation=function(t){1==t?(this.freezeSimulationEnabled=!0,this.moving=!1):(this.freezeSimulationEnabled=!1,this.moving=!0,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new f({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.animating=!1,this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished")) -},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},s.prototype.getBoundingBox=function(t){return void 0!==this.nodes[t]?this.nodes[t].boundingBox:void 0},s.prototype.getConnectedNodes=function(t){var e=[];if(void 0!==this.nodes[t])for(var i=this.nodes[t],s={nodeId:!0},o=0;oh}return!1},s.prototype._getColor=function(){var t=this.options.color;return this.colorDirty===!0&&("to"==this.options.inheritColor?t={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(t={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}),this.options.color=t,this.colorDirty=!1),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(){if(1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled)return this.via;if(0==this.options.smoothCurves.enabled)return{x:0,y:0};var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}var o=this.labelDimensions.yLine;t.save(),"horizontal"!=this.options.labelAlignment&&(t.translate(i,o),this._rotateForLabelAlignment(t),i=0,o=0),this._drawLabelRect(t),this._drawLabelText(t,i,o,n,r,a),t.restore()}},s.prototype._rotateForLabelAlignment=function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,s=Math.atan2(e,i);(-1>s&&0>i||s>0&&0>i)&&(s+=Math.PI),t.rotate(s)},s.prototype._drawLabelRect=function(t){if(void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){t.fillStyle=this.options.fontFill;var e=2;"line-center"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,.5*-this.labelDimensions.height,this.labelDimensions.width,this.labelDimensions.height):"line-above"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,-(this.labelDimensions.height+e),this.labelDimensions.width,this.labelDimensions.height):"line-below"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,e,this.labelDimensions.width,this.labelDimensions.height):t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)}},s.prototype._drawLabelText=function(t,e,i,s,o,n){if(t.fillStyle=this.options.fontColor||"black",t.textAlign="center","horizontal"!=this.options.labelAlignment){var r=2;"line-above"==this.options.labelAlignment?(t.textBaseline="alphabetic",i-=2*r):"line-below"==this.options.labelAlignment?(t.textBaseline="hanging",i+=2*r):t.textBaseline="middle"}else t.textBaseline="middle";this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=this.options.fontStrokeColor,t.lineJoin="round");for(var a=0;o>a;a++)this.options.fontStrokeWidth>0&&t.strokeText(s[a],e,i),t.fillText(s[a],e,i),i+=n},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.setLineDash){t.save();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],t.setLineDash(i),t.lineDashOffset=0,e=this._line(t),t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._pointOnBezier=function(t){var e=this._getViaCoordinates(),i=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.to.x,s=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.to.y;return{x:i,y:s}},s.prototype._findBorderPosition=function(t,e){var i,s,o,n,r,a=10,h=0,d=0,l=1,c=.2,p=this.to;for(1==t&&(p=this.from);l>=d&&a>h;){var u=.5*(d+l);if(i=this._pointOnBezier(u),s=Math.atan2(p.y-i.y,p.x-i.x),o=p.distanceToBorder(e,s),n=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=o-n,Math.abs(r)r?0==t?d=u:l=u:0==t?l=u:d=u,h++}return i.t=u,i},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i,s;if(this.from!=this.to){if(this._line(t),1==this.options.smoothCurves.enabled){var o=this._getViaCoordinates();s=this._findBorderPosition(!1,t);var n=this._pointOnBezier(Math.max(0,s.t-.1));e=Math.atan2(s.y-n.y,s.x-n.x)}else{e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var r=this.to.x-this.from.x,a=this.to.y-this.from.y,h=Math.sqrt(r*r+a*a),d=this.to.distanceToBorder(t,e),l=(h-d)/h;s={},s.x=(1-l)*this.from.x+l*this.to.x,s.y=(1-l)*this.from.y+l*this.to.y}if(i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(s.x,s.y,e,i),t.fill(),t.stroke(),this.label){var c;c=1==this.options.smoothCurves.enabled&&null!=o?this._pointOnBezier(.5):this._pointOnLine(.5),this._label(t,this.label,c.x,c.y)}}else{var p,u,m,f=this.from,g=.25*Math.max(100,this.physics.springLength);f.width||f.resize(t),f.width>f.height?(p=f.x+.5*f.width,u=f.y-g,m={x:p,y:f.y,angle:.9*Math.PI}):(p=f.x+g,u=f.y-.5*f.height,m={x:f.x,y:u,angle:.6*Math.PI}),t.beginPath(),t.arc(p,u,g,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(m.x,m.y,m.angle,i),t.fill(),t.stroke(),this.label&&(c=this._pointOnCircle(p,u,g,.5),this._label(t,this.label,c.x,c.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,m,f,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,m=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(f,g,u,m,o,n),v=v>l?l:v),f=u,g=m;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,m,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,m=x.y-_):(u=x.x+_,m=x.y-.5*x.height),y=u-o,b=m-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):null!==this.via&&(this.via.x=0,this.via.y=0)},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:7,borderWidth:2,borderWidthSelected:2},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}this.controlNodes.positions={},0==this.controlNodes.from.selected&&(this.controlNodes.positions.from=this.getControlNodeFromPosition(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y),0==this.controlNodes.to.selected&&(this.controlNodes.positions.to=this.getControlNodeToPosition(t),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.fromBackup=this.from,this.toBackup=this.to,this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.fromId=this.from.id,this.toId=this.to.id,this.fromId!=this.fromBackup.id?this.fromBackup.detachEdge(this):this.toId!=this.toBackup.id&&this.toBackup.detachEdge(this),this.fromBackup=null,this.toBackup=null,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.getControlNodeFromPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!0,t);else{var 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;e={},e.x=a*this.from.x+(1-a)*this.to.x,e.y=a*this.from.y+(1-a)*this.to.y}return e},s.prototype.getControlNodeToPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!1,t);else{var 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.to.distanceToBorder(t,i),a=(n-r)/n;e={},e.x=(1-a)*this.from.x+a*this.to.x,e.y=(1-a)*this.from.y+a*this.to.y}return e},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}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},t.exports=s},function(t){function e(){this.images={},this.imageBroken={},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,i.onload=function(){0==this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),s.callback&&(s.images[t]=i,s.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,s.callback&&s.callback(this)):s.imageBroken[t]===!0?this.src==e?(console.error("Could not load brokenImage:",e),delete this.src,s.callback&&s.callback(this)):(console.error("Could not load image:",t),this.src=e):(console.error("Could not load image:",t),this.src=e,s.imageBroken[t]=!0)},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.id=void 0,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.boundingBox={top:0,left:0,right:0,bottom:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.x=null,this.y=null,this.predefinedPosition=!1,this.previousState={vx:0,vy:0,x:0,y:0},this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),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.revertPosition=function(){this.x=this.previousState.x,this.y=this.previousState.y,this.vx=this.previousState.vx,this.vy=this.previousState.vy},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)},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1)},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","group","mass","fontDrawThreshold","scaleFontWithValue","fontSizeMaxVisible","customScalingFunction"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x,this.predefinedPosition=!0),void 0!==t.y&&(this.y=t.y,this.predefinedPosition=!0),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 t.group||"string"==typeof t.group&&""!=t.group){var s=this.grouplist.get(t.group);o.deepExtend(this.options,s),this.options.color=o.parseColor(this.options.color)}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,("image"===this.options.shape||"circularImage"===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"circularImage":this.draw=this._drawCircularImage,this.resize=this._resizeCircularImage;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.storeState=function(){this.previousState.x=this.x,this.previousState.y=this.y,this.previousState.vx=this.vx,this.previousState.vy=this.vy},s.prototype.discreteStep=function(t){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e,i){if(!this.radiusFixed&&void 0!==this.value){var s=this.options.customScalingFunction(t,e,i,this.value),o=this.options.radiusMax-this.options.radiusMin;if(1==this.options.scaleFontWithValue){var n=this.options.fontSizeMax-this.options.fontSizeMin;this.options.fontSize=this.options.fontSizeMin+s*n}this.options.radius=this.options.radiusMin+s*o}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._drawImageAtPosition=function(t){if(0!=this.imageObj.width){if(this.clusterSize>1){var e=this.clusterSize>1?10:0;e*=this.networkScaleInv,e=Math.min(.2*this.width,e),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-e,this.top-e,this.width+2*e,this.height+2*e)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height)}},s.prototype._drawImageLabel=function(t){var e,i=0;if(this.height){i=this.height/2;var s=this.getTextSize(t);s.lineCount>=1&&(i+=s.height/2,i+=3)}e=this.y+i,this._label(t,this.label,this.x,e,void 0)},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawImageAtPosition(t),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height) -},s.prototype._resizeCircularImage=function(t){if(this.imageObj.src&&this.imageObj.width&&this.imageObj.height)this._swapToImageResizeWhenImageLoaded&&(this.width=0,this.height=0,delete this._swapToImageResizeWhenImageLoaded),this._resizeImage(t);else if(!this.width){var e=2*this.options.radius;this.width=e,this.height=e,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*e,this._swapToImageResizeWhenImageLoaded=!0}},s.prototype._drawCircularImage=function(t){this._resizeCircularImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=this.left+this.width/2,i=this.top+this.height/2,s=Math.abs(this.height/2);this._drawRawCircle(t,e,i,s),t.save(),t.circle(this.x,this.y,s),t.stroke(),t.clip(),this._drawImageAtPosition(t),t.restore(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},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.hover?this.options.color.hover.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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._drawRawCircle=function(t,e,i,s){var o=2.5,n=this.options.borderWidth,r=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?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(e,i,s+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o: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,s),t.fill(),t.stroke()},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawRawCircle(t,this.x,this.y,this.options.radius),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,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.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this.label&&(this._label(t,this.label,this.x,this.y+this.height/2,void 0,"hanging",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height))},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),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height},s.prototype._label=function(t,e,i,s,n,r,a){var h=Number(this.options.fontSize)*this.networkScale;if(e&&h>=this.options.fontDrawThreshold-1){var d=Number(this.options.fontSize);h>=this.options.fontSizeMaxVisible&&(d=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv);var l=this.options.fontColor||"#000000",c=this.options.fontStrokeColor;if(h<=this.options.fontDrawThreshold){var p=Math.max(0,Math.min(1,1-(this.options.fontDrawThreshold-h)));l=o.overrideOpacity(l,p),c=o.overrideOpacity(c,p)}t.font=(this.selected?"bold ":"")+d+"px "+this.options.fontFace;var u=e.split("\n"),m=u.length,f=s+(1-m)/2*d;1==a&&(f=s+(1-m)/(2*d));for(var g=t.measureText(u[0]).width,v=1;m>v;v++){var y=t.measureText(u[v]).width;g=y>g?y:g}var b=d*m,_=i-g/2,x=s-b/2;"hanging"==r&&(x+=.5*d,x+=4,f+=4),this.labelDimensions={top:x,left:_,width:g,height:b,yLine:f},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(_,x,g,b)),t.fillStyle=l,t.textAlign=n||"center",t.textBaseline=r||"middle",this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var v=0;m>v;v++)this.options.fontStrokeWidth&&t.strokeText(u[v],i,f),t.fillText(u[v],i,f),f+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){var e=Number(this.options.fontSize);e*this.networkScale>this.options.fontSizeMaxVisible&&(e=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv),t.font=(this.selected?"bold ":"")+e+"px "+this.options.fontFace;for(var i=this.label.split("\n"),s=(e+4)*i.length,o=0,n=0,r=i.length;r>n;n++)o=Math.max(o,t.measureText(i[n]).width);return{width:o,height:s,lineCount:i.length}}return{width:0,height:0,lineCount: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(N=D.NULL,k="";" "==E||" "==E||"\n"==E||"\r"==E;)o();do{var t=!1;if("#"==E){for(var e=O-1;" "==T.charAt(e)||" "==T.charAt(e);)e--;if("\n"==T.charAt(e)||""==T.charAt(e)){for(;""!=E&&"\n"!=E;)o();t=!0}}if("/"==E&&"/"==n()){for(;""!=E&&"\n"!=E;)o();t=!0}if("/"==E&&"*"==n()){for(;""!=E;){if("*"==E&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==E||" "==E||"\n"==E||"\r"==E;)o()}while(t);if(""==E)return void(N=D.DELIMITER);var i=E+n();if(C[i])return N=D.DELIMITER,k=i,o(),void o();if(C[E])return N=D.DELIMITER,k=E,void o();if(r(E)||"-"==E){for(k+=E,o();r(E);)k+=E,o();return"false"==k?k=!1:"true"==k?k=!0:isNaN(Number(k))||(k=Number(k)),void(N=D.IDENTIFIER)}if('"'==E){for(o();""!=E&&('"'!=E||'"'==E&&'"'==n());)k+=E,'"'==E&&o(),o();if('"'!=E)throw x('End of string " expected');return o(),void(N=D.IDENTIFIER)}for(N=D.UNKNOWN;""!=E;)k+=E,o();throw new SyntaxError('Syntax error in part "'+w(k,30)+'"')}function u(){var t={};if(s(),p(),"strict"==k&&(t.strict=!0,p()),("graph"==k||"digraph"==k)&&(t.type=k,p()),N==D.IDENTIFIER&&(t.id=k,p()),"{"!=k)throw x("Angle bracket { expected");if(p(),m(t),"}"!=k)throw x("Angle bracket } expected");if(p(),""!==k)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==k&&"}"!=k;)f(t),";"==k&&p()}function f(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(N!=D.IDENTIFIER)throw x("Identifier expected");var s=k;if(p(),"="==k){if(p(),N!=D.IDENTIFIER)throw x("Identifier expected");t[s]=k,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==k&&(e={},e.type="subgraph",p(),N==D.IDENTIFIER&&(e.id=k,p())),"{"==k){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=k)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function v(t){return"node"==k?(p(),t.node=_(),"node"):"edge"==k?(p(),t.edge=_(),"edge"):"graph"==k?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==k||"--"==k;){var i,s=k;p();var o=g(t);if(o)i=o;else{if(N!=D.IDENTIFIER)throw x("Identifier or subgraph expected");i=k,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==k;){for(p(),t={};""!==k&&"]"!=k;){if(N!=D.IDENTIFIER)throw x("Attribute name expected");var e=k;if(p(),"="!=k)throw x("Equal sign = expected");if(p(),N!=D.IDENTIFIER)throw x("Attribute value expected");var i=k;h(t,e,i),p(),","==k&&p()}if("]"!=k)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(k,30)+'" (char '+O+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function S(t){var e=i(t),s={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),s.nodes.push(e)}),e.edges){var o=function(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,i;e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=o(t);s.edges.push(e)}),M(e,i,function(e,i){var n=c(s,e.id,i.id,t.type,t.attr),r=o(n);s.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=o(t);s.edges.push(e)})})}return e.attr&&(s.options=e.attr),s}var D={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},T="",O=0,E="",k="",N=D.NULL,I=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=S},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=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}return{start:e,end:i}},s.prototype.setWindow=function(t,e,i){var s;if(1==arguments.length){var o=arguments[0];s=void 0!==o.animate?o.animate:!0,this.range.setRange(o.start,o.end,s)}else s=i&&void 0!==i.animate?i.animate:!0,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(){this._redraw()},s.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){h.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=m,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=m,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=m,this.components.forEach(function(e){t=e.redraw()||t}),t){var f=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[s].y?t[s].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=o.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?s._catmullRom(t,e):s._linear(t),1==e.options.shaded.enabled){var d,l=o.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&n.draw(t,e,i)}},s._catmullRomUniform=function(t){for(var e,i,s,o,n,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",M=t.length,S=0;M-1>S;S++)s=0==S?t[0]:t[S-1],o=t[S],n=t[S+1],r=M>S+2?t[S+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s._linear=function(t){for(var e="",i=0;it[s].y?t[s].y:e,i=i0&&(n=Math.min(n,Math.abs(c[d-1].x-r))),a=s._getSafeDrawData(n,h,m);else{var g=d+(p[r].amount-p[r].resolved),v=d-(p[r].resolved+1);g0&&(n=Math.min(n,Math.abs(c[v].x-r))),a=s._getSafeDrawData(n,h,m),p[r].resolved+=1,"stack"==h.options.barChart.handleOverlap?(f=p[r].accumulated,p[r].accumulated+=h.zeroPosition-c[d].y):"sideBySide"==h.options.barChart.handleOverlap&&(a.width=a.width/p[r].amount,a.offset+=p[r].resolved*a.width-.5*a.width*(p[r].amount+1),"left"==h.options.barChart.align?a.offset-=.5*a.width:"right"==h.options.barChart.align&&(a.offset+=.5*a.width))}o.drawBar(c[d].x+a.offset,c[d].y-f,a.width,h.zeroPosition-c[d].y,h.className+" bar",i.svgElements,i.svg),1==h.options.drawPoints.enabled&&o.drawPoint(c[d].x+a.offset,c[d].y,h,i.svgElements,i.svg)}},s._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.getStackedBarYRange=function(t,e,i,o,n){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};s._getDataIntersections(r,t),e[o]=s._getStackedBarYRange(r,t),e[o].yAxisOrientation=n,i.push(o)}},s._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=ot[s].y?t[s].y:e,i=is;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){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){var s;!function(o,n){function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){S.register(t)}),w.onTouch(a.DOCUMENT,v,S.detect),w.onTouch(a.DOCUMENT,y,S.detect),a.READY=!0)}var a=function D(t,e){return new D.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(S,d),a&&(d.changedLength=h,d.eventType=a,s.call(S,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(S,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 M.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")||M.matchType(u,s)?o=u:M.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 S.stopDetect()}}}},M=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={}}},S=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?S.startDetect(i,t):t.eventType==_&&S.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=S.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=S.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=S.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=S.current,h=S.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,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 Ie.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){Ce.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function l(t,e){var i=!0;return b(function(){return i&&(d(t),i=!1),e.apply(this,arguments)},e)}function c(t,e){Mi[t]||(d(e),Mi[t]=!0)}function p(t,e){return function(i){return w(t.call(this,i),e)}}function u(t,e){return function(i){return this.localeData().ordinal(t.call(this,i),e)}}function m(t,e){var i,s,o=12*(e.year()-t.year())+(e.month()-t.month()),n=t.clone().add(o,"months");return 0>e-n?(i=t.clone().add(o-1,"months"),s=(e-n)/(n-i)):(i=t.clone().add(o+1,"months"),s=(e-n)/(i-n)),-(o+s)}function f(t,e,i){var s;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(s=t.isPM(i),s&&12>e&&(e+=12),s||12!==e||(e=0),e):e -}function g(){}function v(t,e){e!==!1&&F(t),_(this,t),this._d=new Date(+t._d),Di===!1&&(Di=!0,Ce.updateOffset(this),Di=!1)}function y(t){var e=N(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=Ce.localeData(),this._bubble()}function b(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 _(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),Ye.length>0)for(i in Ye)s=Ye[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function x(t){return 0>t?Math.ceil(t):Math.floor(t)}function w(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&L(t[s])!==L(e[s]))&&r++;return r+n}function k(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=gi[t]||vi[e]||e}return t}function N(t){var e,i,s={};for(i in t)a(t,i)&&(e=k(i),e&&(s[e]=t[i]));return s}function I(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}Ce[t]=function(s,o){var r,a,h=Ce._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=Ce().utc().set(i,t);return h.call(Ce._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function L(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function z(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function P(t,e,i){return me(Ce([t,11,31+e-i]),e,i).week}function A(t){return R(t)?366:365}function R(t){return t%4===0&&t%100!==0||t%400===0}function F(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ze]<0||t._a[ze]>11?ze:t._a[Pe]<1||t._a[Pe]>z(t._a[Le],t._a[ze])?Pe:t._a[Ae]<0||t._a[Ae]>24||24===t._a[Ae]&&(0!==t._a[Re]||0!==t._a[Fe]||0!==t._a[He])?Ae:t._a[Re]<0||t._a[Re]>59?Re:t._a[Fe]<0||t._a[Fe]>59?Fe:t._a[He]<0||t._a[He]>999?He:-1,t._pf._overflowDayOfYear&&(Le>e||e>Pe)&&(e=Pe),t._pf.overflow=e)}function H(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._pf.bigHour===n)),t._isValid}function B(t){return t?t.toLowerCase().replace("_","-"):t}function Y(t){for(var e,i,s,o,n=0;n0;){if(s=W(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function W(t){var e=null;if(!Be[t]&&We)try{e=Ce.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Ce.locale(e)}catch(i){}return Be[t]}function G(t,e){var i,s;return e._isUTC?(i=e.clone(),s=(Ce.isMoment(t)||O(t)?+t:+Ce(t))-+i,i._d.setTime(+i._d+s),Ce.updateOffset(i,!1),i):Ce(t).local()}function j(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function V(t){var e,i,s=t.match(Ue);for(e=0,i=s.length;i>e;e++)s[e]=wi[s[e]]?wi[s[e]]:j(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 U(t,e){return t.isValid()?(e=X(e,t.localeData()),yi[e]||(yi[e]=V(e)),yi[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Xe.lastIndex=0;s>=0&&Xe.test(t);)t=t.replace(Xe,i),Xe.lastIndex=0,s-=1;return t}function q(t,e){var i,s=e._strict;switch(t){case"Q":return oi;case"DDDD":return ri;case"YYYY":case"GGGG":case"gggg":return s?ai:Qe;case"Y":case"G":case"g":return di;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?hi:Ke;case"S":if(s)return oi;case"SS":if(s)return ni;case"SSS":if(s)return ri;case"DDD":return Ze;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Je;case"a":case"A":return e._locale._meridiemParse;case"x":return ii;case"X":return si;case"Z":case"ZZ":return ti;case"T":return ei;case"SSSS":return $e;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?ni:qe;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return qe;case"Do":return s?e._locale._ordinalParse:e._locale._ordinalParseLenient;default:return i=new RegExp(se(ie(t.replace("\\","")),"i"))}}function Z(t){t=t||"";var e=t.match(ti)||[],i=e[e.length-1]||[],s=(i+"").match(mi)||["-",0,0],o=+(60*s[1])+L(s[2]);return"+"===s[0]?o:-o}function Q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[ze]=3*(L(e)-1));break;case"M":case"MM":null!=e&&(o[ze]=L(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e,t,i._strict),null!=s?o[ze]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Pe]=L(e));break;case"Do":null!=e&&(o[Pe]=L(parseInt(e.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=L(e));break;case"YY":o[Le]=Ce.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[Le]=L(e);break;case"a":case"A":i._meridiem=e;break;case"h":case"hh":i._pf.bigHour=!0;case"H":case"HH":o[Ae]=L(e);break;case"m":case"mm":o[Re]=L(e);break;case"s":case"ss":o[Fe]=L(e);break;case"S":case"SS":case"SSS":case"SSSS":o[He]=L(1e3*("0."+e));break;case"x":i._d=new Date(L(e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=Z(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=L(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=Ce.parseTwoDigitYear(e)}}function K(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[Le],me(Ce(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[Le],me(Ce(),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=fe(i,s,o,a,n),t._a[Le]=h.year,t._dayOfYear=h.dayOfYear}function $(t){var e,i,s,o,n=[];if(!t._d){for(s=te(t),t._w&&null==t._a[Pe]&&null==t._a[ze]&&K(t),t._dayOfYear&&(o=r(t._a[Le],s[Le]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=le(o,0,t._dayOfYear),t._a[ze]=i.getUTCMonth(),t._a[Pe]=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];24===t._a[Ae]&&0===t._a[Re]&&0===t._a[Fe]&&0===t._a[He]&&(t._nextDay=!0,t._a[Ae]=0),t._d=(t._useUTC?le:de).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Ae]=24)}}function J(t){var e;t._d||(e=N(t._i),t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],$(t))}function te(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function ee(t){if(t._f===Ce.ISO_8601)return void ne(t);t._a=[],t._pf.empty=!0;var e,i,s,o,r,a=""+t._i,h=a.length,d=0;for(s=X(t._f,t._locale).match(Ue)||[],e=0;e0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(i)+i.length),d+=i.length),wi[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),Q(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[Ae]<=12&&(t._pf.bigHour=n),t._a[Ae]=f(t._locale,t._a[Ae],t._meridiem),$(t),F(t)}function ie(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function se(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function oe(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));b(t,i||e)}function ne(t){var e,i,s=t._i,o=li.exec(s);if(o){for(t._pf.iso=!0,e=0,i=pi.length;i>e;e++)if(pi[e][1].exec(s)){t._f=pi[e][0]+(o[6]||" ");break}for(e=0,i=ui.length;i>e;e++)if(ui[e][1].exec(s)){t._f+=ui[e][0];break}s.match(ti)&&(t._f+="Z"),ee(t)}else t._isValid=!1}function re(t){ne(t),t._isValid===!1&&(delete t._isValid,Ce.createFromInputFallback(t))}function ae(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function le(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ce(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 pe(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ue(t,e,i){var s=Ce.duration(t).abs(),o=Ne(s.as("s")),n=Ne(s.as("m")),r=Ne(s.as("h")),a=Ne(s.as("d")),h=Ne(s.as("M")),d=Ne(s.as("y")),l=o0,l[4]=i,pe.apply({},l)}function me(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Ce(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function fe(t,e,i,s,o){var n,r,a=le(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 ge(t){var e,i=t._i,s=t._f;return t._locale=t._locale||Ce.localeData(t._l),null===i||s===n&&""===i?Ce.invalid({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),Ce.isMoment(i)?new v(i,!0):(s?T(s)?oe(t):ee(t):he(t),e=new v(t),e._nextDay&&(e.add(1,"d"),e._nextDay=n),e))}function ve(t,e){var i,s;if(1===e.length&&T(e[0])&&(e=e[0]),!e.length)return Ce();for(i=e[0],s=1;s=0?"+":"-";return e+w(Math.abs(t),6)},gg:function(){return w(this.weekYear()%100,2)},gggg:function(){return w(this.weekYear(),4)},ggggg:function(){return w(this.weekYear(),5)},GG:function(){return w(this.isoWeekYear()%100,2)},GGGG:function(){return w(this.isoWeekYear(),4)},GGGGG:function(){return w(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return L(this.milliseconds()/100)},SS:function(){return w(L(this.milliseconds()/10),2)},SSS:function(){return w(this.milliseconds(),3)},SSSS:function(){return w(this.milliseconds(),3)},Z:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+":"+w(L(t)%60,2)},ZZ:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+w(L(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Mi={},Si=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],Di=!1;_i.length;)Oe=_i.pop(),wi[Oe+"o"]=u(wi[Oe],Oe);for(;xi.length;)Oe=xi.pop(),wi[Oe+Oe]=p(wi[Oe],2);wi.DDDD=p(wi.DDD,3),b(g.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_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,e,i){var s,o,n;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;12>s;s++){if(o=Ce.utc([2e3,s]),i&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),i||this._monthsParse[s]||(n="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[s].test(t))return s;if(i&&"MMM"===e&&this._shortMonthsParse[s].test(t))return s;if(!i&&this._monthsParse[s].test(t))return s}},_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=Ce([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:{LTS:"h:mm:ss A",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,i){var s=this._calendar[t];return"function"==typeof s?s.apply(e,[i]):s},_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",_ordinalParse:/\d{1,2}/,preparse:function(t){return t},postformat:function(t){return t},week:function(t){return me(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},firstDayOfWeek:function(){return this._week.dow},firstDayOfYear:function(){return this._week.doy},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),Ce=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(),ge(o)},Ce.suppressDeprecationWarnings=!1,Ce.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+(t._useUTC?" UTC":""))}),Ce.min=function(){var t=[].slice.call(arguments,0);return ve("isBefore",t)},Ce.max=function(){var t=[].slice.call(arguments,0);return ve("isAfter",t)},Ce.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(),ge(o).utc()},Ce.unix=function(t){return Ce(1e3*t)},Ce.duration=function(t,e){var i,s,o,n,r=t,h=null;return Ce.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=je.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:L(h[Pe])*i,h:L(h[Ae])*i,m:L(h[Re])*i,s:L(h[Fe])*i,ms:L(h[He])*i}):(h=Ve.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])}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(n=S(Ce(r.from),Ce(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new y(r),Ce.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},Ce.version=Ee,Ce.defaultFormat=ci,Ce.ISO_8601=function(){},Ce.momentProperties=Ye,Ce.updateOffset=function(){},Ce.relativeTimeThreshold=function(t,e){return bi[t]===n?!1:e===n?bi[t]:(bi[t]=e,!0)},Ce.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return Ce.locale(t,e)}),Ce.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?Ce.defineLocale(t,e):Ce.localeData(t),i&&(Ce.duration._locale=Ce._locale=i)),Ce._locale._abbr},Ce.defineLocale=function(t,e){return null!==e?(e.abbr=t,Be[t]||(Be[t]=new g),Be[t].set(e),Ce.locale(t),Be[t]):(delete Be[t],null)},Ce.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return Ce.localeData(t)}),Ce.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ce._locale;if(!T(t)){if(e=W(t))return e;t=[t]}return Y(t)},Ce.isMoment=function(t){return t instanceof v||null!=t&&a(t,"_isAMomentObject")},Ce.isDuration=function(t){return t instanceof y};for(Oe=Si.length-1;Oe>=0;--Oe)I(Si[Oe]);Ce.normalizeUnits=function(t){return k(t)},Ce.invalid=function(t){var e=Ce.utc(0/0);return null!=t?b(e._pf,t):e._pf.userInvalidated=!0,e},Ce.parseZone=function(){return Ce.apply(null,arguments).parseZone()},Ce.parseTwoDigitYear=function(t){return L(t)+(L(t)>68?1900:2e3)},Ce.isDate=O,b(Ce.fn=v.prototype,{clone:function(){return Ce(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=Ce(this).utc();return 00:!1},parsingFlags:function(){return b({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.utcOffset(0,t)},local:function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(this._dateUtcOffset(),"m")),this},format:function(t){var e=U(this,t||Ce.defaultFormat);return this.localeData().postformat(e)},add:D(1,"add"),subtract:D(-1,"subtract"),diff:function(t,e,i){var s,o,n=G(t,this),r=6e4*(n.utcOffset()-this.utcOffset());return e=k(e),"year"===e||"month"===e||"quarter"===e?(o=m(this,n),"quarter"===e?o/=3:"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:x(o)},from:function(t,e){return Ce.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(Ce(),t)},calendar:function(t){var e=t||Ce(),i=G(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,Ce(e)))},isLeapYear:function(){return R(this.year())},isDST:function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},day:function(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ce(t,this.localeData()),this.add(t-e,"d")):e},month:xe("Month",!0),startOf:function(t){switch(t=k(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t?this.weekday(0):"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(t){return t=k(t),t===n||"millisecond"===t?this:this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")},isAfter:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+this>+t):(i=Ce.isMoment(t)?+t:+Ce(t),i<+this.clone().startOf(e))},isBefore:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+t>+this):(i=Ce.isMoment(t)?+t:+Ce(t),+this.clone().endOf(e)t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=Ce.apply(null,arguments),t>this?this:t}),zone:l("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),utcOffset:function(t,e){var i,s=this._offset||0;return null!=t?("string"==typeof t&&(t=Z(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateUtcOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),s!==t&&(!e||this._changeInProgress?C(this,Ce.duration(t-s,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Ce.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?s:this._dateUtcOffset()},isLocal:function(){return!this._isUTC},isUtcOffset:function(){return this._isUTC},isUtc:function(){return this._isUTC&&0===this._offset},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Z(this._i)),this},hasAlignedHourOffset:function(t){return t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60===0},daysInMonth:function(){return z(this.year(),this.month())},dayOfYear:function(t){var e=Ne((Ce(this).startOf("day")-Ce(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=me(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=me(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=me(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 P(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return P(this.year(),t.dow,t.doy)},get:function(t){return t=k(t),this[t]()},set:function(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else t=k(t),"function"==typeof this[t]&&this[t](e);return this},locale:function(t){var e;return t===n?this._locale._abbr:(e=Ce.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateUtcOffset:function(){return 15*-Math.round(this._d.getTimezoneOffset()/15)}}),Ce.fn.millisecond=Ce.fn.milliseconds=xe("Milliseconds",!1),Ce.fn.second=Ce.fn.seconds=xe("Seconds",!1),Ce.fn.minute=Ce.fn.minutes=xe("Minutes",!1),Ce.fn.hour=Ce.fn.hours=xe("Hours",!0),Ce.fn.date=xe("Date",!0),Ce.fn.dates=l("dates accessor is deprecated. Use date instead.",xe("Date",!0)),Ce.fn.year=xe("FullYear",!0),Ce.fn.years=l("years accessor is deprecated. Use year instead.",xe("FullYear",!0)),Ce.fn.days=Ce.fn.day,Ce.fn.months=Ce.fn.month,Ce.fn.weeks=Ce.fn.week,Ce.fn.isoWeeks=Ce.fn.isoWeek,Ce.fn.quarters=Ce.fn.quarter,Ce.fn.toJSON=Ce.fn.toISOString,Ce.fn.isUTC=Ce.fn.isUtc,b(Ce.duration.fn=y.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=x(s/1e3),r.seconds=t%60,e=x(t/60),r.minutes=e%60,i=x(e/60),r.hours=i%24,o+=x(i/24),a=x(we(o)),o-=x(Me(a)),n+=x(o/30),o%=30,a+=x(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 x(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12)},humanize:function(t){var e=ue(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=Ce.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=Ce.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=k(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=k(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*we(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Me(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:Ce.fn.lang,locale:Ce.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},toJSON:function(){return this.toISOString()}}),Ce.duration.fn.toString=Ce.duration.fn.toISOString;for(Oe in fi)a(fi,Oe)&&Se(Oe.toLowerCase());Ce.duration.fn.asMilliseconds=function(){return this.as("ms")},Ce.duration.fn.asSeconds=function(){return this.as("s")},Ce.duration.fn.asMinutes=function(){return this.as("m")},Ce.duration.fn.asHours=function(){return this.as("h")},Ce.duration.fn.asDays=function(){return this.as("d")},Ce.duration.fn.asWeeks=function(){return this.as("weeks")},Ce.duration.fn.asMonths=function(){return this.as("M")},Ce.duration.fn.asYears=function(){return this.as("y")},Ce.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===L(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),We?o.exports=Ce:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(ke.moment=Te),Ce}.call(e,i,e,o),!(s!==n&&(o.exports=s)),De(!0))}).call(this)}).call(e,function(){return this}(),i(71)(t))},function(t,e){var i,s,o;!function(n,r){s=[],i=r,o="function"==typeof i?i.apply(e,s):i,!(void 0!==o&&(t.exports=o))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s=t&&t.container||window,o={},n={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==n[e][t.keyCode]){for(var s=n[e][t.keyCode],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 d;d=document.getElementById("graph_BH_gc"),d.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),d=document.getElementById("graph_BH_cg"),d.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),d=document.getElementById("graph_BH_sc"),d.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),d=document.getElementById("graph_BH_sl"),d.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),d=document.getElementById("graph_BH_damp"),d.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),d=document.getElementById("graph_R_nd"),d.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),d=document.getElementById("graph_R_cg"),d.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),d=document.getElementById("graph_R_sc"),d.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),d=document.getElementById("graph_R_sl"),d.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),d=document.getElementById("graph_R_damp"),d.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),d=document.getElementById("graph_H_nd"),d.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),d=document.getElementById("graph_H_cg"),d.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),d=document.getElementById("graph_H_sc"),d.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),d=document.getElementById("graph_H_sl"),d.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),d=document.getElementById("graph_H_damp"),d.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),d=document.getElementById("graph_H_direction"),d.onchange=a.bind(this,"graph_H_direction",i,"hierarchicalLayout_direction"),d=document.getElementById("graph_H_levsep"),d.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),d=document.getElementById("graph_H_nspac"),d.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var l=document.getElementById("graph_physicsMethod1"),c=document.getElementById("graph_physicsMethod2"),p=document.getElementById("graph_physicsMethod3");c.checked=!0,this.constants.physics.barnesHut.enabled&&(l.checked=!0),this.constants.hierarchicalLayout.enabled&&(p.checked=!0);var u=document.getElementById("graph_toggleSmooth"),m=document.getElementById("graph_repositionNodes"),f=document.getElementById("graph_generateOptions");u.onclick=s.bind(this),m.onclick=o.bind(this),f.onclick=n.bind(this),u.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),l.onchange=r.bind(this),c.onchange=r.bind(this),p.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){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),1==this.constants.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(),this.forceAggregateHubs(!0),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._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&1==this.constants.clustering.clusterByZoom&&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,r=this.previousScalethis.scale&&0==t;1==a&&this._collapseSector(),1==a||-1==t?this._formClusters(i):(1==r||1==t)&&(1==i?this._openClusters(e,i):this._openClusters(e,!1)),this._updateNodeIndexList(),this.nodeIndices.length!=n||1!=a&&-1!=t||(this._aggregateHubs(i),this._updateNodeIndexList()),(1==a||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,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.updateLabels(),this._updateCalculationNodes(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){if(1==this.constants.clustering.clusterByZoom)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&&(void 0===s&&(s=!1),e=s||e,t.formationScalei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdges.length?this._addToCluster(r,a,!1):1==r.dynamicEdges.length&&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.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.dynamicEdges.length>=this.hubThreshold&&0==i||t.dynamicEdges.length==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){var u=[],m={};for(c=0;l>c;c++){p=this.edges[d[c]];var f=this.nodes[p.fromId==t.id?p.toId:p.fromId];void 0===m[f.id]&&(m[f.id]=!0,u.push(f))}for(c=0;c1&&(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.dynamicEdges.length),t+=n.dynamicEdges.length,e+=Math.pow(n.dynamicEdges.length,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].dynamicEdges.length&&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].dynamicEdges.length&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(40);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(40),n=i(37);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulationEnabled=!1},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t],delete this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=this.manipulationDiv,e=this.closeDiv,i=this.editModeDiv;1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1,this._redraw()),this._restoreOverloadedFunctions(),this.freezeSimulationEnabled=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,this.manipulationDOM={},1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDOM.addNodeSpan=document.createElement("span"),this.manipulationDOM.addNodeSpan.className="network-manipulationUI add",this.manipulationDOM.addNodeLabelSpan=document.createElement("span"),this.manipulationDOM.addNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addNodeLabelSpan.innerHTML=t.addNode,this.manipulationDOM.addNodeSpan.appendChild(this.manipulationDOM.addNodeLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.addEdgeSpan=document.createElement("span"),this.manipulationDOM.addEdgeSpan.className="network-manipulationUI connect",this.manipulationDOM.addEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.addEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addEdgeLabelSpan.innerHTML=t.addEdge,this.manipulationDOM.addEdgeSpan.appendChild(this.manipulationDOM.addEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.addNodeSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.addEdgeSpan),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?(this.manipulationDOM.seperatorLineDiv2=document.createElement("div"),this.manipulationDOM.seperatorLineDiv2.className="network-seperatorLine",this.manipulationDOM.editNodeSpan=document.createElement("span"),this.manipulationDOM.editNodeSpan.className="network-manipulationUI edit",this.manipulationDOM.editNodeLabelSpan=document.createElement("span"),this.manipulationDOM.editNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editNodeLabelSpan.innerHTML=t.editNode,this.manipulationDOM.editNodeSpan.appendChild(this.manipulationDOM.editNodeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv2),this.manipulationDiv.appendChild(this.manipulationDOM.editNodeSpan)):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.seperatorLineDiv3=document.createElement("div"),this.manipulationDOM.seperatorLineDiv3.className="network-seperatorLine",this.manipulationDOM.editEdgeSpan=document.createElement("span"),this.manipulationDOM.editEdgeSpan.className="network-manipulationUI edit",this.manipulationDOM.editEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.editEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editEdgeLabelSpan.innerHTML=t.editEdge,this.manipulationDOM.editEdgeSpan.appendChild(this.manipulationDOM.editEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv3),this.manipulationDiv.appendChild(this.manipulationDOM.editEdgeSpan)),0==this._selectionIsEmpty()&&(this.manipulationDOM.seperatorLineDiv4=document.createElement("div"),this.manipulationDOM.seperatorLineDiv4.className="network-seperatorLine",this.manipulationDOM.deleteSpan=document.createElement("span"),this.manipulationDOM.deleteSpan.className="network-manipulationUI delete",this.manipulationDOM.deleteLabelSpan=document.createElement("span"),this.manipulationDOM.deleteLabelSpan.className="network-manipulationLabel",this.manipulationDOM.deleteLabelSpan.innerHTML=t.del,this.manipulationDOM.deleteSpan.appendChild(this.manipulationDOM.deleteLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv4),this.manipulationDiv.appendChild(this.manipulationDOM.deleteSpan)),this.manipulationDOM.addNodeSpan.onclick=this._createAddNodeToolbar.bind(this),this.manipulationDOM.addEdgeSpan.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDOM.editNodeSpan.onclick=this._editNode.bind(this):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.editEdgeSpan.onclick=this._createEditEdgeToolbar.bind(this)),0==this._selectionIsEmpty()&&(this.manipulationDOM.deleteSpan.onclick=this._deleteSelected.bind(this)),this.closeDiv.onclick=this._toggleEditMode.bind(this);var e=this;this.boundFunction=e._createManipulatorBar,this.on("select",this.boundFunction)}else{for(;this.editModeDiv.hasChildNodes();)this.editModeDiv.removeChild(this.editModeDiv.firstChild);this.manipulationDOM.editModeSpan=document.createElement("span"),this.manipulationDOM.editModeSpan.className="network-manipulationUI edit editmode",this.manipulationDOM.editModeLabelSpan=document.createElement("span"),this.manipulationDOM.editModeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editModeLabelSpan.innerHTML=t.edit,this.manipulationDOM.editModeSpan.appendChild(this.manipulationDOM.editModeLabelSpan),this.editModeDiv.appendChild(this.manipulationDOM.editModeSpan),this.manipulationDOM.editModeSpan.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.addDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._addNode,this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulationEnabled=!0,this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.edgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._handleConnect,this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this.cachedFunctions._handleOnHold=this._handleOnHold,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleOnHold=function(){},this._handleDragStart=function(){},this._handleDragEnd=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.editEdgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._manipulationReleaseOverload=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulationEnabled=!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.edgeBeingEdited._restoreControlNodes(),this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this.edgeBeingEdited._restoreControlNodes(),this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulationEnabled=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge; -i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(2!=this.triggerFunctions.del.length)throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(45));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t0){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,o,n=0;n1&&s.hierarchyEnumerated===!1&&this._setLevelDirected(s.level,s.edges,s.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){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=67},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,m=4/3,f=this.constants.physics.repulsion.nodeDistance,g=f;for(d=0;di&&(r=.5*g>i?1:v*i+m,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=Math.max(i,.01*g),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.thetaInverted){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}}])}); +"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Edge:i(37),Groups:i(38),Images:i(39),Node:i(40),Popup:i(41),dotparser:i(42),gephiParser:i(43)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(44),e.hammer=i(45)},function(t,e,i){var s=i(44);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.giveRange=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=o.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},e.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.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},e.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},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){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(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(s.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):s(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return s(t);if(t instanceof Date)return s(t.valueOf());if(s.isMoment(t))return s(t);if(e.isString(t))return n=o.exec(t),s(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(s.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=o.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var o=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},e.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},e.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},e.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},e.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},e.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.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)},e.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)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.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},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,s){return e+e+i+i+s+s});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var s=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+s[0]+","+s[1]+","+s[2]+","+i+")"}var s=e.hexToRGB(t);return null==s?t:"rgba("+s.r+","+s.g+","+s.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var s=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(s[0],s[1],s[2])}if(e.isValidHex(t)){var o=e.hexToHSV(t),n={h:o.h,s:.45*o.s,v:Math.min(1,1.05*o.v)},r={h:o.h,s:Math.min(1,1.25*o.v),v:.6*o.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(n.h,n.s,n.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||"white",i.border=t.border||i.background,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||i.background,i.highlight.border=t.highlight&&t.highlight.border||i.border),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||i.background,i.hover.border=t.hover&&t.hover.border||i.border);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var n={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var s=n.split(t.style.cssText),o=n.split(i),r=e.extend(s,o);t.style.cssText=n.join(r)},e.removeCssText=function(t,e){var i=n.split(t.style.cssText),s=n.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=n.join(i)},e.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)}},e.HSVToHex=function(t,i,s){var o=e.HSVToRGB(t,i,s);return e.RGBToHex(o.r,o.g,o.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var s=Object.create(i),o=0;o=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===s?d[i]:d[i][s],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,n++}return-1},e.binarySearchValue=function(t,e,i,s){for(var o,n,r,a,h=1e4,d=0,l=0,c=t.length-1;c>=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},e.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)},e.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,r){var a;"circle"==s.options.drawPoints.style?(a=e.getSVGElement("circle",o,n),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(a=e.getSVGElement("rect",o,n),a.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),a.setAttributeNS(null,"width",s.options.drawPoints.size),a.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&a.setAttributeNS(null,"style",s.group.options.drawPoints.styles),a.setAttributeNS(null,"class",s.className+" point");var h=e.getSVGElement("text",o,n);return r&&(r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" label")),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i),a},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var o=i(1),n=i(5);s.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=n.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var m=h[p];c[m]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var m={},f=0,g=c.length;g>f;f++){var v=c[f];m[v]=t.getValue(p,f)}h(m)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,m=i&&i.filter,f=[];if(void 0!=t)d=n._getItem(t,u),m&&!m(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!m||m(d))&&f.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!m||m(d))&&f.push(d));if(i&&i.order&&void 0==t&&this._sort(f,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=f.length;p>c;c++)f[c]=this._filterFields(f[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(f[c]);return s}return f},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);else for(var s in t)t.hasOwnProperty(s)&&e.hasOwnProperty(s)&&(i[e[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],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,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.length=0,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.length=0,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.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},s=[],o=[],n=0;ns;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,l.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]?(c.push(n),d.push(e.data[s])):(this._ids[n]=!0,l.push(n)):this._ids[n]&&(delete this._ids[n],p.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],p.push(n))}this.length+=l.length-p.length,l.length&&this._trigger("add",{items:l},i),c.length&&this._trigger("update",{items:c,data:d},i),p.length&&this._trigger("remove",{items:p},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t){function e(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}e.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},e.extend=function(t,i){var s=new e(i);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){s.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},e.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new p,this.eye=new l(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)}function o(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function n(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(56),a=i(3),h=i(4),d=i(1),l=i(10),c=i(9),p=i(7),u=i(8),m=i(11),f=i(12);r(s.prototype),s.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(u-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new f(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new l(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new f(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new l(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new f(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 l(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new l(n,r,this.zMin)),e=this._convert3Dto2D(new l(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 l(this.xMin,this.yMin,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),p=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(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 l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(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 l(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&&(d=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new l(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(S,o.x,o.y));var D=this.zLabel;D.length>0&&(h=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 l(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(D,o.x-h,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,h,d,c,p,u,m,f=this.frame.canvas,g=f.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/D/2,1),a=this._hsv2rgb(c,p,u),h=a):(u=1,a=this._hsv2rgb(c,p,u),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,g.lineWidth=d,g.fillStyle=a,g.strokeStyle=h,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=o(t),this.startMouseY=n(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)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(o(t))-this.startMouseX,i=parseFloat(n(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/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 c(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 d=n.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var p=d[l],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)}}},t.exports=s},function(t,e,i){function s(){this.armLocation=new o,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new o,this.cameraRotation=new o(.5*Math.PI,0,0),this.calculateCameraOrientation()}var o=i(10);s.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},s.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()},s.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},s.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},s.prototype.getArmLength=function(){return this.armLength},s.prototype.getCameraLocation=function(){return this.cameraLocation},s.prototype.getCameraRotation=function(){return this.cameraRotation},s.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=s},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,h){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n||i instanceof r)&&i instanceof Object){var u=h;h=i,i=u}var m=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return m.timeAxis.step.scale},getStep:function(){return m.timeAxis.step.step},toScreen:m._toScreen.bind(m),toGlobalScreen:m._toGlobalScreen.bind(m),toTime:m._toTime.bind(m),toGlobalTime:m._toGlobalTime.bind(m)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(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,this.on("tap",function(t){m.emit("click",m.getEventProperties(t))}),this.on("doubletap",function(t){m.emit("doubleClick",m.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){m.emit("contextmenu",m.getEventProperties(t))},h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},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){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{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}},s.prototype.getEventProperties=function(t){var e=this.itemSet.itemFromTarget(t),i=this.itemSet.groupFromTarget(t),s=t.gesture?t.gesture.center.pageX:t.pageX,n=t.gesture?t.gesture.center.pageY:t.pageY,r=s-o.getAbsoluteLeft(this.dom.centerContainer),a=n-o.getAbsoluteTop(this.dom.centerContainer),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),l=this.body.util.getStep(),c=this._toTime(r),p=h?h(c,d,l):c,u=o.getTarget(t),m=null;return null!=e?m="item":o.hasParent(u,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&o.hasParent(u,this.timeAxis2.dom.foreground)?m="axis":o.hasParent(u,this.itemSet.dom.labelSet)?m="group-label":o.hasParent(u,this.customTime.bar)?m="custom-time":o.hasParent(u,this.currentTime.bar)?m="current-time":o.hasParent(u,this.dom.center)&&(m="background"),{event:t,item:e?e.id:null,group:i?i.groupId:null,what:m,pageX:s,pageY:n,x:r,y:a,time:c,snappedTime:p}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.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,this.on("tap",function(t){h.emit("click",h.getEventProperties(t))}),this.on("doubletap",function(t){h.emit("doubleClick",h.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){h.emit("contextmenu",h.getEventProperties(t))},s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(34);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},s.prototype.getEventProperties=function(t){var e=t.gesture?t.gesture.center.pageX:t.pageX,i=t.gesture?t.gesture.center.pageY:t.pageY,s=e-o.getAbsoluteLeft(this.dom.centerContainer),n=i-o.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(s),a=o.getTarget(t),h=null;o.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&o.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":o.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":o.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":o.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":o.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":o.hasParent(a,this.customTime.bar)?h="custom-time":o.hasParent(a,this.currentTime.bar)?h="current-time":o.hasParent(a,this.dom.center)&&(h="background");var d=[],l=this.linegraph.yAxisLeft,c=this.linegraph.yAxisRight;return l.hidden||d.push(l.screenToValue(n)),c.hidden||d.push(c.screenToValue(n)),{event:t,what:h,pageX:e,pageY:i,x:s,y:n,time:r,value:d}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t){function e(t,e,i,s,o,n){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.alignZeros=n,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),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,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(t){var e=Math.abs(this.current)0;s--){if("0"!=i[s]){if("."==i[s]||","==i[s]){i=i.slice(0,s);break}break}i=i.slice(0,s)}}else{var o="",n=i.indexOf("e");if(-1!=n&&(o=i.slice(n),i=i.slice(0,n)),n=Math.max(i.indexOf(","),i.indexOf(".")),-1===n?(0!==t&&(i+="."),n=i.length+t):0!==t&&(n+=t+1),n>i.length)for(var r=n-i.length;r>0;r--)i+="0";else i=i.slice(0,n);i+=o}return i},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(25),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i,s){s!==!0&&(s=!1);var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1,m=function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,g=i||null===o?o:r.easeInOutQuad(e,h,o,c),v=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(g,v),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:s}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:s}):a.animateTimer=setTimeout(m,20)}};return m()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var g={start:new Date(this.start),end:new Date(this.end),byUser:s};this.body.emitter.emit("rangechange",g),this.body.emitter.emit("rangechanged",g)}},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&&od&&(d=0),o-s>d&&(this.end-this.start===d&&sthis.end?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return s>=this.start&&s<=this.end||o>=this.start&&o<=this.end||this.start>=s&&this.start<=o||this.end>=s&&this.end<=o||this.body.emitter.emit("checkRangedItems"),this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},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),byUser:!0}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.props.touch.start-(i-o))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start +})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[]),this.format=s.FORMAT}var o=i(44),n=i(15),r=i(1);s.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},s.prototype.setFormat=function(t){var e=r.deepExtend({},s.FORMAT);this.format=r.deepExtend(e,t)},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"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"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"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"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"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,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,s=864e5,o=36e5,n=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*s>t&&(this.scale="day",this.step=5),2*s>t&&(this.scale="day",this.step=2),s>t&&(this.scale="day",this.step=1),s/2>t&&(this.scale="weekday",this.step=1),4*o>t&&(this.scale="hour",this.step=4),o>t&&(this.scale="hour",this.step=1),15*n>t&&(this.scale="minute",this.step=15),10*n>t&&(this.scale="minute",this.step=10),5*n>t&&(this.scale="minute",this.step=5),n>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},s.snap=function(t,e,i){var s=new Date(t.valueOf());if("year"==e){var o=s.getFullYear()+Math.round(s.getMonth()/12);s.setFullYear(Math.round(o/i)*i),s.setMonth(0),s.setDate(0),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("month"==e)s.getDate()>15?(s.setDate(1),s.setMonth(s.getMonth()+1)):s.setDate(1),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:s.setHours(24*Math.round(s.getHours()/24));break;default:s.setHours(12*Math.round(s.getHours()/12))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:s.setHours(12*Math.round(s.getHours()/12));break;default:s.setHours(6*Math.round(s.getHours()/6))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:s.setMinutes(60*Math.round(s.getMinutes()/60));break;default:s.setMinutes(30*Math.round(s.getMinutes()/30))}s.setSeconds(0),s.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:s.setMinutes(5*Math.round(s.getMinutes()/5)),s.setSeconds(0);break;case 5:s.setSeconds(60*Math.round(s.getSeconds()/60));break;default:s.setSeconds(30*Math.round(s.getSeconds()/30))}s.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:s.setSeconds(5*Math.round(s.getSeconds()/5)),s.setMilliseconds(0);break;case 5:s.setMilliseconds(1e3*Math.round(s.getMilliseconds()/1e3));break;default:s.setMilliseconds(500*Math.round(s.getMilliseconds()/500))}else if("millisecond"==e){var n=i>5?i/2:1;s.setMilliseconds(Math.round(s.getMilliseconds()/n)*n)}return s},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},s.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(o().add(1,"day"),"day")?" tomorrow":t.isSame(o().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function s(t){return t.isSame(new Date,"month")?" current-month":""}function n(t){return t.isSame(new Date,"year")?" current-year":""}var r=o(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-"+(d+4)),d+"h"+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"day"+l+" "+c+s(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+s(a)+t(a.month());case"year":var p=a.year();return"year"+p+n(a)+t(p);default:return""}},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(45),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;if(e!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=l)}i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(20);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",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.displayed=!1}},s.prototype.repositionX=function(t){var e,i,s=this.parent.width,o=this.conversion.toScreen(this.data.start),n=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-s>o&&(o=-s),n>2*s&&(n=2*s));var r=Math.max(n-o,1);switch(this.overflow?(this.left=o,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=o,this.width=r,i=Math.min(n-o-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i-2*this.options.padding)/2,0)+"px";break;default:e=this.overflow?n>0?Math.max(-o,0):-i:0>o?Math.min(-o,n-o-i-2*this.options.padding):0,this.dom.content.style.left=e+"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){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(25),r=i(44),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en",id:0},this.options=n.extend({},this.defaultOptions),this.customTime=e&&e.time?e.time:new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showCustomTime","locale","locales","id"],this.options,t),this.options.id&&this.redraw())},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",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,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,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(25),a=i(16);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format","alignZeros"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg) +},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.hidden=!1,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.hidden=!0,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){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n)}return t},s.prototype._redrawLabels=function(){var t=!1;n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,s=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=s;var o=(this.dom.frame.offsetHeight-s.deadSpace*(this.dom.frame.offsetHeight/s.marginRange))/((s.marginRange-s.deadSpace)/s.step);this.stepPixels=o;var r=this.height/o,h=0;if(0==this.master){o=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/o-r);for(var d=0;.5*h>d;d++)s.previous();if(r=this.height/o,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=s.marginEnd/s.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)s.next();else if(0>l)for(var d=0;-l>d;d++)s.previous()}}else r+=.25;this.valueAtZero=s.marginEnd;var c,p=0,u=1;void 0!==this.options.format[e]&&(c=this.options.format[e].decimals),this.maxLabelSize=0;for(var m=0;u=0&&this._redrawLabel(m-2,s.getCurrent(c),e,"yAxis major",this.props.majorCharHeight),this._redrawLine(m,e,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(m,e,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==s.current&&(this.zeroCrossing=u),u++}this.conversionFactor=0==this.master?m/(this.valueAtZero-s.current):this.dom.frame.offsetHeight/s.marginRange;var g=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(g=this.props.titleCharHeight);var v=1==this.options.icons?Math.max(this.options.iconWidth,g)+this.options.labelOffsetX+15:g+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-v&&1==this.options.visible?(this.width=this.maxLabelSize+v,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+v),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),t=!1),t},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype.screenToValue=function(t){return this.valueAtZero-t/this.conversionFactor},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.maxLabelSizep;p++){var m=this.visibleItems[p];m.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(n=0;nl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,n=0;nl})}for(n=0;n=0&&(n=e[r],!o(n));r--)void 0===s[n.id]&&(s[n.id]=!0,i.push(n));for(r=t+1;rs;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),c=i(31),p=i(22),u=i(23),m=i(24),f=i(21),g="__ungrouped__",v="__background__";s.prototype=new d,s.types={background:f,box:p,range:m,point:u},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new c(v,null,this);r.show(),this.groups[v]=r,this.hammer=o(this.body.dom.centerContainer,{preventDefault:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","order","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},f=0,g=t.axis+t.item.vertical;return this.groups[v].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,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[g];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[g];this.groups[v]}if(this.groupsData){if(i){i.hide(),delete this.groups[g];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new l(n,r,this),this.groups[g]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?v:this.groupsData?t.group:g},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==g||t==v)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new l(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||s.length>0)&&this.body.emitter.emit("select",{items:r})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,s=this.itemFromTarget(t);if(s){var o=e.itemsData.get(s.id);this.options.onUpdate(o,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=n.getAbsoluteLeft(this.dom.frame),a=t.gesture.center.pageX-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),c={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var p=this.body.util.toTime(a+this.props.width/5);c.end=i?i(p,d,l):p}c[this.itemsData._fieldId]=n.randomUUID();var u=this.groupFromTarget(t);u&&(c.group=u.groupId),this.options.onAdd(c,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=this.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},s.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.prototype.groupFromTarget=function(t){for(var e=t.gesture?t.gesture.center.clientY:t.clientY,i=0;ia&&ea)return o}else if(0===i&&e"));this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!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.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),c=i(33),p=i(50),u="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),this._applySampling(a,c),e=0;eu&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a=[],h=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,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&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;ny;)y++,l=h.getCurrent(),c=h.isMajor(),u=h.getClassName(),f=m,m=this.body.util.toScreen(l),g=m-f,p&&(p.style.width=g+"px"),this.options.showMinorLabels&&this._repaintMinorText(m,h.getLabelMinor(),t,u),c&&this.options.showMajorLabels?(m>0&&(void 0==v&&(v=m),this._repaintMajorText(m,h.getLabelMajor(),t,u)),p=this._repaintMajorLine(m,t,u)):p=this._repaintMinorLine(m,t,u),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),_=h.getLabelMajor(b),x=_.length*(this.props.majorCharWidth||10)+10;(void 0==v||v>x)&&this._repaintMajorText(0,_,t,u)}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,s){var o=this.dom.redundant.minorTexts.shift();if(!o){var n=document.createTextNode("");o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.childNodes[0].nodeValue=e,o.style.top="top"==i?this.props.majorLabelHeight+"px":"0",o.style.left=t+"px",o.className="text minor "+s},s.prototype._repaintMajorText=function(t,e,i,s){var o=this.dom.redundant.majorTexts.shift();if(!o){var n=document.createTextNode(e);o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.majorTexts.push(o),o.childNodes[0].nodeValue=e,o.className="text major "+s,o.style.top="top"==i?"0":this.props.minorLabelHeight+"px",o.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?o.majorLabelHeight+"px":this.body.domProps.top.height+"px",s.style.height=o.minorLineHeight+"px",s.style.left=t-o.minorLineWidth/2+"px",s.className="grid vertical minor "+i,s},s.prototype._repaintMajorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?"0":this.body.domProps.top.height+"px",s.style.left=t-o.majorLineWidth/2+"px",s.style.height=o.majorLineHeight+"px",s.className="grid vertical major "+i,s},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},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._determineBrowserMethod(),this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=0,this.physicsTime=0,this.runDoubleSpeed=!1,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null};var o=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)};this.defaultOptions={nodes:{customScalingFunction:o,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,fontStrokeWidth:0,fontStrokeColor:"#ffffff",fontDrawThreshold:3,scaleFontWithValue:!1,fontSizeMin:14,fontSizeMax:30,fontSizeMaxVisible:30,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{customScalingFunction:o,widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},opacity:1,fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",fontStrokeWidth:0,fontStrokeColor:"white",labelAlignment:"horizontal",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from",useGradients:!1},configurePhysics:!1,physics:{barnesHut:{enabled:!0,thetaInverted:2,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,clusterByZoom:!0},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},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},maxVelocity:50,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,zoomExtentOnStabilize:!0,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,useDefaultGroups:!0},this.constants=a.extend({},this.defaultOptions),this.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers=[],this.manipulationHammers=[],this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.animating=!1,this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null,this.touchTime=0,this.redrawRequested=!1; +var n=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){n._requestRedraw()}),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.freezeSimulationEnabled=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.draggingNodes=!1,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){n._addNodes(e.items),n.start()},update:function(t,e){n._updateNodes(e.items),n.start()},remove:function(t,e){n._removeNodes(e.items),n.start()}},this.edgesListeners={add:function(t,e){n._addEdges(e.items),n.start()},update:function(t,e){n._updateEdges(e.items),n.start()},remove:function(t,e){n._removeEdges(e.items),n.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({duration:0},!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(56),n=i(45),r=i(57),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),m=i(39),f=i(40),g=i(37),v=i(41),y=i(52),b=i(53),_=i(54);i(55),o(s.prototype),s.prototype._determineBrowserMethod=function(){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,-1!=t.indexOf("msie 9.0")?this.requiresTimeout=!0:-1!=t.indexOf("safari")&&t.indexOf("chrome")<=-1&&(this.requiresTimeout=!0)},s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;e0)for(var r=0;re.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),se.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),s.5*this.nodeIndices.length)return void this.zoomExtent(t,!1,i);s=this._getRange(t.nodes);var h=this.nodeIndices.length;o=1==this.constants.smoothCurves?1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?49.07548/(h+142.05338)+91444e-8:12.662/(h+7.4147)+.0964822:1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?77.5271985/(h+187.266146)+476710517e-13:30.5062972/(h+19.93597763)+.08413486;var d=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);o*=d}else{s=this._getRange(t.nodes);var l=1.1*Math.abs(s.maxX-s.minX),c=1.1*Math.abs(s.maxY-s.minY),p=this.frame.canvas.clientWidth/l,u=this.frame.canvas.clientHeight/c;o=u>=p?p:u}o>1&&(o=1);var m=this._findCenter(s);if(0==i){var t={position:m,scale:o,animation:t};this.moveTo(t),this.moving=!0,this.start()}else m.x*=o,m.y*=o,m.x-=.5*this.frame.canvas.clientWidth,m.y-=.5*this.frame.canvas.clientHeight,this._setScale(o),this._setTranslation(-m.x,-m.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._unselectAll(!0),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(1==this.constants.dataManipulation.enabled&&this._createManipulatorBar(),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()):1==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),this.groups.useDefaultGroups=this.constants.useDefaultGroups,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)),this.constants.edges.inheritColor=!1),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||(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._bindHammer(),this._createKeyBinds(),this._markAllEdgesAsDirty(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),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.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this._bindHammer()},s.prototype._bindHammer=function(){var t=this;void 0!==this.hammer&&this.hammer.dispose(),this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",t._onTap.bind(t)),this.hammer.on("doubletap",t._onDoubleTap.bind(t)),this.hammer.on("hold",t._onHold.bind(t)),this.hammer.on("touch",t._onTouch.bind(t)),this.hammer.on("dragstart",t._onDragStart.bind(t)),this.hammer.on("drag",t._onDrag.bind(t)),this.hammer.on("dragend",t._onDragEnd.bind(t)),1==this.constants.zoomable&&(this.hammer.on("mousewheel",t._onMouseWheel.bind(t)),this.hammer.on("DOMMouseScroll",t._onMouseWheel.bind(t)),this.hammer.on("pinch",t._onPinch.bind(t))),this.hammer.on("mousemove",t._onMouseMoveTitle.bind(t)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",t._onRelease.bind(t)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=r(1==this.constants.keyboard.bindToWindow?{container:window,preventDefault:!1}:{container:this.frame,preventDefault:!1}),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype.destroy=function(){this.start=function(){},this.redraw=function(){},this.timer=!1,this._cleanupPhysicsConfiguration(),this.keycharm.reset(),this.hammer.dispose(),this.off(),this._recursiveDOMDelete(this.containerElement)},s.prototype._recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)this._recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},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){(new Date).valueOf()-this.touchTime>100&&(this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this.touchTime=(new Date).valueOf(),this._handleTouch(this.drag.pointer))},s.prototype._onDragStart=function(t){this._handleDragStart(t)},s.prototype._handleDragStart=function(t){void 0===this.drag.pointer&&this._onTouch(t);var e=this._getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=this._getTranslation(),this.drag.nodeId=null,this.draggingNodes=!1,null!=e&&1==this.constants.dragNodes){this.draggingNodes=!0,this.drag.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,this.drag.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),0==this.draggingNodes?this.emit("dragEnd",{nodeIds:[]}):this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center),s=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(s=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),0==this.constants.keyboard.bindToWindow&&1==this.constants.keyboard.enabled&&this.frame.focus(),s===!1){var o=this,n=function(){o._checkShowPopup(i)};this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(n,this.constants.tooltip.delay))}if(1==this.constants.hover){for(var r in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(r)&&(this.hoverObj.edges[r].hover=!1,delete this.hoverObj.edges[r]);var a=this._getNodeAt(i);null==a&&(a=this._getEdgeAt(i)),null!=a&&this._hoverObject(a);for(var d in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(d)&&(a instanceof f&&a.id!=d||a instanceof g||null==a)&&(this._blurObject(this.hoverObj.nodes[d]),delete this.hoverObj.nodes[d]);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=void 0===this.popupObj?"":this.popupObj.id,o=!1,n="node";if(void 0==this.popupObj){var r=this.nodes,a=[];for(e in r)if(r.hasOwnProperty(e)){var h=r[e];h.isOverlappingWith(i)&&void 0!==h.getTitle()&&a.push(e)}a.length>0&&(this.popupObj=this.nodes[a[a.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var d=this.edges,l=[];for(e in d)if(d.hasOwnProperty(e)){var c=d[e];c.connected&&void 0!==c.getTitle()&&c.isOverlappingWith(i)&&l.push(e)}l.length>0&&(this.popupObj=this.edges[l[l.length-1]],n="edge")}this.popupObj?this.popupObj.id!=s&&(void 0===this.popup&&(this.popup=new v(this.frame,this.constants.tooltip)),this.popup.popupTargetType=n,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show()):this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){var e={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},i=!1;if("node"==this.popup.popupTargetType){if(i=this.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0){var s=this._getNodeAt(t);i=s.id==this.popup.popupTargetId}}else null===this._getNodeAt(t)&&(i=this.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth*this.pixelRatio&&(this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight*this.pixelRatio&&(this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width*this.pixelRatio,height:this.frame.canvas.height*this.pixelRatio,oldWidth:s*this.pixelRatio,oldHeight:o*this.pixelRatio})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new f(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t){for(var e=this.nodesData.get(t),i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i),this._markAllEdgesAsDirty()},s.prototype._markAllEdgesAsDirty=function(){for(var t in this.edges)this.edges[t].colorDirty=!0},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.nodes[t[i]]&&(this.nodes[t[i]].unselect(),this._removeFromSelection(this.nodes[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.edges[t[i]]&&(e[t[i]].unselect(),this._removeFromSelection(e[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0,o=0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),s=void 0===s?n:Math.max(n,s),o+=n)}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s,o)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._requestRedraw=function(t){this.redrawRequested!==!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,t),0):window.requestAnimationFrame(this._redraw.bind(this,t,!0)))},s.prototype._redraw=function(t){void 0===t&&(t=!1),this.redrawRequested=!1;var e=this.frame.canvas.getContext("2d");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.frame.canvas.clientWidth,s=this.frame.canvas.clientHeight;e.clearRect(0,0,i,s),e.save(),e.translate(this.translation.x,this.translation.y),e.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)},t===!1&&(this._doInAllSectors("_drawAllSectorNodes",e),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",e)),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",e,!1),t===!1&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",e),e.restore(),t===!0&&e.clearRect(0,0,i,s)},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._revertPhysicsState=function(){var t=this.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].revertPosition()},s.prototype._revertPhysicsTick=function(){this._doInAllActiveSectors("_revertPhysicsState"),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&this._doInSupportSector("_revertPhysicsState")},s.prototype._physicsTick=function(){if(!this.freezeSimulationEnabled&&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;s2*e||1==this.runDoubleSpeed)&&1==this.moving&&(this._physicsTick(),0!=this.renderTime&&(this.runDoubleSpeed=!0))}var i=Date.now();this._redraw(),this.renderTime=Date.now()-i,0==this.requiresTimeout&&this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(1==this.freezeSimulationEnabled&&(this.moving=!1),1==this.moving||0!=this.xIncrement||0!=this.yIncrement||0!=this.zoomIncrement||1==this.animating)this.timer||(this.timer=1==this.requiresTimeout?window.setTimeout(this._animationStep.bind(this),this.renderTimestep):window.requestAnimationFrame(this._animationStep.bind(this)));else if(this._requestRedraw(),this.stabilizationIterations>1){var t=this,e={iterations:t.stabilizationIterations};this.stabilizationIterations=0,this.startedStabilization=!1,setTimeout(function(){t.emit("stabilized",e)},0)}else this.stabilizationIterations=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.freezeSimulation=function(t){1==t?(this.freezeSimulationEnabled=!0,this.moving=!1):(this.freezeSimulationEnabled=!1,this.moving=!0,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes(); +for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new f({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.animating=!1,this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},s.prototype.getBoundingBox=function(t){return void 0!==this.nodes[t]?this.nodes[t].boundingBox:void 0},s.prototype.getConnectedNodes=function(t){var e=[];if(void 0!==this.nodes[t])for(var i=this.nodes[t],s={nodeId:!0},o=0;oh}return!1},s.prototype._getColor=function(t){var e=this.options.color;if(1==this.options.useGradients){var i,s,n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);return i=this.from.options.color.highlight.border,s=this.to.options.color.highlight.border,0==this.from.selected&&0==this.to.selected?(i=o.overrideOpacity(this.from.options.color.border,this.options.opacity),s=o.overrideOpacity(this.to.options.color.border,this.options.opacity)):1==this.from.selected&&0==this.to.selected?s=this.to.options.color.border:0==this.from.selected&&1==this.to.selected&&(i=this.from.options.color.border),n.addColorStop(0,i),n.addColorStop(1,s),n}return this.colorDirty===!0&&("to"==this.options.inheritColor?e={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(e={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}),this.options.color=e,this.colorDirty=!1),1==this.selected?e.highlight:1==this.hover?e.hover:e.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(t),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(){if(1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled)return this.via;if(0==this.options.smoothCurves.enabled)return{x:0,y:0};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);if("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));else if("straightCross"==s)Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}var o=this.labelDimensions.yLine;t.save(),"horizontal"!=this.options.labelAlignment&&(t.translate(i,o),this._rotateForLabelAlignment(t),i=0,o=0),this._drawLabelRect(t),this._drawLabelText(t,i,o,n,r,a),t.restore()}},s.prototype._rotateForLabelAlignment=function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,s=Math.atan2(e,i);(-1>s&&0>i||s>0&&0>i)&&(s+=Math.PI),t.rotate(s)},s.prototype._drawLabelRect=function(t){if(void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){t.fillStyle=this.options.fontFill;var e=2;"line-center"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,.5*-this.labelDimensions.height,this.labelDimensions.width,this.labelDimensions.height):"line-above"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,-(this.labelDimensions.height+e),this.labelDimensions.width,this.labelDimensions.height):"line-below"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,e,this.labelDimensions.width,this.labelDimensions.height):t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)}},s.prototype._drawLabelText=function(t,e,i,s,o,n){if(t.fillStyle=this.options.fontColor||"black",t.textAlign="center","horizontal"!=this.options.labelAlignment){var r=2;"line-above"==this.options.labelAlignment?(t.textBaseline="alphabetic",i-=2*r):"line-below"==this.options.labelAlignment?(t.textBaseline="hanging",i+=2*r):t.textBaseline="middle"}else t.textBaseline="middle";this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=this.options.fontStrokeColor,t.lineJoin="round");for(var a=0;o>a;a++)this.options.fontStrokeWidth>0&&t.strokeText(s[a],e,i),t.fillText(s[a],e,i),i+=n},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(t),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.setLineDash){t.save();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],t.setLineDash(i),t.lineDashOffset=0,e=this._line(t),t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._pointOnBezier=function(t){var e=this._getViaCoordinates(),i=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.to.x,s=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.to.y;return{x:i,y:s}},s.prototype._findBorderPosition=function(t,e){var i,s,o,n,r,a=10,h=0,d=0,l=1,c=.2,p=this.to;for(1==t&&(p=this.from);l>=d&&a>h;){var u=.5*(d+l);if(i=this._pointOnBezier(u),s=Math.atan2(p.y-i.y,p.x-i.x),o=p.distanceToBorder(e,s),n=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=o-n,Math.abs(r)r?0==t?d=u:l=u:0==t?l=u:d=u,h++}return i.t=u,i},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i,s;if(this.from!=this.to){if(this._line(t),1==this.options.smoothCurves.enabled){var o=this._getViaCoordinates();s=this._findBorderPosition(!1,t);var n=this._pointOnBezier(Math.max(0,s.t-.1));e=Math.atan2(s.y-n.y,s.x-n.x)}else{e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var r=this.to.x-this.from.x,a=this.to.y-this.from.y,h=Math.sqrt(r*r+a*a),d=this.to.distanceToBorder(t,e),l=(h-d)/h;s={},s.x=(1-l)*this.from.x+l*this.to.x,s.y=(1-l)*this.from.y+l*this.to.y}if(i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(s.x,s.y,e,i),t.fill(),t.stroke(),this.label){var c;c=1==this.options.smoothCurves.enabled&&null!=o?this._pointOnBezier(.5):this._pointOnLine(.5),this._label(t,this.label,c.x,c.y)}}else{var p,u,m,f=this.from,g=.25*Math.max(100,this.physics.springLength);f.width||f.resize(t),f.width>f.height?(p=f.x+.5*f.width,u=f.y-g,m={x:p,y:f.y,angle:.9*Math.PI}):(p=f.x+g,u=f.y-.5*f.height,m={x:f.x,y:u,angle:.6*Math.PI}),t.beginPath(),t.arc(p,u,g,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(m.x,m.y,m.angle,i),t.fill(),t.stroke(),this.label&&(c=this._pointOnCircle(p,u,g,.5),this._label(t,this.label,c.x,c.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,m,f,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,m=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(f,g,u,m,o,n),v=v>l?l:v),f=u,g=m;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,m,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,m=x.y-_):(u=x.x+_,m=x.y-.5*x.height),y=u-o,b=m-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):null!==this.via&&(this.via.x=0,this.via.y=0)},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:7,borderWidth:2,borderWidthSelected:2},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}this.controlNodes.positions={},0==this.controlNodes.from.selected&&(this.controlNodes.positions.from=this.getControlNodeFromPosition(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y),0==this.controlNodes.to.selected&&(this.controlNodes.positions.to=this.getControlNodeToPosition(t),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.fromBackup=this.from,this.toBackup=this.to,this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.fromId=this.from.id,this.toId=this.to.id,this.fromId!=this.fromBackup.id?this.fromBackup.detachEdge(this):this.toId!=this.toBackup.id&&this.toBackup.detachEdge(this),this.fromBackup=null,this.toBackup=null,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.getControlNodeFromPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!0,t);else{var 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;e={},e.x=a*this.from.x+(1-a)*this.to.x,e.y=a*this.from.y+(1-a)*this.to.y}return e},s.prototype.getControlNodeToPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!1,t);else{var 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.to.distanceToBorder(t,i),a=(n-r)/n;e={},e.x=(1-a)*this.from.x+a*this.to.x,e.y=(1-a)*this.from.y+a*this.to.y}return e},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.useDefaultGroups=!0}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"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],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)if(this.useDefaultGroups===!1&&this.groupsArray.length>0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{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,this.groupsArray.push(t),e},t.exports=s},function(t){function e(){this.images={},this.imageBroken={},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,i.onload=function(){0==this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),s.callback&&(s.images[t]=i,s.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,s.callback&&s.callback(this)):s.imageBroken[t]===!0?this.src==e?(console.error("Could not load brokenImage:",e),delete this.src,s.callback&&s.callback(this)):(console.error("Could not load image:",t),this.src=e):(console.error("Could not load image:",t),this.src=e,s.imageBroken[t]=!0)},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.id=void 0,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.boundingBox={top:0,left:0,right:0,bottom:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.x=null,this.y=null,this.predefinedPosition=!1,this.previousState={vx:0,vy:0,x:0,y:0},this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),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.revertPosition=function(){this.x=this.previousState.x,this.y=this.previousState.y,this.vx=this.previousState.vx,this.vy=this.previousState.vy +},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)},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1)},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","group","mass","fontDrawThreshold","scaleFontWithValue","fontSizeMaxVisible","customScalingFunction","iconFontFace","icon","iconColor","iconSize"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x,this.predefinedPosition=!0),void 0!==t.y&&(this.y=t.y,this.predefinedPosition=!0),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 t.group||"string"==typeof t.group&&""!=t.group){var s=this.grouplist.get(t.group);o.deepExtend(this.options,s),this.options.color=o.parseColor(this.options.color)}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,("image"===this.options.shape||"circularImage"===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"circularImage":this.draw=this._drawCircularImage,this.resize=this._resizeCircularImage;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;case"icon":this.draw=this._drawIcon,this.resize=this._resizeIcon;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.storeState=function(){this.previousState.x=this.x,this.previousState.y=this.y,this.previousState.vx=this.vx,this.previousState.vy=this.vy},s.prototype.discreteStep=function(t){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e,i){if(!this.radiusFixed&&void 0!==this.value){var s=this.options.customScalingFunction(t,e,i,this.value),o=this.options.radiusMax-this.options.radiusMin;if(1==this.options.scaleFontWithValue){var n=this.options.fontSizeMax-this.options.fontSizeMin;this.options.fontSize=this.options.fontSizeMin+s*n}this.options.radius=this.options.radiusMin+s*o}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._drawImageAtPosition=function(t){if(0!=this.imageObj.width){if(this.clusterSize>1){var e=this.clusterSize>1?10:0;e*=this.networkScaleInv,e=Math.min(.2*this.width,e),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-e,this.top-e,this.width+2*e,this.height+2*e)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height)}},s.prototype._drawImageLabel=function(t){var e,i=0;if(this.height){i=this.height/2;var s=this.getTextSize(t);s.lineCount>=1&&(i+=s.height/2,i+=3)}e=this.y+i,this._label(t,this.label,this.x,e,void 0)},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawImageAtPosition(t),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeCircularImage=function(t){if(this.imageObj.src&&this.imageObj.width&&this.imageObj.height)this._swapToImageResizeWhenImageLoaded&&(this.width=0,this.height=0,delete this._swapToImageResizeWhenImageLoaded),this._resizeImage(t);else if(!this.width){var e=2*this.options.radius;this.width=e,this.height=e,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*e,this._swapToImageResizeWhenImageLoaded=!0}},s.prototype._drawCircularImage=function(t){this._resizeCircularImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=this.left+this.width/2,i=this.top+this.height/2,s=Math.abs(this.height/2);this._drawRawCircle(t,e,i,s),t.save(),t.circle(this.x,this.y,s),t.stroke(),t.clip(),this._drawImageAtPosition(t),t.restore(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},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.hover?this.options.color.hover.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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._drawRawCircle=function(t,e,i,s){var o=2.5,n=this.options.borderWidth,r=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?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(e,i,s+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o: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,s),t.fill(),t.stroke()},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawRawCircle(t,this.x,this.y,this.options.radius),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,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.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this.label&&(this._label(t,this.label,this.x,this.y+this.height/2,void 0,"hanging",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height))},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),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height},s.prototype._resizeIcon=function(){if(!this.width){var t=5,e={width:Number(this.options.iconSize),height:Number(this.options.iconSize)};this.width=e.width+2*t,this.height=e.height+2*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+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(e.width+2*t)}},s.prototype._drawIcon=function(t){if(this._resizeIcon(t),this.options.iconSize=this.options.iconSize||50,this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._icon(t),this.boundingBox.top=this.y-this.options.iconSize/2,this.boundingBox.left=this.x-this.options.iconSize/2,this.boundingBox.right=this.x+this.options.iconSize/2,this.boundingBox.bottom=this.y+this.options.iconSize/2,this.label){var e=5;this._label(t,this.label,this.x,this.y+this.height/2+e,"top",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)}},s.prototype._icon=function(t){var e=Number(this.options.iconSize)*this.networkScale;if(this.options.icon&&e>this.options.fontDrawThreshold-1){var i=Number(this.options.iconSize);t.font=(this.selected?"bold ":"")+i+"px "+this.options.iconFontFace,t.fillStyle=this.options.iconColor||"black",t.textAlign="center",t.textBaseline="middle",t.fillText(this.options.icon,this.x,this.y)}},s.prototype._label=function(t,e,i,s,n,r,a){var h=Number(this.options.fontSize)*this.networkScale;if(e&&h>=this.options.fontDrawThreshold-1){var d=Number(this.options.fontSize);h>=this.options.fontSizeMaxVisible&&(d=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv);var l=this.options.fontColor||"#000000",c=this.options.fontStrokeColor;if(h<=this.options.fontDrawThreshold){var p=Math.max(0,Math.min(1,1-(this.options.fontDrawThreshold-h)));l=o.overrideOpacity(l,p),c=o.overrideOpacity(c,p)}t.font=(this.selected?"bold ":"")+d+"px "+this.options.fontFace;var u=e.split("\n"),m=u.length,f=s+(1-m)/2*d;1==a&&(f=s+(1-m)/(2*d));for(var g=t.measureText(u[0]).width,v=1;m>v;v++){var y=t.measureText(u[v]).width;g=y>g?y:g}var b=d*m,_=i-g/2,x=s-b/2;"hanging"==r&&(x+=.5*d,x+=4,f+=4),this.labelDimensions={top:x,left:_,width:g,height:b,yLine:f},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(_,x,g,b)),t.fillStyle=l,t.textAlign=n||"center",t.textBaseline=r||"middle",this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var v=0;m>v;v++)this.options.fontStrokeWidth&&t.strokeText(u[v],i,f),t.fillText(u[v],i,f),f+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){var e=Number(this.options.fontSize);e*this.networkScale>this.options.fontSizeMaxVisible&&(e=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv),t.font=(this.selected?"bold ":"")+e+"px "+this.options.fontFace;for(var i=this.label.split("\n"),s=(e+4)*i.length,o=0,n=0,r=i.length;r>n;n++)o=Math.max(o,t.measureText(i[n]).width);return{width:o,height:s,lineCount:i.length}}return{width:0,height:0,lineCount: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(N=M.NULL,k="";" "==E||" "==E||"\n"==E||"\r"==E;)o();do{var t=!1;if("#"==E){for(var e=O-1;" "==T.charAt(e)||" "==T.charAt(e);)e--;if("\n"==T.charAt(e)||""==T.charAt(e)){for(;""!=E&&"\n"!=E;)o();t=!0}}if("/"==E&&"/"==n()){for(;""!=E&&"\n"!=E;)o();t=!0}if("/"==E&&"*"==n()){for(;""!=E;){if("*"==E&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==E||" "==E||"\n"==E||"\r"==E;)o()}while(t);if(""==E)return void(N=M.DELIMITER);var i=E+n();if(C[i])return N=M.DELIMITER,k=i,o(),void o();if(C[E])return N=M.DELIMITER,k=E,void o();if(r(E)||"-"==E){for(k+=E,o();r(E);)k+=E,o();return"false"==k?k=!1:"true"==k?k=!0:isNaN(Number(k))||(k=Number(k)),void(N=M.IDENTIFIER)}if('"'==E){for(o();""!=E&&('"'!=E||'"'==E&&'"'==n());)k+=E,'"'==E&&o(),o();if('"'!=E)throw x('End of string " expected');return o(),void(N=M.IDENTIFIER)}for(N=M.UNKNOWN;""!=E;)k+=E,o();throw new SyntaxError('Syntax error in part "'+w(k,30)+'"')}function u(){var t={};if(s(),p(),"strict"==k&&(t.strict=!0,p()),("graph"==k||"digraph"==k)&&(t.type=k,p()),N==M.IDENTIFIER&&(t.id=k,p()),"{"!=k)throw x("Angle bracket { expected");if(p(),m(t),"}"!=k)throw x("Angle bracket } expected");if(p(),""!==k)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==k&&"}"!=k;)f(t),";"==k&&p()}function f(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(N!=M.IDENTIFIER)throw x("Identifier expected");var s=k;if(p(),"="==k){if(p(),N!=M.IDENTIFIER)throw x("Identifier expected");t[s]=k,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==k&&(e={},e.type="subgraph",p(),N==M.IDENTIFIER&&(e.id=k,p())),"{"==k){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=k)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function v(t){return"node"==k?(p(),t.node=_(),"node"):"edge"==k?(p(),t.edge=_(),"edge"):"graph"==k?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==k||"--"==k;){var i,s=k;p();var o=g(t);if(o)i=o;else{if(N!=M.IDENTIFIER)throw x("Identifier or subgraph expected");i=k,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==k;){for(p(),t={};""!==k&&"]"!=k;){if(N!=M.IDENTIFIER)throw x("Attribute name expected");var e=k;if(p(),"="!=k)throw x("Equal sign = expected");if(p(),N!=M.IDENTIFIER)throw x("Attribute value expected");var i=k;h(t,e,i),p(),","==k&&p()}if("]"!=k)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(k,30)+'" (char '+O+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t){var e=i(t),s={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),s.nodes.push(e)}),e.edges){var o=function(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,i;e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=o(t);s.edges.push(e)}),S(e,i,function(e,i){var n=c(s,e.id,i.id,t.type,t.attr),r=o(n);s.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=o(t);s.edges.push(e)})})}return e.attr&&(s.options=e.attr),s}var M={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},T="",O=0,E="",k="",N=M.NULL,I=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r0?Math.max.apply(null,i)+1:1):(this.customBarIds.forEach(function(t){if(t===e)throw new Error("Custom time ID already exists")}),o=e),this.customBarIds.push(o),s=new l(this.body,{showCustomTime:!0,time:n,id:o}),this.components.push(s),this.redraw(),o},s.prototype.removeCustomTime=function(t){var e=this;this.components.forEach(function(i,s,o){i instanceof l&&i.options.id===t&&0!==i.options.id&&(e.customBarIds.splice(e.customBarIds.indexOf(t),1),o.splice(s,1),i.destroy())})},s.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},s.prototype.clear=function(t){(!t||t.items)&&this.setItems(null),(!t||t.groups)&&this.setGroups(null),(!t||t.options)&&(this.components.forEach(function(t){t.setOptions(t.defaultOptions)}),this.setOptions(this.defaultOptions))},s.prototype.fit=function(t){var e=this._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(e.start,e.end,i)}},s.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var s=i.valueOf()-e.valueOf();0>=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}return{start:e,end:i}},s.prototype.setWindow=function(t,e,i){var s;if(1==arguments.length){var o=arguments[0];s=void 0!==o.animate?o.animate:!0,this.range.setRange(o.start,o.end,s)}else s=i&&void 0!==i.animate?i.animate:!0,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(){this._redraw()},s.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){d.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),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 l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=m,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=m,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=m,this.components.forEach(function(e){t=e.redraw()||t}),t){var f=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[s].y?t[s].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=o.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?s._catmullRom(t,e):s._linear(t),1==e.options.shaded.enabled){var d,l=o.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&n.draw(t,e,i)}},s._catmullRomUniform=function(t){for(var e,i,s,o,n,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,D=0;S-1>D;D++)s=0==D?t[0]:t[D-1],o=t[D],n=t[D+1],r=S>D+2?t[D+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s._linear=function(t){for(var e="",i=0;it[s].y?t[s].y:e,i=i0&&(n=Math.min(n,Math.abs(c[d-1].x-r))),a=s._getSafeDrawData(n,h,m);else{var g=d+(p[r].amount-p[r].resolved),v=d-(p[r].resolved+1);g0&&(n=Math.min(n,Math.abs(c[v].x-r))),a=s._getSafeDrawData(n,h,m),p[r].resolved+=1,"stack"==h.options.barChart.handleOverlap?(f=p[r].accumulated,p[r].accumulated+=h.zeroPosition-c[d].y):"sideBySide"==h.options.barChart.handleOverlap&&(a.width=a.width/p[r].amount,a.offset+=p[r].resolved*a.width-.5*a.width*(p[r].amount+1),"left"==h.options.barChart.align?a.offset-=.5*a.width:"right"==h.options.barChart.align&&(a.offset+=.5*a.width))}o.drawBar(c[d].x+a.offset,c[d].y-f,a.width,h.zeroPosition-c[d].y,h.className+" bar",i.svgElements,i.svg),1==h.options.drawPoints.enabled&&o.drawPoint(c[d].x+a.offset,c[d].y,h,i.svgElements,i.svg)}},s._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.getStackedBarYRange=function(t,e,i,o,n){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};s._getDataIntersections(r,t),e[o]=s._getStackedBarYRange(r,t),e[o].yAxisOrientation=n,i.push(o)}},s._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=ot[s].y?t[s].y:e,i=is;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){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){var i,s,o;!function(n,r){s=[],i=r,o="function"==typeof i?i.apply(e,s):i,!(void 0!==o&&(t.exports=o))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s=t&&t.container||window,o={},n={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==n[e][t.keyCode]){for(var s=n[e][t.keyCode],o=0;oe-n?(i=t.clone().add(o-1,"months"),s=(e-n)/(n-i)):(i=t.clone().add(o+1,"months"),s=(e-n)/(i-n)),-(o+s)}function f(t,e,i){var s;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(s=t.isPM(i),s&&12>e&&(e+=12),s||12!==e||(e=0),e):e}function g(){}function v(t,e){e!==!1&&R(t),_(this,t),this._d=new Date(+t._d),Mi===!1&&(Mi=!0,Ce.updateOffset(this),Mi=!1)}function y(t){var e=N(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=Ce.localeData(),this._bubble()}function b(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 _(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),Ye.length>0)for(i in Ye)s=Ye[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function x(t){return 0>t?Math.ceil(t):Math.floor(t)}function w(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&L(t[s])!==L(e[s]))&&r++;return r+n}function k(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=gi[t]||vi[e]||e}return t}function N(t){var e,i,s={};for(i in t)a(t,i)&&(e=k(i),e&&(s[e]=t[i]));return s}function I(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}Ce[t]=function(s,o){var r,a,h=Ce._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=Ce().utc().set(i,t);return h.call(Ce._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function L(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function z(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function A(t,e,i){return me(Ce([t,11,31+e-i]),e,i).week}function P(t){return F(t)?366:365}function F(t){return t%4===0&&t%100!==0||t%400===0}function R(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ze]<0||t._a[ze]>11?ze:t._a[Ae]<1||t._a[Ae]>z(t._a[Le],t._a[ze])?Ae:t._a[Pe]<0||t._a[Pe]>24||24===t._a[Pe]&&(0!==t._a[Fe]||0!==t._a[Re]||0!==t._a[He])?Pe:t._a[Fe]<0||t._a[Fe]>59?Fe:t._a[Re]<0||t._a[Re]>59?Re:t._a[He]<0||t._a[He]>999?He:-1,t._pf._overflowDayOfYear&&(Le>e||e>Ae)&&(e=Ae),t._pf.overflow=e)}function H(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._pf.bigHour===n)),t._isValid}function B(t){return t?t.toLowerCase().replace("_","-"):t}function Y(t){for(var e,i,s,o,n=0;n0;){if(s=W(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function W(t){var e=null;if(!Be[t]&&We)try{e=Ce.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Ce.locale(e)}catch(i){}return Be[t]}function G(t,e){var i,s;return e._isUTC?(i=e.clone(),s=(Ce.isMoment(t)||O(t)?+t:+Ce(t))-+i,i._d.setTime(+i._d+s),Ce.updateOffset(i,!1),i):Ce(t).local()}function j(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function V(t){var e,i,s=t.match(Ue);for(e=0,i=s.length;i>e;e++)s[e]=wi[s[e]]?wi[s[e]]:j(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 U(t,e){return t.isValid()?(e=X(e,t.localeData()),yi[e]||(yi[e]=V(e)),yi[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Xe.lastIndex=0;s>=0&&Xe.test(t);)t=t.replace(Xe,i),Xe.lastIndex=0,s-=1;return t}function q(t,e){var i,s=e._strict;switch(t){case"Q":return oi;case"DDDD":return ri;case"YYYY":case"GGGG":case"gggg":return s?ai:Qe;case"Y":case"G":case"g":return di;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?hi:Ke;case"S":if(s)return oi;case"SS":if(s)return ni;case"SSS":if(s)return ri;case"DDD":return Ze;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Je;case"a":case"A":return e._locale._meridiemParse;case"x":return ii;case"X":return si;case"Z":case"ZZ":return ti;case"T":return ei;case"SSSS":return $e;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?ni:qe;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return qe;case"Do":return s?e._locale._ordinalParse:e._locale._ordinalParseLenient;default:return i=new RegExp(se(ie(t.replace("\\","")),"i"))}}function Z(t){t=t||"";var e=t.match(ti)||[],i=e[e.length-1]||[],s=(i+"").match(mi)||["-",0,0],o=+(60*s[1])+L(s[2]);return"+"===s[0]?o:-o}function Q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[ze]=3*(L(e)-1));break;case"M":case"MM":null!=e&&(o[ze]=L(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e,t,i._strict),null!=s?o[ze]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ae]=L(e));break;case"Do":null!=e&&(o[Ae]=L(parseInt(e.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=L(e));break;case"YY":o[Le]=Ce.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[Le]=L(e);break;case"a":case"A":i._meridiem=e;break;case"h":case"hh":i._pf.bigHour=!0;case"H":case"HH":o[Pe]=L(e);break;case"m":case"mm":o[Fe]=L(e);break;case"s":case"ss":o[Re]=L(e);break;case"S":case"SS":case"SSS":case"SSSS":o[He]=L(1e3*("0."+e));break;case"x":i._d=new Date(L(e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=Z(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=L(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=Ce.parseTwoDigitYear(e)}}function K(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[Le],me(Ce(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[Le],me(Ce(),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=fe(i,s,o,a,n),t._a[Le]=h.year,t._dayOfYear=h.dayOfYear}function $(t){var e,i,s,o,n=[];if(!t._d){for(s=te(t),t._w&&null==t._a[Ae]&&null==t._a[ze]&&K(t),t._dayOfYear&&(o=r(t._a[Le],s[Le]),t._dayOfYear>P(o)&&(t._pf._overflowDayOfYear=!0),i=le(o,0,t._dayOfYear),t._a[ze]=i.getUTCMonth(),t._a[Ae]=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];24===t._a[Pe]&&0===t._a[Fe]&&0===t._a[Re]&&0===t._a[He]&&(t._nextDay=!0,t._a[Pe]=0),t._d=(t._useUTC?le:de).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Pe]=24)}}function J(t){var e;t._d||(e=N(t._i),t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],$(t))}function te(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function ee(t){if(t._f===Ce.ISO_8601)return void ne(t);t._a=[],t._pf.empty=!0;var e,i,s,o,r,a=""+t._i,h=a.length,d=0;for(s=X(t._f,t._locale).match(Ue)||[],e=0;e0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(i)+i.length),d+=i.length),wi[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),Q(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[Pe]<=12&&(t._pf.bigHour=n),t._a[Pe]=f(t._locale,t._a[Pe],t._meridiem),$(t),R(t)}function ie(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function se(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function oe(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));b(t,i||e)}function ne(t){var e,i,s=t._i,o=li.exec(s);if(o){for(t._pf.iso=!0,e=0,i=pi.length;i>e;e++)if(pi[e][1].exec(s)){t._f=pi[e][0]+(o[6]||" ");break}for(e=0,i=ui.length;i>e;e++)if(ui[e][1].exec(s)){t._f+=ui[e][0];break}s.match(ti)&&(t._f+="Z"),ee(t)}else t._isValid=!1}function re(t){ne(t),t._isValid===!1&&(delete t._isValid,Ce.createFromInputFallback(t))}function ae(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function le(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ce(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 pe(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ue(t,e,i){var s=Ce.duration(t).abs(),o=Ne(s.as("s")),n=Ne(s.as("m")),r=Ne(s.as("h")),a=Ne(s.as("d")),h=Ne(s.as("M")),d=Ne(s.as("y")),l=o0,l[4]=i,pe.apply({},l)}function me(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Ce(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function fe(t,e,i,s,o){var n,r,a=le(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:P(t-1)+r}}function ge(t){var e,i=t._i,s=t._f;return t._locale=t._locale||Ce.localeData(t._l),null===i||s===n&&""===i?Ce.invalid({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),Ce.isMoment(i)?new v(i,!0):(s?T(s)?oe(t):ee(t):he(t),e=new v(t),e._nextDay&&(e.add(1,"d"),e._nextDay=n),e))}function ve(t,e){var i,s;if(1===e.length&&T(e[0])&&(e=e[0]),!e.length)return Ce();for(i=e[0],s=1;s=0?"+":"-";return e+w(Math.abs(t),6)},gg:function(){return w(this.weekYear()%100,2)},gggg:function(){return w(this.weekYear(),4)},ggggg:function(){return w(this.weekYear(),5)},GG:function(){return w(this.isoWeekYear()%100,2)},GGGG:function(){return w(this.isoWeekYear(),4)},GGGGG:function(){return w(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return L(this.milliseconds()/100)},SS:function(){return w(L(this.milliseconds()/10),2)},SSS:function(){return w(this.milliseconds(),3)},SSSS:function(){return w(this.milliseconds(),3)},Z:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+":"+w(L(t)%60,2)},ZZ:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+w(L(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Si={},Di=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],Mi=!1;_i.length;)Oe=_i.pop(),wi[Oe+"o"]=u(wi[Oe],Oe);for(;xi.length;)Oe=xi.pop(),wi[Oe+Oe]=p(wi[Oe],2);wi.DDDD=p(wi.DDD,3),b(g.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_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,e,i){var s,o,n;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;12>s;s++){if(o=Ce.utc([2e3,s]),i&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),i||this._monthsParse[s]||(n="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[s].test(t))return s;if(i&&"MMM"===e&&this._shortMonthsParse[s].test(t))return s;if(!i&&this._monthsParse[s].test(t))return s}},_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=Ce([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:{LTS:"h:mm:ss A",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,i){var s=this._calendar[t];return"function"==typeof s?s.apply(e,[i]):s},_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",_ordinalParse:/\d{1,2}/,preparse:function(t){return t},postformat:function(t){return t},week:function(t){return me(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},firstDayOfWeek:function(){return this._week.dow},firstDayOfYear:function(){return this._week.doy},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),Ce=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(),ge(o)},Ce.suppressDeprecationWarnings=!1,Ce.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+(t._useUTC?" UTC":""))}),Ce.min=function(){var t=[].slice.call(arguments,0);return ve("isBefore",t)},Ce.max=function(){var t=[].slice.call(arguments,0);return ve("isAfter",t)},Ce.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(),ge(o).utc()},Ce.unix=function(t){return Ce(1e3*t)},Ce.duration=function(t,e){var i,s,o,n,r=t,h=null;return Ce.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=je.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:L(h[Ae])*i,h:L(h[Pe])*i,m:L(h[Fe])*i,s:L(h[Re])*i,ms:L(h[He])*i}):(h=Ve.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])}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(n=D(Ce(r.from),Ce(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new y(r),Ce.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},Ce.version=Ee,Ce.defaultFormat=ci,Ce.ISO_8601=function(){},Ce.momentProperties=Ye,Ce.updateOffset=function(){},Ce.relativeTimeThreshold=function(t,e){return bi[t]===n?!1:e===n?bi[t]:(bi[t]=e,!0)},Ce.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return Ce.locale(t,e)}),Ce.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?Ce.defineLocale(t,e):Ce.localeData(t),i&&(Ce.duration._locale=Ce._locale=i)),Ce._locale._abbr},Ce.defineLocale=function(t,e){return null!==e?(e.abbr=t,Be[t]||(Be[t]=new g),Be[t].set(e),Ce.locale(t),Be[t]):(delete Be[t],null)},Ce.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return Ce.localeData(t)}),Ce.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ce._locale;if(!T(t)){if(e=W(t))return e;t=[t]}return Y(t)},Ce.isMoment=function(t){return t instanceof v||null!=t&&a(t,"_isAMomentObject")},Ce.isDuration=function(t){return t instanceof y};for(Oe=Di.length-1;Oe>=0;--Oe)I(Di[Oe]);Ce.normalizeUnits=function(t){return k(t)},Ce.invalid=function(t){var e=Ce.utc(0/0);return null!=t?b(e._pf,t):e._pf.userInvalidated=!0,e},Ce.parseZone=function(){return Ce.apply(null,arguments).parseZone()},Ce.parseTwoDigitYear=function(t){return L(t)+(L(t)>68?1900:2e3)},Ce.isDate=O,b(Ce.fn=v.prototype,{clone:function(){return Ce(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=Ce(this).utc();return 00:!1},parsingFlags:function(){return b({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.utcOffset(0,t)},local:function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(this._dateUtcOffset(),"m")),this},format:function(t){var e=U(this,t||Ce.defaultFormat);return this.localeData().postformat(e)},add:M(1,"add"),subtract:M(-1,"subtract"),diff:function(t,e,i){var s,o,n=G(t,this),r=6e4*(n.utcOffset()-this.utcOffset());return e=k(e),"year"===e||"month"===e||"quarter"===e?(o=m(this,n),"quarter"===e?o/=3:"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:x(o)},from:function(t,e){return Ce.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(Ce(),t)},calendar:function(t){var e=t||Ce(),i=G(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,Ce(e)))},isLeapYear:function(){return F(this.year())},isDST:function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},day:function(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ce(t,this.localeData()),this.add(t-e,"d")):e},month:xe("Month",!0),startOf:function(t){switch(t=k(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t?this.weekday(0):"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(t){return t=k(t),t===n||"millisecond"===t?this:this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")},isAfter:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+this>+t):(i=Ce.isMoment(t)?+t:+Ce(t),i<+this.clone().startOf(e))},isBefore:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+t>+this):(i=Ce.isMoment(t)?+t:+Ce(t),+this.clone().endOf(e)t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=Ce.apply(null,arguments),t>this?this:t}),zone:l("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),utcOffset:function(t,e){var i,s=this._offset||0;return null!=t?("string"==typeof t&&(t=Z(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateUtcOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),s!==t&&(!e||this._changeInProgress?C(this,Ce.duration(t-s,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Ce.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?s:this._dateUtcOffset()},isLocal:function(){return!this._isUTC},isUtcOffset:function(){return this._isUTC},isUtc:function(){return this._isUTC&&0===this._offset},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Z(this._i)),this},hasAlignedHourOffset:function(t){return t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60===0},daysInMonth:function(){return z(this.year(),this.month())},dayOfYear:function(t){var e=Ne((Ce(this).startOf("day")-Ce(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=me(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=me(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=me(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 A(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return A(this.year(),t.dow,t.doy)},get:function(t){return t=k(t),this[t]()},set:function(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else t=k(t),"function"==typeof this[t]&&this[t](e);return this},locale:function(t){var e;return t===n?this._locale._abbr:(e=Ce.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateUtcOffset:function(){return 15*-Math.round(this._d.getTimezoneOffset()/15)}}),Ce.fn.millisecond=Ce.fn.milliseconds=xe("Milliseconds",!1),Ce.fn.second=Ce.fn.seconds=xe("Seconds",!1),Ce.fn.minute=Ce.fn.minutes=xe("Minutes",!1),Ce.fn.hour=Ce.fn.hours=xe("Hours",!0),Ce.fn.date=xe("Date",!0),Ce.fn.dates=l("dates accessor is deprecated. Use date instead.",xe("Date",!0)),Ce.fn.year=xe("FullYear",!0),Ce.fn.years=l("years accessor is deprecated. Use year instead.",xe("FullYear",!0)),Ce.fn.days=Ce.fn.day,Ce.fn.months=Ce.fn.month,Ce.fn.weeks=Ce.fn.week,Ce.fn.isoWeeks=Ce.fn.isoWeek,Ce.fn.quarters=Ce.fn.quarter,Ce.fn.toJSON=Ce.fn.toISOString,Ce.fn.isUTC=Ce.fn.isUtc,b(Ce.duration.fn=y.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=x(s/1e3),r.seconds=t%60,e=x(t/60),r.minutes=e%60,i=x(e/60),r.hours=i%24,o+=x(i/24),a=x(we(o)),o-=x(Se(a)),n+=x(o/30),o%=30,a+=x(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 x(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12)},humanize:function(t){var e=ue(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=Ce.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=Ce.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=k(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=k(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*we(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Se(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:Ce.fn.lang,locale:Ce.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},toJSON:function(){return this.toISOString()}}),Ce.duration.fn.toString=Ce.duration.fn.toISOString;for(Oe in fi)a(fi,Oe)&&De(Oe.toLowerCase());Ce.duration.fn.asMilliseconds=function(){return this.as("ms")},Ce.duration.fn.asSeconds=function(){return this.as("s")},Ce.duration.fn.asMinutes=function(){return this.as("m")},Ce.duration.fn.asHours=function(){return this.as("h")},Ce.duration.fn.asDays=function(){return this.as("d")},Ce.duration.fn.asWeeks=function(){return this.as("weeks")},Ce.duration.fn.asMonths=function(){return this.as("M")},Ce.duration.fn.asYears=function(){return this.as("y")},Ce.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===L(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),We?o.exports=Ce:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(ke.moment=Te),Ce}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Me(!0))}).call(this)}).call(e,function(){return this}(),i(71)(t))},function(t,e,i){var s;!function(o,n){function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){D.register(t) +}),w.onTouch(a.DOCUMENT,v,D.detect),w.onTouch(a.DOCUMENT,y,D.detect),a.READY=!0)}var a=function M(t,e){return new M.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",m=a.POINTER_TOUCH="touch",f=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(D,d),a&&(d.changedLength=h,d.eventType=a,s.call(D,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(D,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return S.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=m;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(f,s)&&(o=f),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return D.stopDetect()}}}},S=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[m]=i===(e.MSPOINTER_TYPE_TOUCH||m),s[f]=i===(e.MSPOINTER_TYPE_PEN||f),s[t]},reset:function(){this.pointers={}}},D=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?D.startDetect(i,t):t.eventType==_&&D.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=D.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=D.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=D.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=D.current,h=D.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e,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 d;d=document.getElementById("graph_BH_gc"),d.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),d=document.getElementById("graph_BH_cg"),d.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),d=document.getElementById("graph_BH_sc"),d.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),d=document.getElementById("graph_BH_sl"),d.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),d=document.getElementById("graph_BH_damp"),d.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),d=document.getElementById("graph_R_nd"),d.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),d=document.getElementById("graph_R_cg"),d.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),d=document.getElementById("graph_R_sc"),d.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),d=document.getElementById("graph_R_sl"),d.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),d=document.getElementById("graph_R_damp"),d.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),d=document.getElementById("graph_H_nd"),d.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),d=document.getElementById("graph_H_cg"),d.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),d=document.getElementById("graph_H_sc"),d.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),d=document.getElementById("graph_H_sl"),d.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),d=document.getElementById("graph_H_damp"),d.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),d=document.getElementById("graph_H_direction"),d.onchange=a.bind(this,"graph_H_direction",i,"hierarchicalLayout_direction"),d=document.getElementById("graph_H_levsep"),d.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),d=document.getElementById("graph_H_nspac"),d.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var l=document.getElementById("graph_physicsMethod1"),c=document.getElementById("graph_physicsMethod2"),p=document.getElementById("graph_physicsMethod3");c.checked=!0,this.constants.physics.barnesHut.enabled&&(l.checked=!0),this.constants.hierarchicalLayout.enabled&&(p.checked=!0);var u=document.getElementById("graph_toggleSmooth"),m=document.getElementById("graph_repositionNodes"),f=document.getElementById("graph_generateOptions");u.onclick=s.bind(this),m.onclick=o.bind(this),f.onclick=n.bind(this),u.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),l.onchange=r.bind(this),c.onchange=r.bind(this),p.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){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),1==this.constants.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(),this.forceAggregateHubs(!0),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._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&1==this.constants.clustering.clusterByZoom&&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,r=this.previousScalethis.scale&&0==t;1==a&&this._collapseSector(),1==a||-1==t?this._formClusters(i):(1==r||1==t)&&(1==i?this._openClusters(e,i):this._openClusters(e,!1)),this._updateNodeIndexList(),this.nodeIndices.length!=n||1!=a&&-1!=t||(this._aggregateHubs(i),this._updateNodeIndexList()),(1==a||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,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.updateLabels(),this._updateCalculationNodes(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){if(1==this.constants.clustering.clusterByZoom)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&&(void 0===s&&(s=!1),e=s||e,t.formationScalei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdges.length?this._addToCluster(r,a,!1):1==r.dynamicEdges.length&&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.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.dynamicEdges.length>=this.hubThreshold&&0==i||t.dynamicEdges.length==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){var u=[],m={};for(c=0;l>c;c++){p=this.edges[d[c]];var f=this.nodes[p.fromId==t.id?p.toId:p.fromId];void 0===m[f.id]&&(m[f.id]=!0,u.push(f))}for(c=0;c1&&(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.dynamicEdges.length),t+=n.dynamicEdges.length,e+=Math.pow(n.dynamicEdges.length,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].dynamicEdges.length&&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].dynamicEdges.length&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(40);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(40),n=i(37),r=i(45);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._cleanManipulatorHammers(),this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulation(!1)},e._cleanManipulatorHammers=function(){if(0!=this.manipulationHammers.length){for(var t=0;t1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag;var a=this;this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=a.edges.connectionEdge;i.to.x=a._XconvertDOMtoCanvas(e.x),i.to.y=a._YconvertDOMtoCanvas(e.y),a._redraw()},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(2!=this.triggerFunctions.del.length)throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(45));e._cleanNavigation=function(){if(0!=this.navigationHammers.length){for(var t=0;t0){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,o,n=0;n1&&s.hierarchyEnumerated===!1&&this._setLevelDirected(s.level,s.edges,s.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){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/=Math.max(i,.01*g),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.thetaInverted){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){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=70},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); //# sourceMappingURL=vis.map diff --git a/docs/dataset.html b/docs/dataset.html index 110afc0a..2c77c723 100644 --- a/docs/dataset.html +++ b/docs/dataset.html @@ -740,9 +740,10 @@ DataSet.map(callback [, options]); fields - String[ ] + String[ ] | Object.<String, String> - An array with field names. + An array with field names, or an object with current field name and + new field name that the field is returned as. By default, all properties of the items are emitted. When fields is defined, only the properties whose name is specified in fields will be included diff --git a/docs/dataview.html b/docs/dataview.html index 316da77a..eea7d2df 100644 --- a/docs/dataview.html +++ b/docs/dataview.html @@ -129,9 +129,10 @@ var data = new vis.DataView(dataset, options) fields - String[ ] + String[ ] | Object.<String, String> - An array with field names. + An array with field names, or an object with current field name and + new field name that the field is returned as. By default, all properties of the items are emitted. When fields is defined, only the properties whose name is specified in fields will be included diff --git a/docs/graph2d.html b/docs/graph2d.html index bcc03402..68aad11c 100644 --- a/docs/graph2d.html +++ b/docs/graph2d.html @@ -175,6 +175,12 @@ var items = [ no The ID of the group this point belongs to. + + label + object + no + A label object which will be displayed near to the item. A label object has one requirement - a content property. In addition you can set the xOffset, yOffset and className for further appearance customisations +

Groups

@@ -672,7 +678,7 @@ The options colored in green can also be used as options for the groups. All opt orientation String 'bottom' - Orientation of the timeline: 'top' or 'bottom' (default). If orientation is 'bottom', the time axis is drawn at the bottom, and if 'top', the axis is drawn on top. + Orientation of the timeline: 'top', 'bottom' (default), or 'both'. If orientation is 'bottom', the time axis is drawn at the bottom. When 'top', the axis is drawn on top. When 'both', two axes are drawn, both on top and at the bottom. @@ -807,6 +813,29 @@ Graph2d.clear({options: true}); // clear options only + + click + Fired when clicked inside the Graph2d. + + + Passes a properties object as returned by the method Graph2d.getEventProperties(event). + + + + + contextmenu + Fired when right-clicked inside the Graph2d. Note that in order to prevent the context menu from showing up, default behavior of the event must be stopped: +
graph2d.on('contextmenu', function (props) {
+  alert('Right click!');
+  props.event.preventDefault();
+});
+
+ + + Passes a properties object as returned by the method Graph2d.getEventProperties(event). + + + destroy() none @@ -814,6 +843,15 @@ Graph2d.clear({options: true}); // clear options only + + doubleClick + Fired when double clicked inside the Graph2d. + + + Passes a properties object as returned by the method Graph2d.getEventProperties(event). + + + getCurrentTime() Date @@ -828,6 +866,24 @@ Graph2d.clear({options: true}); // clear options only + + getEventProperties(event) + Object + + Returns an Object with relevant properties from an event: +
    +
  • pageX (Number): absolute horizontal position of the click event.
  • +
  • pageY (Number): absolute vertical position of the click event.
  • +
  • x (Number): relative horizontal position of the click event.
  • +
  • y (Number): relative vertical position of the click event.
  • +
  • time (Date): Date of the clicked event.
  • +
  • value (Number[]): The data value of the click event. The array contains one value when there is one data axis visible, and two values when there are two visible data axes.
  • +
  • what (String | null): name of the clicked thing: background, axis, dat-axis, custom-time, or current-time, legend.
  • +
  • event (Object): the original click event.
  • +
+ + + getLegend(groupId, iconWidth, iconHeight) SVGelement, String, String diff --git a/docs/network.html b/docs/network.html index d1c2e9af..20e5b436 100644 --- a/docs/network.html +++ b/docs/network.html @@ -165,14 +165,14 @@ The constructor accepts three parameters: edges, which both contain an array with objects. Optionally, data may contain an options object. The parameter data is optional, data can also be set using - the method setData. Section Data Format + the method setData. Section Data Format describes the data object.
  • options is an optional Object containing a name-value map with options. Options can also be set using the method setOptions. - Section Configuration Options + Section Configuration Options describes the available options.
  • @@ -214,7 +214,7 @@ var data = { A property options, containing an object with global options. Options can be provided as third parameter in the network constructor - as well. Section Configuration Options + as well. Section Configuration Options describes the available options. @@ -280,13 +280,13 @@ When using a DataSet, the network is automatically updating to changes in the Da allowedToMoveX Boolean no - If allowedToMoveX is false, then the node will not move in the X direction from its position. + If allowedToMoveX is false, then the node will not move in the X direction from its position. This does not do anything in hierarchical views. allowedToMoveY Boolean no - If allowedToMoveY is false, then the node will not move in the Y direction from its position. + If allowedToMoveY is false, then the node will not move in the Y direction from its position. This does not do anything in hierarchical views. @@ -599,7 +599,14 @@ var options = { When a Network is configured to be clickToUse, it will react to mouse, touch, and keyboard events only when active. When active, a blue shadow border is displayed around the Network. The Network is set active by clicking on it, and is changed to inactive again by clicking outside the Network or by pressing the ESC key. - + + useDefaultGroups + boolean + true + If true, the default groups are used when groups are used. If you have defined your own groups those will be used. If you have an item with a group that is NOT in your own group list, + setting useDefaultGroups true will iterate over the default groups for unknown groups. If it is set to false, it will iterate over your own groups for unknown groups. + + physics Object @@ -647,7 +654,7 @@ var options = { - freezeForStabilization + freezeForStabilization Boolean false @@ -758,7 +765,7 @@ var options = { smoothCurves.type String "continuous" - This option only affects NONdynamic smooth curves. The supported types are: continuous, discrete, diagonalCross, straightCross, horizontal, vertical. The effects of these types + This option only affects NONdynamic smooth curves. The supported types are: continuous, discrete, diagonalCross, straightCross, horizontal, vertical, curvedCW, curvedCCW. The effects of these types are shown in examples 26 and 27 @@ -972,7 +979,7 @@ mySize = minSize + diff * scale; When using values, you can let the font scale with the size of the nodes if you enable the scaleFontWithValue option. This is the minimum value of the fontSize. - fontSizeMax + fontSizeMax Number 30 When using values, you can let the font scale with the size of the nodes if you enable the scaleFontWithValue option. This is the maximum value of the fontSize. @@ -1009,7 +1016,6 @@ mySize = minSize + diff * scale; 'white' The color of the label stroke. - shape string @@ -1018,7 +1024,7 @@ mySize = minSize + diff * scale; Choose from ellipse (default), circle, box, database, image, circularImage, label, dot, - star, triangle, triangleDown, and square. + star, triangle, triangleDown, square and icon.

    In case of image and circularImage, a property with name image must @@ -1095,6 +1101,30 @@ mySize = minSize + diff * scale; The maximum radius for a scaled node. Only applicable to shapes dot, star, triangle, triangleDown, and square. This only does something if you supply a value. + + iconFontFace + String + undefined + Font face for icons, for example FontAwesome or Ionicon.
    You have to link to the css defining the font by yourself (see Examples) + + + icon + String + undefined + Unicode of the icon f.e. \uf0c0 (user-icon in FontAwesome) + + + iconSize + Number + 50 + Size of the icon + + + color + String + black + Color of the icon + @@ -1460,7 +1490,7 @@ To unify the physics system, the damping, repulsion distance and edge length hav If no options for the physics system are supplied, the Barnes-Hut method will be used with the default parameters. If you want to customize the physics system easily, you can use the configurePhysics option.
    When using the hierarchical display option, hierarchicalRepulsion is automatically used as the physics solver. Similarly, if you use the hierarchicalRepulsion physics option, hierarchical display is automatically turned on with default settings. -

    Note: if the behaviour of your network is not the way you want it, use configurePhysics as described below or by example 25.

    +

    Note: if the behaviour of your network is not the way you want it, use configurePhysics as described below or by example 25.

     // These variables must be defined in an options object named physics.
    @@ -2625,6 +2655,13 @@ network.off('select', onSelect);
             none
             
         
    +    
    +        stabilizationIterationsDone
    +        Fired once when the network finished the initial stabilization run. This is fired REGARDLESS if the network has stabilized. It only means that the amount of configured stabilizationIterations have been completed.
    +        
    +        none
    +        
    +    
         
             stabilized
             Fired every time the network has been stabilized. This event can be used to trigger the .storePositions() function after stabilization. Fired with an object having the following properties:
    diff --git a/docs/timeline.html b/docs/timeline.html
    index 59eec23e..5034cb9e 100644
    --- a/docs/timeline.html
    +++ b/docs/timeline.html
    @@ -205,7 +205,7 @@ var items = [
       
       
         end
    -    Date
    +    Date | number | string | Moment
         no
         The end date of the item. The end date is optional, and can be left null.
           If end date is provided, the item is displayed as a range.
    @@ -232,7 +232,7 @@ var items = [
       
       
         start
    -    Date
    +    Date | number | string | Moment
         yes
         The start date of the item, for example new Date(2010,9,23).
       
    @@ -468,7 +468,7 @@ var options = {
     
     
         end
    -    Date | Number | String
    +    Date | Number | String | Moment
         none
         The initial end date for the axis of the timeline.
             If not provided, the latest date present in the items set is taken as
    @@ -584,7 +584,7 @@ var options = {
     
     
         max
    -    Date | Number | String
    +    Date | Number | String | Moment
         none
         Set a maximum Date for the visible range.
             It will not be possible to move beyond this maximum.
    @@ -600,7 +600,7 @@ var options = {
     
     
         min
    -    Date | Number | String
    +    Date | Number | String | Moment
         none
         Set a minimum Date for the visible range.
             It will not be possible to move beyond this minimum.
    @@ -664,24 +664,25 @@ var options = {
         
     
     
    -
     
     
         orientation
         String
         'bottom'
    -    Orientation of the timeline: 'top' or 'bottom' (default). If orientation is 'bottom', the time axis is drawn at the bottom, and if 'top', the axis is drawn on top.
    +    Orientation of the timeline: 'top', 'bottom' (default), or 'both'. If orientation is 'bottom', the time axis is drawn at the bottom. When 'top', the axis is drawn on top. When 'both', two axes are drawn, both on top and at the bottom.
     
     
     
    @@ -762,7 +763,7 @@ var options = {
     
     
         start
    -    Date | Number | String
    +    Date | Number | String | Moment
         none
         The initial start date for the axis of the timeline.
             If not provided, the earliest date present in the events is taken as start date.
    @@ -854,6 +855,15 @@ var options = {
         Description
       
     
    +  
    +    addCustomTime(time[, id])
    +    Number | String
    +    
    +      Only applicable when the option showCustomTime is true.
    + Add new vertical bar representing custom time that can be dragged by the user. Parameter time can be a Date, Number, or String. Parameter id can be Number or String. If id is provided, it will be used as ID for the new vertical bar, otherwise the ID will be auto generated.
    + Returns ID of the newly created bar. + + clear([what]) none @@ -903,9 +913,29 @@ timeline.clear({options: true}); // clear options only - getCustomTime() + getCustomTime([id]) Date - Retrieve the custom time. Only applicable when the option showCustomTime is true. + Retrieve the custom time. Only applicable when the option showCustomTime is true. If parameter id is provided, time of the custom time bar under that ID is returned. + + + + + getEventProperties(event) + Object + + Returns an Object with relevant properties from an event: +
      +
    • group (Number | null): the id of the clicked group.
    • +
    • item (Number | null): the id of the clicked item.
    • +
    • pageX (Number): absolute horizontal position of the click event.
    • +
    • pageY (Number): absolute vertical position of the click event.
    • +
    • x (Number): relative horizontal position of the click event.
    • +
    • y (Number): relative vertical position of the click event.
    • +
    • time (Date): Date of the clicked event.
    • +
    • snappedTime (Date): Date of the clicked event, snapped to a nice value.
    • +
    • what (String | null): name of the clicked thing: item, background, axis, group-label, custom-time, or current-time.
    • +
    • event (Object): the original click event.
    • +
    @@ -958,6 +988,14 @@ timeline.clear({options: true}); // clear options only + + removeCustomTime(id) + none + + Remove vertical bars previously added to the timeline via addCustomTime method. Parameter id is the ID of the custom vertical bar returned by addCustomTime method. + + + setCurrentTime(time) none @@ -967,9 +1005,9 @@ timeline.clear({options: true}); // clear options only - setCustomTime(time) + setCustomTime(time [, id]) none - Adjust the custom time bar. Only applicable when the option showCustomTime is true. time can be a Date object, numeric timestamp, or ISO date string. + Adjust the custom time bar. Only applicable when the option showCustomTime is true. Parameter time can be a Date object, numeric timestamp, or ISO date string. Parameter id represents ID of the custom time bar, provided by addCustomTime method and can be a Number or String. @@ -1075,16 +1113,49 @@ timeline.off('select', onSelect); Description Properties - - finishedRedraw - Fired after a redraw is complete. When moving the timeline around, this could be fired frequently. - - - none. - - - - + + + click + Fired when clicked inside the Timeline. + + + Passes a properties object as returned by the method Timeline.getEventProperties(event). + + + + + contextmenu + Fired when right-clicked inside the Timeline. Note that in order to prevent the context menu from showing up, default behavior of the event must be stopped: +
    timeline.on('contextmenu', function (props) {
    +  alert('Right click!');
    +  props.event.preventDefault();
    +});
    +
    + + + Passes a properties object as returned by the method Timeline.getEventProperties(event). + + + + + doubleClick + Fired when double clicked inside the Timeline. + + + Passes a properties object as returned by the method Timeline.getEventProperties(event). + + + + + finishedRedraw + Fired after a redraw is complete. When moving the timeline around, this could be fired frequently. + + + none. + + + + rangechange Fired repeatedly when the timeline window is being changed. @@ -1130,6 +1201,7 @@ timeline.off('select', onSelect);
      +
    • id (Number | String): Vertical bar ID.
    • time (Date): the current time.
    @@ -1142,6 +1214,7 @@ timeline.off('select', onSelect);
      +
    • id (Number | String): Vertical bar ID.
    • time (Date): the current time.
    @@ -1151,8 +1224,16 @@ timeline.off('select', onSelect);

    Editing Items

    - When the Timeline is configured to be editable (both options selectable and editable are true), the user can move items by dragging them, can create a new item by double tapping on an empty space, can update an item by double tapping it, and can delete a selected item by clicking the delete button on the top right. + When the Timeline is configured to be editable (both options selectable and editable are true), the user can:

    +
      +
    • Select an item by clicking it, and use ctrl+click to or shift+click to select multiple items
    • +
    • Move selected items by dragging them.
    • +
    • Create a new item by double tapping on an empty space.
    • +
    • Create a new range item by dragging on an empty space with the ctrl key down.
    • +
    • Update an item by double tapping it.
    • +
    • Delete a selected item by clicking the delete button on the top right.
    • +

    Option editable accepts a boolean or an object. When editable is a boolean, all manipulation actions will be either enabled or disabled. When editable is an object, one can enable individual manipulation actions:

    diff --git a/download/vis.zip b/download/vis.zip index d3e9d97011af3a78abf2401acba2a8ac0ed7579a..eec4119ea738b94530fb6d73d528b346c4d26e8c 100644 GIT binary patch delta 682449 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%0Di63HTB5@8&KQzr24Y2?IYPnbuf>KjGv> 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 Hzsa(5n3hRGVL zeLsrGB&|L@(}4qcuGsCbfBOCC;rGs?0qUc3Z%EUBaaT^OJ3qLHZ)`NydfnnYKWbl|W9{0COJkv21e)7~7IW>5x_=`9&rM(a63lA&O ze2C(IgOJi66dSZofPN<}t4=3zdd^Vqg422qd0>7QXg8^hD(4h2NGVujIp>2q_OStlIoE$ zFYv|^r0xRGGJb1}(I9_G6Fe4=r!73D=Jlw51E$7`%0Dhf)p;N@94<^m>w=4Pncw8D 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

    JJ(GVA*nZ@iL|D*nG0jQYa$TrlQr>6h~%7M z#Z~+mLW3(ImPk2(?yOSirvzz0fJj@?<-eJ2;~f`v47o5Q#2)8E8?~6b(ThUbFvkc# z?y`yH#O$1ZhF!9M!D6b@Er^T0hKPA zE=|6>l^F=Bt$M0^m^@=KmKXVb(jG_!0ae&=hYruKF~4qS)t%0{8^-c)7&--)*QCg& z4R<^%+r6%+_7qV>T|>UMTNz^sEVvlNnVQ((M_@aDe1?gjID)q}rZ}XyxTucM3;|;| zs+Ct);>ZpRf*6BZq%{PMM2ipW+4BS#qUK%9ica%$%w4Sme(umh$G9>$&`xK39cLT{ z`=;8*0YqY;Imdn3t=^7EFdNZ!NXg%0sfOoT1|>}RAwJC|Gd$*_QRG-&IdP%pLPSXL zd@PE828J4#tING7y!jYleS+CxF~di8iUJsA9^;FC&P--Sp@9Km)~qJ#b?VHzCTh!n zV!X_TQ_=o*j^Um`bLoc3aR$65{PnE2o>6B;0Y6g&rzY$pY~E)ltYonq$aw!ekBn>Z3K|6G49lxUWJxranf#+% zC@!V|lt(2}KUmPP;rWk0K6@ks!JZY&xk-?0B_p;!6H+H{b}r2HYGGM}N%4eDx`hU- zqR3mMwN;}j|FKZmubt@QuF|UK583TYT$9Y=i&j=sgbs>nix~#dxRLl7nvRj`7NQe> z&oXu*(yPc(v9@$ZZH?s&CGFIukgFwHuf^+uw{Tg~q#FjmUD?H!n;hN0BXCJk(=L#P z(_tu>X%tl1T3U;vHL8b<5iZ+}r6s| zF!Nj+6-W7EJYO>l7jjR7xXb$K)%Kx(w5FNEFJFaOn`M?yK=#sY(lLOBA;DRT5^!xZ z19j!Br12~{ubYH>9(VVTScpnKKEM{6xG0&wYbzfe8bEV-X z$tcp0*{DncnC5G0?-=Olr5WlQk{g`@dey-a)wxJrt)Lh|99XN`Cy;|e^r*Mdq{&x3c%oakDT0}QNxXdU;xXxP z?AcL-_=T=UdrVC=exNCgw4q>4At8da@8;0MGMlQ7B&~Y4rn{$hl#${9GEQ1+o2A-d zz|cBs-|V93He@)S9WNj;#CspkD|AB5$Ge#>Qd8ok+OTGU+BV^3R6UzK7>^})avXI8 zsJ?Db`a+N_`Zq<%CchAWyuzHwTs#%}-)K+_LrJJ|qYe;3DgS86Jl1uAfGi+Oap!M~1K&i@9qp;PVb7%1uiW&WL2^9qc+ zIi}8B_KF*bNNL?=5Ah^S*$FEOc}+wZ za7X8e1pKRTs}@ex+I62p`L6dKU+MynrYPnE`1|KO&LwAr?;xkqyyy4LRo4GlY(>Ml z5%E;sm3J0TuSEub)z@>)!jvxcn+Q`8Ljp&ZNb)#wHjGH|MB1^2Mcl17 z{q(Bt*1sfxgh1E5TRwm2-k+2}n6Nr2@|m^X(w7FPJH-osKDxltF=suOz<2MZZubmL z5-?c=t4=2$jfVxb8Qe54(Ax%k5p=>0r>HOeaAD61j#h>xf}UYgvX0k*(6plvPQ?*P z-uId5X}H&NY=ng7ErQgQK*iYqBgMiIFKYX(PJzY1C6T#PiRG0T&d;6SRQQc{&u?Ny zsxczOAm*Td0@}BLoFKpDY7a;%DOnKS;yk+p2XQbfwOxOXHvB2XvpXdwyQZKeZpvVo}HpBIG7b+ zO$H>g;lJl##Xl>S&fyg|v+cpxiVE@P8Qm%W!oyB~7P)s3gA4fiPFK1Ug-a+*7Ky`! z$>IJk-OkV*Hg))|1{^Ju>hW9M&W_5|LOWfX z`I{B$yjgq_8RjKuk}JUy~1Y~+HEF#FmYmIVW|Smt;fZYLioIz_Olr-Vo0Yn zuTB{rYdJX>h;Xfc z&!iVno}=vb-^Rqx*HkpmbcAA)jue;SCnb-nwOeQtWj2kPR^k@7G(=f)(Q*+vJLl$@@UuFofCB!} zs~7X?Ar4gvgB1nKg?;H4eFVi61@9%2#au&#b#rmS}Hx`epl zCAaG!Zv1bRH#!nVLf)`BLA%KtvDRYp29aJ$-f+@xih271{8ckB_685RHx*zD7FYR$cEoEXAkCs>}meV7SoUMut05y+F$@<2K8Xh`bdRuh2QdjpW6HzI7x{- z6jY~ZRc?GlI!iUU|8-pE585P>>)g2>OP0_;Qi+|*+d{lV24V}5I|wlczgqC%8h4Nf zqmk!zZ|7Cy1@=#gZ4;J{MxgT3kle$cybM=A@#+bJ=d0!ZQn(cweKSK*_|;pi`bJ(m z>RYp&j8mJ@8?WuHxSK?O%u`IfbrqzX0E9~+#MEp>hI`yWj|_8=A*B+XZVX;x_o-sb zXhRJ-cR?iiD-(_z3MEB9Nkk>9J2*>{&W{t8NjaIKAe~pxYrKv=T8vS;z(yj7`<@eE zW$#AS%WD2cZKKD<3}OJ6#}o8}rYCJ!U2ta<_mbF@KqXq`^VB7Os9Q#w$6aWlDW-=H zCqhb5y+oPrkp_Zk);b-Hf|w(M?X4FBAe{G>-mVxNAfPHO5~h3mMYK9ZHpB5km@)*V zzFdf1$eU7=k4bWc;L|(?}qLl>WBls0`a>?hLy-a zy8`_;)DBWBMpGhxufBjxtr*vC>r7iVRx3hHU%Zor_H#5*7m z`1my;5Kat@2wZ97iy^S<&X+`BW7wMn0=utegno_4ywqBM{?(AY`daReNjeX?+x8WZ zNoRu<(fO-Nmd(igwI#(hN6&0@Lc6BmHDh^JKR%t#mkDO`t4Y*yFcC{>KHMH1=%Hr3oVrcyJew0)XixHWi%#NEEF6X;l%Qs zhB=T65*mUU?@F^jLy>`hE}%1ktNp|EkUl>CcKAe9*zXFRC#)EhL@H2PTlY9*Cua>BL$mun-fZl0wQ_WS zkrpHW*UpT-&|P_Iyv5Jv4SW0Qba zPp=H@JFgbQ6K1R+wl?wqDq$a4RYVSmU&%tWENKlo&gLf@((gcOrpzf#4Z7zYqe0uNN z`j$^y41p$ivc)3J>XYU)brOI4j`s@Yp3f`wZK5l ziX>q_s4$0|(ZpHt__}ES5w>?jD*yyp{vAEv=wLfF+sx;)B7cbH!x?UsHOISDNHEC* zb@XP4ty&F-iECD{jzqxmUScze?#u!XKiVrw9t*S!$G%oNLtiW-230PT!@q( z#utshGM*we(sWO7>vGpeNbf6=`746?n{avOq#Q8V8|Lw%@mOq>&OD1}=Cx`dSG_Mj zsa1wXIkgQZQln1=u3R$7DWZZ6`7aW1;BgqC_%xrCQymnRO4w_MP7|!VmY!o8f3j?e z>!1m4m5)4(Q+YdtrqZ5+X+t9kcN^p#rhc-~bZs$bgj-{r?*@MMuU~lqX&ZVr{^DpS z-%$XY`y43Se|&M_oj>HvNM@G0kfp1ZkpGdPhKcoS@77{PNi27b;CUDfUw5BjT-X^~ z4Q0|@KsQ9F0H*`Xu`=KP0N|A)f9--m5LWoO9T=oh&3H?pyBy*Cc~NXzm1dD(Vk_L! zUDZ$~)7|du6>F$~D_(N8t)+*ZZG`tbnd;y+n`?eT0@&3fxE=|qTw&(_wnJMi~Tw!TJ5{J<@BJy3HriR<)_cQqKu z@d#noAUelZ&hK_MN1{?}^d2kq z<+rBP)BN-lHIGqfe_wmCmP8cExe`SV6@XFsNniWG5*nVAX)h$Bl&OvV>l?NH6W z&(kSFRkze}2kvgHx0qt>>`xF z<<-VF7?t(3stf;iC|yY$O(PfZFQh{7$7k8RI8`XjXC=ff1IEgUpIj7KqgmYFTq@xqY=hgA?xOl88y-2u~ z@lI+A+;SdR<)+>N_9D!-{A9~v?ojo_;EaDuH7UUsg~TII6J&elYk#;ygL=Lk7r3^^ z`EqX!?bp^cW_9b$r9|_7!AUhKOgY*hfXfkscvGnwJ>5os-9z_!`c5U$d8f5h-WZn~6)FHMAU_s*<3I`S>(+~OL`D@Yr#6x0ks`qMqL zle5;7p4ac9kKc=9tdWDiFVI-Cgi~eWE<09se{jHz<)M%wJcC3Zya4W$)2CViD%%s$ zSUSopRsyu=J88kon~2$B3x7s+_0(P?lliJri_=2pd+Z=HiOR)XXU0&|Spp(OADT^R zLm4e<=o}Pl5OX_lO|-6x2xh=P)CTzw1bQZdMzIRY)2hNMae%1$!1qGrO37SmEbrFy ze-XC6Kg}m-LNKa^82Elbi~TVjJ$mcv9J20GX)`Fb4dr!>0>oanKA~I>o3f4);8czE zd!73CJU=YP*Vst`uf3;OcztEKrJ}>x(>E`kE4ai+OtJO%tDuq$K2y^kZ+)W$uXUk> zGT@TW6lExT{kV#+e`n?`s7~a`PEGAI4{)!OLOpobMxj331cgGe z4iqY|*@;5E)|)6)v9iuYZ=hWXScH793erK59j*1xiAC@rADtcJ9m3YS_D}^oP4h+( z8_wPCRJj7kl@@pkE(~b(EvOr`PRksspwf7~EAUIK^%X#_y4+U*9b56b-1_?!f05h1 z1R`D7Xe5YBt<}5hLB^rgfx2UhTR=ybt_j%TFWrXqy}kMh{_^@)@R!%Pf>+srCihU>22PJXegugkBle_eic zP3w}>qSr&^5>}@*Nfla2oQhrJe{u`}Ue{s_0mqi2D%HLU9b~o>cF^(-tiZ3XV+G1_ zg$jtRExfNHQXrZJ|Dlvf#Tsz_NjP(#X>tE(V&?dwpUxUg0c9?SWuJOVa@zcyu01mN{( zdt!i7qGOw`$3tp2N$f?VK2lOlcX&}yD{zq)lJBLj4t)a+uK{`GHL6Z|y8HA{8bY3E z;~%Q*6#iv8!}~eKIgawhe|Wx&*9O`*ooeDLN561hn-3+?haD)BIOt$FV;CTj1`a0?cZVj(|AJ}j^ zlwM4S`S9Z^oTCj&CmsjI*W2K&%+xx8T8*7`0~upvIK=lIan{aqf4n9)8m9aTmnk=K zm6DQI>fx+JpNy+daR96n5rP>-<1`Df*F=kPh}S`q3CM{Xl}EO8GmVCr?Q-ghbtO%) zowi)NSds|7;=RhH&zK&DgnfW>ycGLNHwnQG*_<)ly=YxDbyjdPcQ$e{0(@OzCiWbx z`Z!k+1j)i^K~QOef1OlMO!Cw<+OgKyV8`rD-fjLU`Qf;JASv4L@b~R4X2x(N{jUigLN8AfMiAsx7C$^H~zm z8cH=n=Qv!m{CIz!&*nk@%$tr-9#2M580vWk2oxwO06>qWNalw1lh48_zJ%9T*f>0G zFKe*Xv8=)h!lma&<)o}n%m6guk+C$!zCEeVa5ZT0O#p3hnT^Za#*$$bVcWY2xdCZA zYCqn(9gEnDJqXDnBfPNjGXRZRCHf8M3=m>o=?%_)0W4PxN3T9`of zT6t_^6+>*#;R%GXA-7hsh`CvH2F=GGsmFBz^6IQw98-Lw>8u(Sb=}QbHJItFB?_o7 zH%ggz07u>+e?)t=c@?h|_uPz&uR_)p#o4l{C0s8RY7W)wU$Dpe1`e)~$hMK9@hmAR zg*?gofB#D;(qj#h9sPV zA?%tRcRAO1)H15>7%~tq%r`HIho*=y+@+fXM5BO%Wa*fv%*m4xw1kTSsUJz-nd{7ug*iGc zf3tBpp^JxcRej9zxu_{yb>n%dK0r`J6o!5&N4xUnMgJH4&&5|TBwIrPOSdGe+2^?T z;e4Ja3M_SjWfB<{2e9P*xuIZr>%6EGC6kjEj~qD`jC{>4u+|5Tg>lY-ZOyA)(Wi2B zL0r9`wIIg@D#g=Cmt8e)4cJ`-BAf3+Z`B zWJ&91@8I;EyPUwzdploFi`@+HI4>uQYEiHGC1$`6CyEvAX4`|W#mkF^p4#oIZA^*@ z?g`Ry=%w4KIDI0vQyMrR81U|SHYJ%#SeKJf8wu>R=t5o*+~HD$3&n0iXbQ@bf1z}d zK=lX8yMc2IS@<|Utv-QObw~@uN%mt{Z8J^%mBVJv%KRrgEl}7H8#1jG3tcl0ZHiwJ#N z5P$@8m;G;{_A7+Byh@ zEJ5Id5d>)?ghSYTkh-VEuskZ&_5mX{0<$CXvh8Q=%D2(|P3r*CajS?C)Fsq2xgQB0 zPyd_h2j@Mt#xM0NgCBs$zAld-yN}wimFNNic?UDKM5@yte|+|+x6wb}e|1|OjEkdr zf9XG+SJVC&ZaH?>lq|H?$E35x=uP!Pt;3&pQ3P<~CU$BBSFXqE7fEUVcR0M%kPEPx3q z=4m&gXQO}*HS-#eH{cP*ft@)AnP;O8OPL4WZ8>w{Yg^I`?~=ra=ywgqUkx>sF+lzig% zy9m)}u+s|6ezPUWIK1Ii81ZM;MwM2N&1ql;kg76684}NEnDMO|15?W<5EY)Z)}ul8 z3NyLmJIZG{D%ARge=xY(5PEo0)y0I0bYJMLl6#b-JIe0<(M=xxd#+S&8G_as8tjvZ zP58p^_SNyMT1@$sR>|QrTcke8L9gZ%!DqGzqHNb8c%aW?)VJ+AH3_@+tyIw+Rx>pz z(en64mNhw?cD+U4+_0&Z=t5H`L|rT+xqw|z9a(CMK_=K^e;N?;1Z#!Tz!II4Mk_Gv+HT;sfj%oZPuN6-zoQt)x=5Xvm@Ck>hu_mYZRLqvD zl0sKGaj)e%aU3^9O^WZ_x`N6;)MsVSvx&%E?bB*4I8tl6SHF@@Mdnv>62CUDC54cV z@`dD*xC(aNf6kj!xK8h!n}Nn|q(z?8@>P{qS-rfX>~>80O1BCpjk*`svnxMZ4`0XX z#gt!8fd-i=B{jKnljNTf*{KUl;N`V4Q;75MCOOU#h!~R&#e_0hfO&`RBASmR#&1Bx zyOh$F(EX73gVx(7bQn(hudjcl^k1D)cDc!$UfPuAf0s_$WYc?JE@e}yemr4QP`W)` zQ&1(7$(p{fB-kxc`G(D+U=XyJW)K#stQNIQ6R%FCr%7yq!;RjWoTu;B&t_moK3jj^ zT3|5EA=5J~D$nSxLya&VTB?$_&HD!z7%S&x5u;~YqMB24!l`9Rr;u5GHbJ9vtO8eW zrnx(oj%eRMTxK;oJmHyVmQU)jy<33FOGT%j&^E!{bU1ON5?X)>Lb7<( zw{bcAILMw+t6D|hGzdyQTuep^dDLVz(Z)-;;`l?nZXGDVs=!a>NG*VBmMrkJ0HGRF zZyk;ELoR+@3ryj^;Q{xXmqxfBf`KH6<$mnTzXG(H|Hn<#bZiH!j&( zIUeI-u$s*b0-*#L3PPbmEPg}X>c2dz;iiiYks2f1`A+g0tQZTM9bTe&yR^vVa3VL! zp1WSGgBqR`?Yr_5uIly0biKbms?H|r58S_~KQq9z`uoqSI(;_bFRvE*(PK=oR_pu6 ze*o?SPE-WY4`8|c2u0z_t)IwfobxLMvECXwEOM$wnj3UhCnwV<6myMP{h#mCdVVundX+~`&3K` zVs2caW$FdM{U3#cxOajv|ESgKEI^c@=ie{0MGZ1Hx}!~oGh*X?^<4?TiVD=uf571u z^X#ZR2j%2~>{Q71R&3F@&wVTkwSA2jFgmrhQ7a{h*#?!Q+pH%4uUM*uQP(s%dPi5g zu%gycsn9oG!a`8}o#u`i%8Not3QAa;VaG;6e~q33 z-JQl&HSM`R2&^wnHGRYZnX|+_S;O$tHp%y%9U+v!Fdu(5W*0c?ybU}5tQh6WHUx}X82xJERb zcPEDP-y0TCuIhpY6o*#8!|$COfR`!`(HH!&28rafn4eVY;KGS7HAm~Re~mqBSuRwj zE2%)~-vyGYMJs`@V7%J!TPWoBFn-vKGw29zkm@A2n3%g1YzN+%(`6UY05Q4}nzn^} z1Db>td(S#I-V5JmqjJX1G&G*4&UhA6eB5P=5R%FYyTrAQ=I4gdjP>CgIb7@dJ?}c2 z^DB(TQ7C?MHHD%~vR%xdf2$V9%~`c4Xg6WIPRR@{$+py`zG{ zVBXl@Dx|1GUwJ$!M%dYC3WSWWdZ|FRxpU8dby60yd^S8;K2~xngmj?0B$-Y&ZM$x0 z33V=|$Zc#?Cra!c=S#)%gd(d1b&75n^f=jBzGRAWT+wuuY*ftie{xK>^`OungBdOB za9EgaWfsMJF?}i;eNNqKy0Evr^dzV_VE+_-Z)TN}FlCcbIV_CM_r6s5Dt>!humJ<8 zlvtNE24kFho}DZXYxc5JXwX8sC#>zE7> zP^Key_EFJ3iI?Caf4C%?m%}9%MAl_Fhy_9TxCK=1-_i1c<1N^wXvs;^h^CLaQnJ^WxR^R_lhSxR?$a#~G4jO(t=eD}IIEEs ztYBn51}w$Lp1Zdb?tR^wI&$i8g^@P<%psULXGMv&I!Y!{f9y^VjYp-3j=!OTTQM4t zNw^Fyi}9G1>}$SpQdIe|ebGldb8qSM-M8Av^pf|kqi?lW2yYHoy_{3ij2w*k#!@wK z3PT25I(Q^;d*BZDfYjCxbr*Y9Nr#XLYZ{$uOlHEh@&;(D9%SF=HQf|2-8y)PQ;9qF zZmgAe3W{9+h-E&g0S&=B%b?IHXY}~LV#u`6TXq44O#WQ0&UIVxP;sN zTF{P9AP5dGp}$}1O>)_j9rM~JB@k_5+CSX`+S#BTe>-a=2JA|m8d`R!Nzh>-it=S= zUBwi}i}-~+O)gw)f6l5yC0Yndw~|YI8rtNHC?=(p;UHB8o?ye=NhL%75S{@j9+?zN zLtz0|*ft{wb2Ooj5MsR!7qhxlub1`$PgN;r+2JgoC@Q7H*$pfv|x6>5PrB1UL#JyTN7Y*HJ3-NtV{1|2)kMfO4iIb5}vUAIp>Fib) ze~N#MvUz#RM>q&WctW5Q%6^76$RuUNGYD_bRoBN#1~-PNN;(vb{hE~%9Zq5{vvH3| z?qYP`{g%wvaFz}tDUii}0kQr@n~!6=YPs|?;)}cdka?gwG{t(Ae}XwFn*=PpF!b7Xf}Wh%je#Bw$nQ85$9zYR9n7?cZE@r@?OeG|;5E+b(D_B}g<#*T^{VqDcQ5oGJ2 zO~LVUp;84;y9WMsmFY>Nf5fI60r!^8E6z9=9Oko0Q9qS;jU8&q*?3({7vma)FblyR zzi4%X@v3&WdjhEm_p7lw(*~KEZA&szpMMSN*+C~N>B)1(BclMTdPn84ny`IQ&B^mZ zCAyrb2s)MbPgkn`i+p}E$PepYyo5jl7jO@iub<;tH2Tgta3(r%f7@QmUwm=-rk=lE zi?E1Q=d5|wAgrQ7*qYXOtc481JNn*mN34HHq$^Pk72JwAI&yY?k@gCOwuC^2q_yU8 z0T<6s-dzkehdv`eOC5YZSD1<9=J|nn3w`YJw-UV+VAMPT10)z^*wynQwRZT zH&voX{z(wej4xm|Hg1s*1KHpy>cY^6qYNlTnsxy27pM&Me+)H#J4G5YER8{}1N_sU zELK^xxE~`EZvuk*if9@CfbF#uyB3gmb2X4HH}CG~mRB2{eyObRvp}oVQEc z!SzT`E~k0F~T#tiOn4psDhO|_SbMwSKkv| zp0bS!1R>qo>1RG^XOgym1@a|HXQatjs2S44Ytdid2+E2X#bt}}NQN%J2f(u-jYd9G zP!z0Le|27-0#S8TQR&XXbUvZJdC@uyV;h|-j<)P89)CP8=v=4v0nkgU7f0&FusS`2 z3*?73;1E#V;iK<-l0Et`&rq~{w_2&lS%}J5)MU3a-KN`DXJ5N`K{G2TLhI9 zoPrKA24sE!s0Vge#hGay z$nuV!A5_HxkXuf7>a0M2Thc+46eI-hu@Bj=Vw~5YT$s;_Li_UMvsu2>_5Y65S%*>H z+0ov}P>+p(&hn)&S{YRfP@SS)RZ+%L%LFB%9;O)C^<~$J|xN(@h2;Qpt>#=Ka#VU%I!+OarKqtp72a_Y~0E0QnA7SKpSt6)tEO zz^o%MDUl4A7(TLGbr*Zq5NIvtls zCB=x@5aU4Rp?by)WXtdLy*S#w%kF|}uv<26?aJlJ7ND_)&uu|`9BfORw^+Idf7Nrg zExXzVDF4y>ut`{0Ccvrqle~V5z@7*xtGAPp)H* zdW6dbR=W#MwtR$&p=DzkVk-*Tf2P{*&m(V^_-5(9xeImf#OmCII(Mi}+X>VWwEp}X z2wHyxIV%vbeqXZGwaP#7yU2gbIKPUFBLxMbmudo3j-lfm-`(Wc*Bv}J+Bd>b{0l*M+4!2aKBriE z_iNh!ns&f&5A=u8RS9dh3fjC1T!rSUpq_&0QESFF1ZlGZKTO9~X2nfOdb{sq11(z= zXquiQuOa;@{i}V&i`>VmuC6zo%rQ0+saY6vyOXhePuK~Qe1meo;r^qrR>~8}X?;!FQB5Ej6ua4dVQ|;7= z2^qkak8)rmNGxBcy3Kn&mb{%F9dG|!tYLU83pB!`f=gMje_?>_KATpkBcw5ZH5;Kz zt~>Yq7w2X>UW$v!%WQ&ed!X3;NZCFtqd``2c zo4V(`T8dZ8d)^exAkL85V<*Mzc$ppMV_41x&+}@YkL8|kABye%#;~rNzq6-D>AqRo zH)dcOKF3N@e*zQsUxV6;^)6OvX(}xfm2P(IdRo=$l|%8T)_pCf7ld<1J@sGLq@D^q zsHK#@qPFUImVYYeDAz(L7Z3=I#;Rb|e)d%DY8+HiwTyx!c!5BSzYOEUsHZPC4=c5u zc%eD2sLpDNj}@A%J7Y21rRYZ|P4Gtzq3ejar312Op-Rd;2Yd2V# zjX?q%66QdhsRJocUa8iZ5;<}R5n0apUTLZzFu@zl*$XPM9h&GWNM;Wq;-e0+;vj4Q z%?;4@e_>Wk1}}d?>_;-CtPbk&wSn5dzFzGIy=qr9xGZR{7M?ny@GQ7(iST-75G_W{ z8;H(A@y$Z4)(_&0lZKG8!-G}=$V7+hJ3=MH-|oNVbll^v zqs4R#_l!VSw8p=kkL(XWu6E-jed4qW#vRo zsAdW1Rq`n>$KVd-%xVJ%QScZs^$ z=>iP&!7Ue+n;?AAu0@;GSza?|SDV0DwHS{m_BD9rc#6$);EzZ>uQezE1N8EF0$$F0$eC`{ot8hi&}AlxyJ`@Ja9u`zoRZORI(A zL6+_019oN$xI=Q}ybLeM#Q}nZKFl#hMM2;MRnb_9U_gTy{slz*+Qb<&hmwdGX6yi* zCw#zY6T^Zdm6XB4)0G!9!Mzk}e?7;sh2_tx%u7tdGI;Ue=YzjJc>d#KZFHetzioP* zpR3xN4X@uuUWb7XW-@D-HKbVOPzS}%Q)fCWzCp2NvX~(~ee?^9G@S*Z);Wbq_!-z3 zBlrBC7m(^)RRq*w8AM@NW=U|~G8~wNWmpE`yk$6E8R>PbaDAG8ECjOEe<9=_i+pCa zcM!+pQF(Nf372o|+$N7_(|P`up1-9G2_scev3y`B`abAqTsUuytZ(2G(r`?hdu-XK zU*4l}+zFmvKr81gPcHX$Y+c;7oX;i z{KBYVy*m9UGB+%YlYD&if7-&K?rFe6*@&l%pG}D#jg#o8&#&J)uiw(^w<6Mr;fmqm z*RdTg5#6@3`kF2A|s zym9Nl)%D*7_1|*+w@!V#qlnb)>iMq0y2#hghnQWo@{GJ^IYx~Ne^Vy!f^(mPf^*F3 z2*KjaL%fJ`o;ZT*ZuXVCf{6&&F$T6J+UO&C5;4;&XwPC==@^UcqBZNJGZU_>&nBoi z42R-Ms{UONGPC1xb(oJWa(u$|$vbL*Ldo5AYKEFZ;IXgYz<8WvDzlu85=;U!qe!?$ zMGWrZ0BDfi_(CZ*nM zZSVG;)8Ez}wkd2Hdbqqy50_nfcuMmm@T}+J5R%c=!M0+)V1G_16D)q8<)d;@Z_tl3 z;5HkPE^1B$_6_kD-^r%IKwS1@Hx4bDz|qE)D|H%O4#8#;f0pRb9>@bmmt8~np#E4+ z0fRr{!f9Jxg6TA>H~TJFd9~xdfs-p{d-(j>>q;uTsA6BV$Q_gYR~&tB>fy#;e1s58(M)y+b9de7q+If4Z~F(m$x!UEQjwB@^9&{oeen zV%f1c&moVLbcjeYl#hrp1J#V-elr^sJ-3pTevdNwnHU9J`aco#=Zb5+9vnyVJVbFJYn~tdjS&T>*X$XoP zO8kwze~##erHH)}1zj}I(pO^9sA)PhjNm#N7R|NWjI)kTi|a(!UqQ4b>2gvl-Wl6{h4|85^l|5+``w|^&TnSUose5J7BBK-a*6hx+8gP$ z=<3@QZH>xLkh6HjGi4NZ4vN1L9GM ze-}G&XQ(d-Yd2hRun4b$+BMB0mS01dSjU}>!uUsz;#%6?w*AGHd*Jb1G}MI9Co-D z!FuXCu0(&+V^nW`vvKYJKISWlvs4{Jf4ix1{XXXF+Qy}wml}l}p+tAI=BPB6I&)WJ zPWp1Z(AYIRV%IQ=UBfNl*;@mIblC}B(KoZ9729`HhC8OH)p3U^?ude$)!PnC9mCB7 z$@*@J?Tvcw=1m5^SCGW>aB+ML2af4tHm&MngeI1wS$lIXAU8Df@v2tMY>*}Cy`5GWS{`vU;-0HPPZpX8%g*I8_522EJ+;*Ys4xK_?jW^&H zc_yN-yd)2iDJA5q;x`n54_Ow8AsQc~v}^n_Tl}Oh~j}`4Wq$E%g!U$wmK4++3Pe`EE0R(&k?=gTpWFQVq2d3mUq)8q$rD%HnPcnC-I zHWy=QVuEsn`){=eKRr3SL;z5@QyvA%h4O^kqbQ9qY$yz*rPV!9edO` zYg@O8LdCiYF8rX{u$&FYg&|w#XxGnTkJX9b%i98^UJGs~GE48oR)RPyf8TCj&5^~h zPc8svcE$NziP`_45&oYbhx5aH0-7wvm_`}3l&!BRi9=OU|E{fbzGdjP3v}?YSo$6% zI#JQP_xEUr^s3B?8uAgSTJ8%dN{tVAl+hv{v=YpQzugXyxN|im1|9K$Feb~R-YqW5 zkbbDfOE~Ruf&asAN5xcae@=ME;vfqVWJ*odDuKq{y{E@;Z>-;dY?AG{iJaBfd@-I& z5axVop~O3=mAL;0X7&H@oKaDlYlBeyi(lVwd~u;D;okorP)h>@6aWAK2mqXUWk$g; z0P%Le0su(n2mlNK8~|i#b966uX>%@ZVQ^Jc2>=6UWcXBQWcXBde|QT30R-p+000E& z0{{T*{dsfh%Cawtei#4iaWBRgW6p{9A|xSX8DoqAWBbMl2L?>vSoGX@-~CnQFRN4n z>@ntCYwff5K5NbxMk-a`WS?38@7cN=Ee5mc+5gD=I{O@qyJ!F7Y&}@~-;>t-?AO_1 zwu;)_#o7P(f6o5ze^h6%Sf=RPaB=p(ew|HQ6MTtgv!%-W*=jFm(M~;exAR%FT&SnX ztg}*8{yOV)KL=BKXiYlm@3KFLKhx9u`=El_e)1`;D`btIUQT?Odua*N!Dpbn)skLm?x=VR_e;#x<>an`&uBc~0)SCA* zR8`MBd1{PNOFa|^<7GEe50A6Kba~m)Pn@eZ9(4F)ZP}eatR^4)QXfpZV+@+B=0eLj zQFWo)u==ISs>i3+v`1gnXxk&HMLxA>llg4go$|~MmfZ>chU!=SxGHxqnyscCoiN+V z6Zcb|xpsN>e{^;9yow_AM2+#=VmX`03-!&}@^bMo0@cc#U+^2ZtW&6d%<_G=*PYU^ z@70jGw2Vk9eCRGWvxtT{HBWx0*VWbY04J>;FZaW&)8*mJxs}drId4S^p6XtA-XA>b zH{FmQMYD)^(FCLHwc~ec0xIgQqSr}nG=?P|hALKhQ|rTQnW%W6 zN^C2iG~h2abGjF*eg*re%B5n`gkv7CjqikVK8 z?tCm}ll%9h_}=;d|Ye%ID{T506z{o#%YX ze<{!_DE~`K}Q|kl_S97Zh+1&jBFR|J=wdWuPeT#L^v+7^; z2aGy9v-V1IU~5W=hZ>!$`CP4mRik1A;u_V9U8CYJ6!LPr3gvYVYomsu)`kgb^-LgT z#~={&?zr{Q9jl{2Gb33{cI@M&vs3`!Lt%36*aD!P%Tav>oA1mMe@&*49crt2=8Y&@{@mi2P#oRXMD#;=@LNVfJ=Q2qD6d0h!&9-MQqJB-43^@nLVtQDlQdi zH1@uj@ezKbaYOe7u}H8j5~aC{{m`Y+*3v4ZPN)=1nRy(pK1;VUc1S`B2eD!EKAUPfQ_bcW?9Ea( zfI4DcN3p7qWUfVONd1ye(0FRlP$-2#!QBXQ^gm7dV421 z!)(R-0$d*FeE%FP79jk5=ys97?|g8U{TcUfrcR*3hGUa>#tb2^$5aERE%4itr9HgJ zb<>_2ef(nMgxXF$Z!PW)Ut$4&|3m@9sU*QiKU zZTZpUPQ2|CZ`l6&ZOoDj{Z^~L-uq{SGwNqdb#EROWSfJKl9V7~dDKX8o(_L{BD^mj zYyB2jJmhTc+}RQ|4<*zUZ?GH?Dxpn0P`s8d+nNq0Og@A(@HH=sNmJAbNxx_^wV0~A z>&hlEf7nNXuowKi;^z%NdLOGtv%9usp8u@~oVH~aeC&|Alhhqj_ekAK>K>_lc<}{~ zoVrygt10+uXFW69A+jKTmPzF2!fa_hx*Fc815%zTDuM^a+%!FbVXMzp?S6M*<$5)_ z=*gc9mP>(}iog&7&YpT`w${!(?adQm@Mv;Be`{+}?p***rm&n{lB{KJgn`SbHC>Dk zGxBoOXZ4dGtIRLSO=`093 zG!#JRFu~v`OH_%&#^he85W#??gpdkue+rr^oO+rIp={>l6Qwu3SJ1?Z1wD!u0CwFB zmVI?rVh$I$51Shg83C1%0So|lm0{~nYE{Zms^SgVdxi%Ty3Wx7)DSTebzrTe>z|| z@+1`f96)2PAH8U{pkn>jg1H(JKN&hw^Eva`Vj!oTgc_gVgQqi3pTSRsd7GMPm@9fj zWYtrJjBo4Zdn!1c5b#teYl=<7u(W_zRh+=AW^>;OXsP#_yi3_lzssmoeQwGl71W51 zOX-){bkyBRV+5D6YZVzujFOjxe;v2F=LQYxh8J23GY2_jW#B1X;73=hL673fBgY8H ziVC9&6$9Y;7*FS%fo5M(NP8k)SQjAp`b^^p3)a$+Z9#OfNCL>-iOPG2#Z^CBnxS~d zQ8cI349!`QI3MG0A6B_YfTMWsiR5r}4a8bT;BurDqs@|cPl$MV6?83cf7C%i+E&Uv zG+b7SYga)D!0wWuDA!s1X0%4_rN()N=wxD3#OKTb&4w36D1EcEr0ePRa{A@hd#oFW9qASIEYI0~g z?z>nLhB-7O$obA7OF9FefA5S3y{SCAt%cSUQr#l*TMrfk@G+Vd5edVi+VmEYs5oT} z=ZW{zf_)bL83`A`e4qmh>QkF~AgZV)feF2FX<W&kbcAzrE@=183>ipBhnT5^S|s(E_Rj z-~o{Y=zf&(Dj%W9Rb79P-`50yePI2(hOu~COj~ok{`9OjqZaS8+=z%RmN!pW@AVkJ;;e3pTNeLZ+-8pO%fw0!%&?GdBrb9wf|qJ_Bv*?8c1J_Dy+Lnc!+eiG>5fjxKw^xc?>jH^aBBD$5$B2jC z6BC5lAx%vTdpLD%h16hiuWeWe-tw~oA3a5=-o=VHKZ|e|Zw)(ChsSlva#!DD?qge-P(o zEN+$U9pNv*Xi{NkCJz?-!piFUOm+`LBF~5e0I+C)F9H?oGu@?kL%GT!6r`-Ct36m~ z&fK79)e~crLo6Olar72=wDI0})=OXDSN*+z;1{Z$PR|_jAN6)AzgeF0N2}SMX`rXg zUp`60f2$>eXNDh%1%@p}0zP#`r7%nEMMd41?XL(P^ZXvG@n&G}XOl;<*611$$;W`F zM?u0)cS@!YvKzJ7WEtD>EMovoK(fE7#k=*qoCV|AM{8_zdj^1cX0mLfM?4%0xjr zYp?VwS;;i=c&yZ&CrbtZT1@Q^5&WxN!>B%f^^H{-OYarhGrC=#$V3Vov2aTZvE*Qj zl`~DiB!AR+Q&xa4u~hUn?{;M2HhpHqNFQfFC2P!Tal%Dz$S)RcSf8oAF%@li{PNDK60^Zu zpIto_^GKly{n9c0=*}x@f)8dbwu~f9H&Dc!nYQjcoSGgAbTEr$ab6q43vC8VMU{1A z;(zpOS*A(97c9%M7-mbqMAPqfmm2^#Mc9*4mU>m3MW#RfM0UOY);n2=3=%1=c6&8p zgwwe_EKQPwA3m!=%Cwy5sc5@tD$NcN1Kf_?A(>xIBQg=bY3=CXn_+bZk%2fea`oaH zlMe-929wpq7_$l(Fjxs-TW^XMvBGcNXn&@0oJKoXT%dAjjP&Nio2I2(o!T7y)uc6? zMbzv9y@+4bfXj(qse~d4(_~kQAi?Un-Y-l_RX)qDo`U16PS>tE?4WP*33ky`BiZt) zDJcpxqmf7p(?Q#uA$rCj80^(&WvbYWPfrkkazVD^$U9o$i(=e18gK zpfb${H3R#Y*(#E0S;=ARs-=N8eJ~ym;#X!*h~+gFF>C>A_6>m#(XsAlvx)U6nj(4< zOWGClp@Pk5d$M#$ajj9SSBnLU^cp|;nrFJ5jpd1X%4RHTtV_-6@o_Na$2D15Mz^|5Qfi1@utvVXg=k&~SPW$Vt-voF@A15J3eraO?QyaQE_dl0R5 z0H53D8yj`WYIirNrx(+i3=hn?(u=A&LN*R4ShZ97i+*@L11D_*SHrohXEgTN8g+vh zL7TadCyi+2wXQ8+X$kfESuzRv+CL3klF7~|S`zNqf2@V~tgq)2iTrE zFzn!Hm?L9OksK@aqwv58SeapvDNbNUx1crr`u$VGAC+e{9t%S1CEf^bY0T8s1OhR{ za+(3x%z;+KpgzR>C2_2Kr+-pv$lvK|^ zuJm+^>EjG~N*P+38Rswd8fa0a2A1Ysz#XyCmZ>wD0P{}nh;4dJG?gF@nrh+VH{D5j zmF|ycGPZGx&*4%rsT)P#wiXyagr$5O7sLk3GgyOL?TUbWXKV?jAAgDY)n>$fFzF;= z;(o^DtfDSO*8h@tV~G@5=n*BQs$6zmE$>qxtV{DArvO}`f6LlM#xHtp*n&@OL=)axF0MoiuT@8u zyV!E>L#>Ow13qR(xqmR3s|q^09AOcH0n9nZAVEV1qr+n$t%(-}L}E#kNb!aBj9GBT z-@;iawn|H>%wj2+E??~=!ydn_LAx1yMXkWF9<Xf z`6V$4B5%>m*g%Xw55zH6f-0<*$znFgB(7R46Ej3jBxco4U>&5;77(A3Hd7pcCf(LT zk#=4r-Qq)3=zUVnV;(@8h zw8^SoE)&P{OoVeu9gBj$Q9jV?DNsxO~lD;oO%RDDL7sHkVO&B00 zo(0Db2Iz+($t`9FR&Z9rI}b1XjOj|!dK*to^{h>_0bhkI5X~=gb*CNus5tY3KHKwq zKYyEz;4(p!vMX|s6=8k-a?qdVVA+4NoNz>JuJ&xqD!!9K-csq?d14+NDYUNY^o|s= z=@`=+dpm##7ur~{tLz6cn;L6=k~xSX_em?aIZdpn)G%WNMQ_?IQH;e=;k#AiyHyi+ z<+wzQTy!}*DuImH2EmxI zY2r}~Edi*7+0a8-v=q-QKIBB<+W3%&0G0!^rk!z@v>@Y_Hc1if>sV{NS|2l_dN}?; zBk8B4P_}UtJ4mTajry3*gNCY}f&q1(ZKGQeS7|#e%KA9tabO|f_asFQB!3gL;AX3P z#^{+PdC3l&N}$qXmC|E3VkRV%e8rn83#4mSF_0nMNwdLO;8L6 zsahhyMhOa3cROk$yjtew&+rmzZSi0ogw!`_fM#!QW?Y28g^j3M2gj z+fRgHAW=gs?vM4HIhS9zyQ6K^s0Oy<(^9>b84Mh-6`@L3`FMt3c={Pq#nJzK#= znsu})E9;)yX?kdfX|c&}TvpQ9d`2WV^oY`Iax2fR2+9M%Wy><1A|@DzIpYK2lGkN7 zDr^6;_krqMjaBvoj8Fy(cdiwZLJB8R@1_4r66-{ z-sNSI&+5de1GQxRvCOdPgTQxqqS`Qzgr@Q%L2A?%oQl^i4jYs5B=ffXyJZ@{0xv++ zkO>yFV)EQVIENM^>;Z+mIfJpX@qAIwf{5s`*lL?c_{4CAgnv6soMKl}AU?lO^9d~) zEAfit6QD?KW7;dNp^xT`duhGJG`9kmJOh@~O)ZvycRPTHn>c+SRHA~Y(87_kf{|v? zPG)0h4f7(kWmuPB1Xi6EdoK16LSei#27H5QzZ(tA#H|*DN;-qCc88mO4tk2+e#B0Q z_XHr|w7a-v^MAHwze{d3#;sIg=Jfz9Xlv{daRi5UQh`M+g$C&}^GsyJ&@G=DunNgLgnv9g2kk@mh{JT+D++&aVCbqk zEyoG9(kQ6bP$NV}0W5(dYRsK&wS*j_x~F}akW$G9clQQmro@>+5GW7djzv;r~6 z46Z&i7Fh7?nGWWwv8@+Y%P`)>$H88{`_>KylYB;M6gr`0!G)Nl9P5k<+I9D2GNSM< z87vtA%zt7sn=Sj^Dq4eD*iBm#j`qMPWeQq>5OQ}slQ=Gfr{lMURM@qi;a_Tp(IBpg zqbDiaux6DYk$D`li{E5Zk(P=!(4wMs_LRb3O$vDsS#+-)Mm`mM3W;FRey>im#FnUh@mh|fs zXVgTRS^`BuRi-o!n5|g}M*7TrxyD^A5Pj-?tq9R|G+q$NU1d5>S{8HQJeBiF8zgQ+ zi)h^0FSNe)`#V)7@UXU92**x|H3kC7G!F;pFrxtVWb&m_S#?~YZqG# zwSQY=b7iAo7CVuu?%-VLO==rn7=R}-GnMt5B*mEz+J;_<-{7{Y=sj(s&hPLNN%-g~ zayu5HD#Ea3{4%swOm7#a1cd%%tSHZ%o)G*feo=Q<7zy(VeqO(FHHSt0PJ#z9uM#gy zUME^?wbUj!YIRog+f&dh1`2u|h+yz+e1D{%CrR3AnJqd_z45t~SY96>{!G{lHa1&W zt`~f`qQQJA!sG?Nh|Pi4DY?74f<6+Wf*ot#Edv_zzbBkxlc9ixuKYJcKp zXORNiH>={E{nE0GldL_$f~I@;Z?Fz4I!qm~h1$C|IdGVO6svH9+-4E<1)Z5@gA0{9 z$zQao?YuwGznTFj7s^0B&|WfIRy~_NIA3vv;S|sX+mZ#>Ytcs8Xi5PD(A{_t%9|Y* zh4!XtCL4w`(B@?<_O!cU5)fE~rGEfZ9T;!W9@S?JRx`J(ttm55>h9bDtX~+2Js4zT zJ4@0Rn-GX0oFOr5Np$^Aq=Yg2cqh$(nt7fUXJI6>tq(0I>?qLD?mpUhant=64cJp& zZPl9Ub@KCMw*UUy;@eNNZ@+we_d!E(GL*tmP+Ok)FEP6#W4xA#hrxoGSAXLOrnOzL zz$;3y0G4QvyRZV_jd8}oBQ@@4IUxJ9z3<4i*T~-agZ6u)XKhTeJ^6Tl`ucvdz!xtk^nI3E@`D*Vn-BoQWs^8YoFU|lL)OrM8AUCO8QwU>FC4 z*|Qye0!g-&Xu>6FZoeQdjv$Tq*jmr-m+HB1(U|fIa2<=T$ViEGV$;@G0(b!ry50Q% z69wfO%S;(%Tg;~(4;z2fB}B6JO*gjcU`>oMwFdR<5!Yg)RN*f(4MHMw`!r=}qev{I`o(Lgl zQjM5V^IqIPwE+9BS@chWn|jw!AYnm3YXl##Qr}0E;D6{t!rLvi1Qj8P3@Axv(}R*#0OF0;g41iOImLK46x^gW5G6P@0{>EE zIY^B&QdL%rj;;l_A8eTn9EmhfJmn}paf%{&p1#{%Oe}r(b+Y*G%fOa}9CD{7=}hYY zd<|R&a)=U=FwF_Xhl$!I?uds*bd?>k!+O{HAQNpFL4N`3Ga{W{4ijF_#H}GN%-(! zCho}CQrrY>y_gk2+l}pZ1uxhKMi?A=1gu}q5b#oUM=RC&xKsc1*fj&qpQp6=UClZO zy#%3`XMc&SHU}bZ7Fie6o}4aZ`gfu}VUuqYWll9q)b}mZEhj@t)95a52R}%4C7JbPt(YOVzbgdWeu|&w& z77;3BC%;>cpR(h>TddO#KkpL!indUFCRIuBPJf9TXm~oBOP#DJG0+Q9!39^S6 z9YKx#&gL$y7#g)7 zg?}<2@$&tln&sVCWJ;)vI6-UrsKrn*+!X(tG4o823N>hqV8{Sa2f0`2cQXNZq>R!b zvN81qsBz{k@;aYNeoBmuplKvx^RQ5yl1#oLg-G=RO<7CtSebP|+cS~hAn<_&{5ocb znXrO!l0GsWTWheiG#=a-$cf&H$#YGu)_=Oa37h4M?q@0W>tGr)-4h8UOmP8r^k+-! zxuZYZ3_WGeV2tr1zap=)q(aGqqUVG|F2Hb)qIUwzuFf>aC&v#jyiFvyl0XXjo{ULl zeXQG-qVI6%IV6@uBzBl=1rM@5$q}{&wVc@_6r$>&G68JUxVsvx+EX1Tn7Af!Ie#9> znK8rB@)nq@Xmp!!_9*y8r*U7`$@;zolE=HWr-4z~m46kn9+XoX{5+V@DuklcolPa< zOko4=MV+|pT>P2{G!`CzI!AF#(Bv^Hw#qP%)ds}gWp5$cz7Zx1WxctCG zKrb4Q6R#y6u^06Ezv~ESA0meU@~~4l$TyQY@=;!xJuwJI;@FvY=48g>!GGMY)=FTb z8QlqdP4tOsQbcZakmo3w9R-X931!i5JhGYfp(X|m{H3O_R20_`2PsOtYxy0QShft! zp?xx>+5HRD0;^Z%t2VkDpCusn)4!L44Y5jF`iAw zW~6!?sl*XG`NWKy7b~J#oqvshKshWnt+^uhCs02WQyhOa>hMn^ho)6Af*Ms7uHWj7+xB@?gPx(3%Rw67 zqCs%yj0sm69$SdApkv85vxu_qOw+vb!qJdN;^eA+MO;>|l>CSK>!Yup9~$@f`ZM>* zn@#lP2>yLo4q^V;zJIh6$apa zz+c!(ZWsBN{(nb(Gc* zmuI-*A}zm{dR??5%4}(`mOP7STQf^D{lt0XS@l$&{$KU)|9_|c{Xgp8|5E?{r~3E* zQUB=w|LgxtfBvsC(Y{H<`-D7zzG+luWUxKm3L7oxFK4jpv+YhfbY}9x4T{+&e)9Zm zMKG67Iuw`nIgzBYJQ?56IL}kkCr!(&$CgH$T{Izm7r#I;onA{%sK2FMcMo&wgjS;pU{9~-)<&hoXj zoF+sGZg+~z?yXl*;hT2?5%%Xr@-wflz$YEVUCt#%Z+{@6Ip5!fv(?tO1-&P{)!xk& zIvp{Hw7xf{15s4YDI^=>vC*NO6QlLP?;o5nC9=`7Ea}iEzH6vMSsenKG{u}SpKToe ztRE=l(j?(2op_=LwR<#7J21KC5l6Nipe7cvneB`$ZCrGXX^g7MScK~kV&Op^G5FV< zHLnu|Uw?`lAv6V73YeMm23pLSM{q% znd4V&Dk=%K!d<7u!eX6rY`>zvKx?n1uM7pBTZ;08=8eU&7C8^&i9}h=#xgxwqj`z+ zr*HJZ{ndwUF4?lA>9W3}B%?JXv8c#3MG=+^?|(*ilzgp=oopMv6$T_((q<5NaUOzB#u$;D`k`qs!dTU-W@3^rrHf69c!0U9yq=G5KMccZT&-$>MN_auBUZWn% zBq(rP=)&kHwg^2;fgwmTHKu@l4PRqhjO5@4B2bTQxJu+S_DM-?2fU@^&; zEPud~F!JGu#iQ1I&dN37(D(wREmgqxaBNxT$w5$A9u-UHEJm##Kkg-dgqhZ9~(AL3OS$Cp=6(5}lBd@Mxn6Brg6tpnnWGeaAt^}}3F z6_c#GZraGOpi+Pj&`}{gvLI5E%v2XMg;eY3_{_dK^~^9*bayT3U&bvi!J$j|lz&hZ zex~CW<~5woakq}@HT&CC0EDIr*XeJADTlq%fotT|#2BLcG{dQmjD=u{h~iDI9}Bj% z=D(!FqsX#_E=5OW0MTqkQyJK%#S+_&d}LmTue6eYBRah{Am<}1Wng^bG>`JBR_zRQ zDEXud3Ws2v48e51xjM5mF`p%~3V+dTBj1_CH548l(QcS}?+jN=Pizzv?v|}Q#A|g1 zbS2fc8L^OAr|_gaPOKD(N~BT={om{GKjwm1*nQEgjRp)XNQHUS21nt+li>@sa{s14w(2UnMj!$-+bpe)N-I8E#!y?a*j%U=53j-)u_L2Ds)(Ub1j zhO^uW%eqYOQUP)_Z$i*7biaFMM0^P+H@j>j$60&_wE|h*tQ)m;Sbs@U`gF{l79_w^ zJ?qNm4W}C5VMnPp)PuNn@@5aG61+>CIT&Hn7ZWlS^~ekPGq!ZNvUh?s<;p{yt{o^i zbrPYx`h1blZKXj!QB>gywC)TpYkZW?OuR3~5KDGc7NkRqhh+OE z*5iCg;#YfXAlYnrg`*Wtjf34KD#lh~v{cYK1-{Stem3nDptIC%V4!xg9?Xd`5Nm6+ zJRDqYfy>ubUV~XEkzXoPMJ@LR%S0m4@JL=H(u-uoBswe-{j{ zdy{xquwB&mYR&vDTt3y}&HY6ilIGR4%a1XEvutA+Y!au#h?#g|a|&KX#-jT&$vF^C zc<=RB(~;??41bIh^*y5;fDG54bFcu}I)tttt#~Lvlx8e;L}t`2BiDe%B01jat_}uX z5<4=kW)q)|rim+Q>ZblsvRtJ@rKNg`$fte+iVN0M|9q|tD8JV`Rfkv}!G=c@DiVWD z4ki&8+JxTvVrD=AjTrO-4r|!_PBMmq$reYiq&#-0$$!MV?vKGT$Y2G<)Ro0c?pTl} ztX1A`t}oJh4b;1SG{n?W!wVwd5Rn60#!~1nWmBS%`7q&q#4?hr@A{%AhZe+4>xVj4 z20AWC`ct2|h#Ic10&j!TcxXN7ECkXRb94z~aB&)4HKL_Y@aU~IG zwa!L6anBYH-JV7G+TV>d1vZuuU0w6T`(W1DvaY>{gK98mx z^d>dMxb(P;MBWh^9LueMi8P(RlT1c0WOu#3@*neKe%Wxd z$AGvezfwxJZV)i&4&+xpV(7IR|B=7+L$|vc>__jEK#0uw_@LVMdwCZd7PWq~q+_{O zxq!KTPfi5CNr6ZXbavk|h1ckP_hWA4{*-)z?OL8~_xS#_Ijw(j&jDIbK z7C*q%Gl?~O#^NcuyUwutEo>tBp}@x?f%z246?fqc1fgoVRw6r8z-8{j(W0bxgntrBNN#9^`-CAf!-C78& zZY^|+#8V2~ZY?zAJ|O4C%a?{Ti_sRj8mr$Y-zo6r%xkSckT5a6)(cXN6n~$eMWd}Y zJcl@VJ%cQjzisG*-azcn;>!RE6|YhDA85h-XZ8DDt~~qF5R;Nf^_fQxr?Ku0vRPKH zb^ERLK*tk_YB~TN`|CTpb$%n4{P^;7H3IS}6hll^RD9=_t@-Vs*B?XA4!e|Fr}q9> z2`TCp_o#MeoS3XzG!~DCNqz25|;yH0S>|@krhagYxq3og7Ig*h^7s`z#{xx#A z@y7dXDSX41+RwyqTVG_Rj;z{M`fah)fd@Erz1noXF`q#AgtM4tloQaO%|`K=xiu5X zA*RI6Q8e_6s4Y)}MStwkNX|?v?l&%%WL2+hR5{noB1ut*xZ~oTnd!>XQvaLhm;pmy z%q?*8er9ghi0|>kdweB)cda$&9o3=1=Kyl?_$@we(o5Vh)SAq#`Amj>A)6A@b1A&g z9T)4}d2$-$75RO-9_=$WgOV_n+}05j-Ubupd|q}cPr zDbLojCldIU*48}ki6SN2U5SC$QFO57{LNx+7_6uws(%sN!+;Ys+pP;()=efYS;%3p zQuT}`G-+W&*)wrsC8FKxC(&++cwDj>?KD$P&5;Q+WTjbX#g4kbRz!8i69=It_=^Nj z#HTYme2TjZJ37~sxi~~y36euF`wLV)V+Y>DOk6e)Z#gTRES_o-faMHUz%yJgl1{!} zo{4VM1b-G@&21MusSB1XxPdKUT(d}4cSbtSZnOh&2Cpz8kzl+hCO+D!#4`Iwd)f?0 zxJ`Cv=8_zL)Wk64D0R_5!jsy)HBs7*tdOh-Zu*<61I-!ZB0=|706G(lt{!!{?Knyz zTOV0&=4Wx_w^?xj?nHxI&bvq?1$HRA6W`et=zlo5#*yssp~-9oJNPE@*rr!@{%#!@_Q-2neX~|W$_E6#;d*eOpN1HMa)81K-# z>fH*5K~B*185gE6+AK+DRoho}DGr2S+6^Vb!Lf_|;&_xgvJY?Mqhta0NDf~u!eDKquGmaJ*hlO&<_mzr-e$+3UX@qutTT%*mcI# z{dC~QsNsvAe>}F6M_QZrNW?RRet*T|7f*01>tMR#u;OyP3np?+sNIm+B&t=6?|Kl2 zb7;koAU;0&(D5XI`cOMSpJ$++&Hie6*4 zWr}m4zsr=u4HP>cp&%ijU(qV!Q$nC4aNA;9Dk%ABw0Zj?4(nrF--Htco>EYUo2cTa1E!4p-5kKpb7(w zIAYatvKidrmlhk#6LiqRR)bYkMbV%m_VvOYNVGBApkA0+UI6%QzsJF6k3Swv-Qr9K z-&!O;>TV2-RRBhy3o+xRE!OcVhRE!da2TdB;RS$ku(7|DF^-C>*?%D2^JJ9OPkGjw zH}EEY99wZYn~gu9hl*nw)@R_<*e=>SqBMTD%kB&kv`F8LnT!R{nN4Eim%9){EC=q7 z^|;;GAu`Sa9A&Zy31tFZQ7ni78O56f?J+P|9uzg($?D&`6;efCOl*-iaYhA!4OtXN ztW;b*6O}+{u}k0-yMI0zQQm}sc~3ZXibg`~+(e~q?lWM27DE}u4WTB>#bR-=MHdIV zGT!0XN!I&dy*Ny8Vte}q0xg=r!ik`<3PX#lnM6X>Se-7iP9%tK&1SFT+XLb-p$AEz z>2+8vICu`s#V>_}BsMJM2~Z@k4tfAm1koXo!;Q#{Tu+oDS$`~OX2=p&&+0YT=~j2Z z>4ov5E=YWimQ_hK_?YQzy^C$K+&`WW7k0aIiT5r1?lykJ4NptO+nb9@i@3L5ixT;R z^}3V3n86W6>K+Opdg4>h+dZDj2eK-AV7pg(V(B%8iOD;QNljfp+#KotbRGh6-NJE@ z^Ww8}-=Io3E`Ng9>0=70Cz3Hze62k8TjS5C`1O4;9}nWTv5w(Xj{^K4K1=&NMTgG_ z((^$WbYUFHM}s+ii!ZB@%AdNuSOY1x$`-?P#^RfWf&eBXPl@g^A|Q0lv+4YYe%N$B z<}G#(TO!&*)cra$&UtZ$$Ju!I3GWHImv3?Qzi8Jo<$tg^`yXfj^PB%1XXiS<+K%u1 zsyWW3=lt>=r|kU-953zu>bZ{d=KX3o&V|P>FW#@J<84*8isMuY>cwdkeua)#{WYS` z0o6h^(r1r8}8#rsuqypNLl>y&>r9k2eY z>^MD_`hU`(?v?s36|d2=Gjr)D$h!0rcvQT;hxsc>E9#w~esVB{-lv+iX zP#w;>kJO%1qc34meev!BYO1Op8+BFo!MUezRiA4Msf(p&ssR&HvG*QmpdHZBdv(EDyLCPL-z?u zs+f|-mbSLjVa8j50U#Uw0nlcX`dOX36XY(ak%9jDYyu@Ynmk~GCe2c%V z<;#Q@qWTfnHkU6m)Ydt!?Tc#j9z5DWRkhwGL)KMYpu}M!afB@~wi0vh1c_6f$V)s! z@qf9Mm~~ZiO~-kSTr+v$SbB1WaV@RTX{UcYb&wuZ7@4q&z^`Ka_$p3 z6$qkDhRc~=-yHZi7aY^0oLFZvC-pHFoE9Gyz(#IjS;J7EE!*Do9| z_o^Vsp8@q<&+t8wj5{Va=n*88P5cpTRCrz9xi+u`>T}nc^u|1(AVA* z03I-i^#z3xj@J8OAwglS{r($t~v0p+y|Iuc{hvj{f}e93Q>u7p+#gK~;nLI>dlmJSv`u z7H`GUCk-p_a^V&|7p)p8LqOdvRlR$CJWk*vm#ilIyHAOR6uEbYt!kk=Dj@zdQl``(4zcPOb-vV zL#C_FW#$fFbZBcBmRs@Ik;ayk(r{(2P`QpwIE+<4=$JZ^>zH z-3+>SUNmdiz{ca5F2y|!DSuy}w|KH#Y6J68^~+pCL7EMn(h`{DK|MF?{eXMF33y)uZ#TG)mAV`s>QRHY z14Gj)9VKt*#;{{Az++W#g0a=Tfi-OIUg*ceR!1l#oYGxLgnOm6|>JgnVzmH|QwdRND zL9g%Hu(e6#>`omtd-XnkH#>ejJB6d!@%|~ZGXywT6%)HBVDLvpn85TIPS*4@&1Q`b zXwPLDBLake0}-ZXRew$Kou1)}VkxZIP83YL{aav@TbiNf*o`w*;+8duD(j^`sG93) zaE>GA#9jbhln$X;hHAVFbGJjK4r&aY^8CaOnB4waxx~)!4tPG?0n@*~1D^Q&5;*lf z1>jRp9%LDqpHjuwE|#pxm3O4_|KpZNF?-hX)b#S8cP)*8%zwJ1+`qCe!CzRHz+j;N z!{%R+hGza7dj7xS`ENw={3}Xbpd6JBnOd&#bDhDHp*@CPJn^@Oc(N#^PvJ?$dU1A6 z@flQ>U-|hB)kq6L21JEQe60`B>BTK~2%DyWW6ldJ)Dv?oAhfzYUcVRS7ZlAz6TmEl z8VG%+W)dHXAAhRzm?lg~@(!#p&5t4r5P|gxQ{o$!$-JJsXK~215HCpwcva<~nXiJk zP@Q}LWLG53y?MG70Y^=<68=zjbj@U|#o4Mt4Lg-D;vf9=_n9-uO@PlAdWyCu)=H>A zkno`1Mb^S2cx94|vTT}201K?%qo6cP=v997jr?hTeKL(H67pn*Di6Hgea zE8cC@E%!aetZMLP=KFUOd26sXP5(D@_!*;inT7Fhr|-Dpx&POuEEu{p$;JB~&5Hl} zW=|K9*?)BU!@e~?cYkeq8h?GCeH=~E9vK-b&_uKx|AjMUzn>cho0S#5_*6u;WA1oY zZU4bt<&>_7;UPFhd2*f%hN|Q4hG}aCbAPhKCVy=TiEm{bN6Zn8=bI^vrFz(8iuG3c z$KE&RjTuq}Qd|7th!;(x9TIF-XU*ON6vb(>&Tm|jjF%#QTFAxnX-=o(P z-db&-g)#HTuQa1iKpMQEpZTjt;MTvF<(RQ_>4QdjKQADSrSZgR`}dO4h*Kaq6x`1! z(|@b0XHy}sFY&{Ek@8o$6D!7N4iXf4e{%5N&>0;4Jt)$m)#_`k{>`n$NMe%>z4%0x zJi=xQ=kYeEcp?dCIkkCV%80)@3yI7cXmK?tiQ@`NjPGx`f>2dZofej;U`4NL9jH7D zz{@1V_vXOt{1;Swsm9!tug{jps5cMwLw_{_#%1A_H-^N$%DbV&N{o+sT*oWE1{yim z#$Fbkxeo35=)~Pw|E4=7662wc`-A@YM3$fGrfK9@xmgY6{9qjb%f(Wc(=z?Hqzat?3n_3)PChAY=v>P0o==r>4| zK%i39)IyHsOLtJIOjwHDec+nhpKA)8*OV*pZ)A-)?^`GGoEBF^VHywi!EQA6=x5lj_uR12i5^J)>(jGsGJ)A3g)@*cc~aqh$b44(X$$i#ePJF z`!lpe^#v~lseHilct6p)LKYeCR`%;FK|F#2_mY1{@!V@~kGZoeN_N=>yAsn=cQN%&SJCWH`SMkT;n55Bww4b*&8^nazGgI2^0Wi z;FN#jKjE3+srON^zJ_YZL3z$Pkf}QX)M4?}6@!f_l#wc_smO7!C}$povnu*R%~tDk zj9?RwpaCwqHe%IaL^Fwn6cH+`@BG398eRfQPjb>jEx3O&oMqj!n0Mk*gC{M%4(e;P zeMxOspEBkR2+8zk43c_6^nNK#=krcMU{Zf_*QW$dy*j3uguwv|&^f{DQq%kx+;U-u z<eEu}ZQY;!@ z+HI|W)7C>e!H+Q7eWUNblTHw`jPZu9W5~THt2>R%L3hgW@~;2N^4{`v*6fjvJ*j_s zbf45=`Dsf>p$`9u#IP_tC~IkNRZE|HfO1=|D!3@cC^SezW(CFH&W|^=Xu9x>*$AnB zB=@2-e(8e%zw+o%MnL^N8m^Zwm<{9I^4Sb{8`cc<;DihgK?w!^>5ou*1y{$POTtFg z9=3q(7xzi3(AU~IP(fGR^kuQ7i!)WC7@JoMHtFMl1x(ei}S>^Kp4h!jNgaF&^@-PEUxp^f6&*`>ETX>mc4jfTDVQxHrj)bm9#)a`PC`c{!e|?ybOt!)N9Nmc2LLkk zOQ0Gg%|*PhoGDXGQD;3Lo9UG;X}q_UE0{#RJhDdDXKinjG5U*d@Qi<7FSA+8?TN2d zr}Q!`TeZVZ$9s|5*)+#{+_+Z#M>(j8oolsml%wjDKk}p=SAdnrC+7l2LFI)Da~Wo}q+pL#%|q1*#{T%!STXB+ z7e~xr@j^RAd#pQF?RReNvF>O#)mYdvZ(yAT+oa-bTORE~LWbWGK0oaMo@vyVF4=fD{8B_;g zWtfMrF;U<#PH2DMO1hTgdMP(f*}x@tz<<@!4Da}&>FHoX)gY(SIg7l%b7J#CCw zdH*ToL&<5v$PVSPl;8GWN_J=YNtDqG?>5#;sWW^ScHF6lsd;E39rK=%&~=RWuSKw zeJBArv7I81<0F>l@klEhNKUpaf62OaBSq_EVf8Sn#41JzscK(b)e@+?3WA&ka#c)r z88YXUFDFw0g{;T=$Jb{&8yEY@R853R1xV8C+D? zo>a1^K$m|D6GFS!drR~OjQf43BaauZ`*zT2KdCrfa~CQY%`@+fR-Xl_UAAmgRLaKJ z>&Z5Le>9q=8O^2=11*U4gh64TCA!|FWq2JhPvSpt$HNG6JZ743LhqP5^ghqIGB#Si zOW}FXT*{l+x7^%=eDzr!K>G(pLhuFnaBU?iMzDVeayTV9>}>SR1Ms01uBHP344SxK z+F~pCLgRokfq>~5_@O-DWvWQ}bt06BMl{^Vrex=Zsb>hV8>EVVP*T{yUFk&0o7;yI8cNay2 zSkzmp9Dl#WcQCnn+uIoiEbfT>9F+T@NSm=a>WQuTX>)Ga+=u(xXCXKNf-DRn68r?S zZ-K?R1%_!;{9)FUzHG_~WDl!Q>OkWJ>&R__b*xO`TmWLB2BPXu8(o)=h6WXX1lBu3 zia|ZgO$eXX5>1LoE`7roKUr)xYaIA-C2ed}8yjhZ&7{38+Bk<$T-vy){93R=CuU=- zyih4#s2kWyOkKto>im)km1P#knVLgLqDJ^(AUJnZp{4{hw|B!Yl}u<%?9`4v=fs}7 z2e{lIPoAY1uqw|}9>y>Q{jE%Y8>z=Q6Z?S@iBA{%lF1_pYFoFcx)4_xZo#hfSZW5l zRh7_u89rJCyRp0rQ0~MuXykW#2K>Zf4O5`^cpM_=H6vyXio^9U%}BX`qQ+&6{W}Jn zCr6i}k%#-jsd2USxMuOV8d?$T8}&xSduHRNSt&YqfqAR=_$(7J;0b_#TuVL;-3tZ^ zuW6)S`4%F}&`kSNR$bj5<)e;>bji%pkd;4G9)oUzTQr?fV9YWk9eUV2y4naom@{1< zA{0AumxZN3ghw`v{<1cF+rv!4?v@s`y!X|l-dm#Y9^4<0=ams8xCVNJb^z*!R&)n( z09rt$zpGEi8&^D*N1oqHNaf!=f4tD>amYdz)YPJT4OwX=Ck)EVASj71o_e6un9OQb zamdyTz-I0WMpBnN9~(F;mDm^#hH-f2vH6(-Cv~}^Zl7xKU_$^FqwnrG4OBDJIxNsu zA6S<52wD{+6=9gqf=rxF7`tp;T+{|4-FjZOAsp0ZuGresMsjp-jRNAh>$_yl{?H#X-l|MW){i?8uFA*X~BU%N2zDpgM-c;Jigik?7v?^IMI)wLQu*8e}7(8=VKtxZ2@Ka zF#&x;Ej1!<&$N2=x=H}q7q2`X!xRLTHlQLxVg?T`=(ix>u5KLe-fLx8*#MzC9ZAo?D<`Hb^nrG|K?qmC)oNsYb5*cM`Fekxfj-W z(t12vX;3*H6c@{puU$N<%%6|S>a`xqca7u=SJr5v{ix=3t zu}7BwZe+nXRUD459__<7@d7m9#j1j1ukn zJ<}y$_plsdDAeYY+=4p0Xr=gU(*%WrNoqK+3Ldb`YHqbZE1NL8i~3mvL3|A`{i76_N{7%-glEeb+doB#gL%%A1%+s)$4Ov zJMg5n#2{qODrbPIWbckhE5KFPMvUagnAP%@RX)|r0w2aHiBc6P7=g&{*R505junS( zK3-9wf6Y~Z#e#^L{s?6np8R-^kHOJL4P?r9C;CM*9i+s5?4Vaf_gTG~p6C_T{a`R~ z=$~w%Oo!_BWZC<;toK*SRv8+9Qy^D3Eb5Tk^f`CrLp?*moT8d;^nH&zh4c4x@!_Nf6U#mMK}z2r$(pOdtsCFY9J{!MT>Je z#el|NeMwQRe!{A-%3ou*4@R_~6O0>)2%LZogDDb>5r z)U{=n$OgPlA0qH86wBI`)WlwpWOH5)UvB72SjZ>xty%5Yw|vlNOp(^sESpPa6AP>9 z?NJRJUx(&*2ALRbqAWO4F#6S{f1(g0A3x_xV>cXf0kd3S8>l);U$MzRowwq-e}2}% z7Xr4gsEFt~+0K^MI^oK>EWkTs!A|H|IF6jx*_o)o$F3;L(L-b*5=aFvk~U~C;7U;s z*TpfKTr)px$Hd9F(9r4dHNGQ`M19*oF51=DR$WVR7w|FITs4j8%)-JvlA zuR%5D_uXj&(@5vudz_m$7^kWse|h&2yW}HFsXn(0JS7U$A|62b3WDcM5&k@bd$ea1 z)8uDVWV&$d4j{T5F!CN+-GSAeOqF!I;dIyD60kxhLHJUd1ZadR?69mI(S-nCqgu5{ zOw+I#S<1a2nG;zrtG~`s7M3lQz=-lmd+n2XhW8A}K&48ZerR_F=AN0Oe-2jqg?%Ei z0`8h!A?#i+f7|Q6hh7)I>o0XwEZSJg!LVKz5xofrG zk=UFvsqisj7Kz?ywR`U2WGT9&>bypUVZ)x^qS+t~rX9*(@&53_eS^W<6%9r;$(UkH zDrI>6hKnGHP-4#+u)+`VFhLVuGA1qUA5Oc^q`fViN3I)Eh@}ZUf0j~~wK_|81|la7 zxI8BHPyi3f@&PI%A(H7%p>PRnpZPNv{CXCSF)KPuDBQ~yj{xmy=^W>jp;RjC?Cc-g=7hg`e6hbVq}FU zDh1%1=Fi9T7fE;%f6%Un6UPqqCBmk4IBn->JCxTJBI*kwnz+tgpQzQ~#1e568~30I zMfb7v^e((&^>A(YNI2p}69jNt;!U5aG34$sRolG9cxYHP!Ufizy>MgWdxY_lUAxz+ zAF^b8<)hBQ_MA7pbJffJHJ_q}SRpKlfA>Eo5H53_!{Aq}f7IUdl$Umo*b1!meg1+~ z2n4m|B^?GI-c)*8+PnvODb?!1c%Zp_h^IvXoZU0dJW^Lgs)R##|M(YHFl0A+w#)jb zAH@+vwO2$sqtmC@OL3|m7yo_IxXo8aGQmrHiY^P*DJp$)if;Svgr%;p3}{=@<}Ol1>7-547V>nDQzYOf=mGnCQQW0ZET^iOaIwEbLTD) zMN`D1L6~JFc6bedgSZ|wW*BbAE*LbNxbS|$24AmRflY`xxp$59YRPo+$BdPB3zlAe zu;WL@&7;gk(PaJvQ`nf^nWVXU0bj!O1JcxSWUc~LfBKK`!kAV~2{r$}uZ54}ALI+z ziHm&<=*WoQz?l8e;DavlPF~?V{tGgakiBSFB~S%83o`Hy7^5u1{vrswXkaFkmyNQ(dPp1~1TVV+-M zc`2X9f00WRPG`Ve_Khp;*^t2-7EZM1tKH#l=nxbt(70T4O-ole(nKfN{5x2ZW-k1s z#(QoCo<|#)AV7u3AfT9Y0oyC*_7bEx^hfmsN9gqnD~MILMXSJuS%s{-=kRL0s0~pmd@;5X(h;w8*lpM8|E#*r1W@6wD&ai$J5Jic@B%?2?*e8vL@! zH1B1dP1c3WzXT(^MI@mK6WCdI8=UA0Y*?m`f29wB^U7!IK76y5X2DMK-OQt24Ho}G zf91VvqC<>7D}#r)K)7|6_KtXjo;P-g0oziMk8Cjv8Od$D>YiTpJY*ghO%^3(A*^K; zw&I`pQ$9Rg!W;n6dExXDu04eBC|`lZ$`$P<_6_SB8GcbDN6s%#G zc*Ug4oeWFC*Ulx+-3G=zGAvdJLiWEtiWzsZA7Tpwzjc|!U<>x=%GHTJMVsY*aEv{c zs5p&v;?%=$k%kpQw0Md3h(dYdvzvYR%L{)6YHW->47)1yQX*+!VnUdqZK<91eKB{+OhRQ7)ETh?jZgJho1Bt?!V{od3$m;EE2Bltt0Kdb-xFRu<58KPSb+m ztCw-3$G-x5%l*PRV-p}vHVXBN*x>-;?Do8Fz@m?eXF-b0SjBe_s(T6WlP?0cB#-E- zc?_5%7a*S?kE*$T0`OEg+Emeze_E1oWkqP;|HvFc>EEvOSJi^ZrNn^`~~eqb|ov<`hOqr8yNK_ZFJkQxN+<nn5wpDN0xt8~_k_0}Ne_z0I?7qaV zo9Zl6@9vzh#`h<6{qR>#qoRZs1aRWxQl6%Yhfg(P|n&Cf(!jo3)JgmA`{4beii z`ZzIVD-RC!Y|v+cU@c9{fup-Y+_>|nU!pYgC89S&+sYGBXDSQG ztl9xUFZqigUPe_pFnn$L~DVm_K#ch)*btTE`eYd<)7;W@NRCYVINKON9xMdnZ%Zoj9qV_dDM&<^V^U z{gM5Y%S~1fNSgd(jNc|Yz8!UN1P9F|U$KUwi2&Ebe^(vHSTO*fF$kQ$SXk*ppkfj= z@wtzqaO~iVk)+eU_;|bmZIqbdVGH<=3EK^=4=$6?g(|fq&!c7_u z5fd~cEbgz?aXW>cf|NA{v)@j^)|!IN$thU=2Tj46r(oiu7jHZVeQ%99xWpV>V-5<| z95CtJf2c1Lb8u0Jm9-J$%?R{O`VIun!vQfuQ!(;IPec98zZ}pq-w-%#juApe>!k{C zaHE5(BZM;ILd5)QeGSOR^i2qe>k=%#gYy@!DQ1X8uas;LmhNhxK#

    oUMl0SGdJo42LhJyG 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%0A@ls{29E)hR0nH0(Rk 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�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 VohB`)&!*2NvkUsC5ilm@{{RUh2$lc< delta 663205 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

    IZ-8n#faD@7WTsg)X%%6ssV@+5L};aP~#uyP1v7 z^Y$713z5q@no#}?M0vKTjr8)F32`&G#9lBseC6uu!Wl+mR~J23hcu@P>@BD17Wk&<0?r$?edOzN)u1e% zEsW}ILD@I(ybcsn^Qa|h2*4~T`367*K`(Ji?(ukHz$8^l(!?!bZOWpc zeYiza*%U{sU9_YZ)A?agp!*XA$=r0Kc1!3OdlI3$t@)ts_f0Ix{TE5lsD6*RLu2b? ziDLr0e6;P=^jk*0RINHJDPc(H;RSW(z$o`TcSBP6+@ntfUGCw%7F8D91EnqZ@D|E_ z>5shGH`$SYw}r1onQQmeOuU-8uW%bDUgK|FB*+-Zn<*;^BAHGJt{7Je|0*e8VbQ3m z8I1CK5iVVn>*x^c;@OSQ&k_Y{lk%mDMkS;2SV&3wcPttqjZ>-y!0UwpFsF);9q#)6 zo)#qhx5En>{(EBdIzCcbt(f+vw_D~ zhAq@~QfZj<>ZnDCsv-LDA=bh6gTE{V8qb4|rq+w$fXI=Yrx$9s41}WWbi*Vyl*xvd z`M4N=vMYkB)`lvSC|1|P3g}1hODQX06ugoSFiNo2hzt)^WTEL9P*aoY2W+&4R9~~% z+?nkGxG?mtKIP%V9nm?+oUSNk!y`!gbTHMrdcxiBN~h%;f6%`AxIqK?zITyBI(OBF zX!pOu=Aj@_s-oPN4@@~ovt3bY-4p^v9zxN7#mn7y%5e&~XtSo^t8|D;PPEytO|hqw z?4qXK4O4JO5%UsnnN|?S!7=->rqd6Ww&Le;ll+2`-CpM9G#%u>N&_)l(I7g!6Dl7Q z7r13q^{yu9heV&WoE60xMSQlfvDhIn-A!_oD_WFQd2v{(E4B9^%aX^%7z6RYVBKDS z=K-)htXBaB2ltfK!rGe@k&{1wh7-j^`h^7mpOU$Lm}HkQ-814%RfxH?jfj}Q*KxuE zVize|FZT_mP;pby9K(B!(qT4`wt7l@huQAf?*Wq|Qx?3A4&=|N@yx|$)!>E4ZE92Ar+()!j-&FwmH3-)6cp{ zGyl^(hY5fXMEiIUCU3^=L5SQPi-DjN){mX+RSSXuX7d0n3IaLRhjE*ZeAJ*~5dDwi z3raBgQ6L~d|HpDCWxMxjhyJ$}O>YB}Vsu_E;Dw zb3ue+OQcQ;S)_Fdkwf(&48>cO0wW5DK+tMpi&g{Cg3AFG2a;TJ*=lH3hPer%V$jY_ zSs$J!(ENT%cvRE};E1!3OcDST^{cz0ET}K5V^P1pn*KF|?9^9918O3NRRVCRiA7_* zuV*q=9^!PbYq_E#QlYxZ>WXH6TE;8G4Kgedqm!JEk?OW?oJx*dit+uQ@NbJE6n5W?v;H`}>Yn670<|QYhDwuS+B-MJi{T;st|>pthfevI@VlnG zYW@tPCyF||>e&H2n^VuL;+DqZm^Dr3TJ|6qO4u!@y$)(EWMIA%2_F9ZXK`t?`_E}M z&0+?6yweG!O$x|-&bc;!lp@!AXUgD>&WlVB!l6>~#_qYf_Y$tUWE1#WOegJ_Ij^dk zzW)^~~N0bomA6w@-hI?u8J zyxx7WzYh-%dgEd+XaQB+M_}F^W*Hm_0GXfU(n= znE9T}_zWq6^^YNcyJ;_-u%oX??l{PMSyw3ygSM(L<)|lXOM*jT(m)E!5{;i(dnuSP zFzO&82eUR@uz;3h{vrC2s=;<|B@__7j_J~pC}f74`=ENGA8iFp4M$sES{QUzHy4GK zvR+zNf|Alz0@x9pSM>nPw8i$Rw>HXG&Z;F}xGPBr%?A>H)RhmED&t^@YmfVcQZd^n zB{JY4R9p+5?dL=F_zN*SNFAI#G|4C&0azmO3Z`=_L~u0KASM=zAPJ+#ijEUJaJFIi z(OQW^BW$mnEy`q?aV*=MpTOEEZBRBoO?h4jd#VPajR-aAeYHHIGo3Kkt+rw(+R&{p zxN~N6FisDD2AJTx7@{O{kN*zYm{1Wp$XM0q*?EnJxl-0uGvZvJ_G1jAqMEUQYup;7 zvDY`HTD-4G+I;ta2`*)}V5ih=*adNs7F{nIG)`$kHQL%f(=l;)F#cYCt!8<`rwjG) z(xg|G`pN)CPiU>Lt*wo&TiBbgAN;A+#YcZ?VGv1w>gp{zNGVzyVDv;`-`5#kgYo&4 z9sSbp=hIW`OVET94h3d38`7y_i4^&4Fe7PPPH~2(P5KTgH`qX-G?Dx^biT-kKQtw^ zl6!cM>-Qk`EqbOC{x<0u-%$IP?3qdZ0EeUMkCtbsZ#BRHw|0=< z7K8?W?L#ENd96pz+Qbp5)Yv>{PvIr$L<=)sv=kUs`qHxZex42bsOzyG8|bt+{P4|8 z3;dxu34XwoeU-sfgj<0fQ1U!5RM4pdryO>G^ihU&xiE_*rufc2Q@w8)fpp)({!ytl#@isGrsz*BvV3r5!Faqi zY`@!A`@eB9^8?{?SS7b`JvK5>LN)}afYp9pQvMIae_Fdm(}EJslO6La44?|CdwK?c zvrzjK2l|&)K<%^0*2=sT>5cRwF=^YDHxU!D>!4709PFx}LDX_mujn>4rfo@QpeWHR zwZ4}*m?spImQZf3`;T3DzlYAY4qcn35Mi~VVs z+LNJr`x)Kyva_H!$1s43%h%L+1n*s9c;k1`NqT@zG94jnfzOD!?u^$$UE@i&3T>W9 zQLMrFZwMANyfLcyP4ca3eH;l#3&?nF+e*dhsT=6G7?GPIEZH#TWPs}@X3o)nctSyU z#(AycEhR+*!>6txonoiC*D|Y0bO~hD?#l+;Hl8PL%tXe>h(;Hsh4JSxq=1$v`bH7Y%x8%wjb+vt=^Eu+(t;bM zzmcWeJK!=nRbqJtqLyj#DP*jFHyAgL0UZ`>fjdlCe`Bt6(rF2P5wIOhPEyYU4p#OX zd{?8HJw^y1p`1wywWMZ7vZZGV*GS~Y=@7g%&lG|Jz0KsYiz~_H39pKMPXv3-xtJ1m zaq+9vwoCFK(-Aua5`MO7qL6K-icV)0bZY;eB;ro^lyY#ji>*kX zeGKb}S=GA9qgld6_733+@ehmXh*mYNen2otT!D-`;T{KjnnIivKX#+X$r@jfg; z$8M7y*=8lQ_a?Le=oB}9oKFOyX>`GHTA&oz*RIaf$uVK_g2UW`jbfDb^3z!YZ?#+- zBZb)3vpIi9_#Qh%sOfI$UoPHNJV8AXoB-$u4MEV&PBcVW4LbZqwkW;zPDu;m4UnGU zy-b8j*j50gmm$>e@p&CsGbpFli7KTC{L&!rDeEBy!CvcDYfXiJMlY8j9P1a3itk+G z)m?XXlYTXmCYOw1gR+2he<`ccW^Ilbm)Xk~uPGRdnHq4gf|Z<(R?Cz+hwL5S>3Tl< zzD<(8%mxOMxAR#aK9Kzy6n$d|?vOh=315vI@-E_MTlrim(pWWj9R6(N7HdryLpmWk9O<`xXNqsX#fHA2WxA|MfD~? zjij96kxRZ~zNbL?xDxQ-k&l-b9EBdT15r^3&6kVZ<7$IP84+=F!e%Nnv#?H=3P3t( zjB~4&6?zWE_0!sz{CKQLLkc&KBAZqH*1P5VFetDoZpYGpNfDu#O{mub~gR@k>8;W`Hiy4Z(fPyqUBdH(o4dlF5J*9l0iepa- zNFb8yXgnByW`TIa!t7q;B0W5^hmAlMqjPzf8f9eMfWXCjxW=yr8~xuTkP@lj&2Nq;&P{HC^8S1l`{ zby}%5FzzOg38{HH?tdql6;nLnBO`%Ts&uN=Fw1d7r@P(UN$QsBVuMifq# z2j+}_!5rk6d z!-z&FvCvrrU&5NU;xH=kr&ZHHU73nwP=?$ ziVo5HKrTrZdKp;XfV?82FHU~ z^|W9PhlEqpGVAh-(mQ_W;x%)$rl4Qo^kk6t2omIrE&94&jW=J_xZ|MV0T{5m2m^H~ zj9PAR6Z>AflUm_@YPSA?m_E7~i2&s&SkzYXvA*oowtn1H)N%XZbG}$%_8+WX z-{%1cTdTs$Z_1+v`ktcG4C?jlG$mbZ%n>Gr?d%!{8ZBw5Y&R_-$C9C>Db|61{G?k^ zNZK!F4kTTy8WQ1O3k8cX1WkgTv6qn3FwueYs{jjk>AAkpjS)-3`$5I&DQc;J!%7mr zI|^)tC6?^c;WWV)zPH1MBZc{DcP&0l+B$@&NEJqW`FlHP+D>eG_DT%|f!ekM6G4LS z9ov>;fPUhk^Z-ff3OM-K4(L^XF@DEpEXsv`GChN%=%;&|WOBEaK*WQ=M8}-S$psgU zMLY{O*GAW5xL0e%>7cmUB)Ou`NM$SUDZ=CNoz^xC%b2sz4W!bq!`^ zd{$Kh?rNJBxCY(d7GtA6A3h{2aX!#b@gB0%J9Cp;fC}JHA>XSD)R1ggS^>#%tHe-x zqu8|;S2W;)gPU;wwxH2}kY=F&vt zvio9x$w(A-r8W!9emXgaMX4POYA41Toyb^<5b*-v?Qjg2z1Ekb!?PSrvY@yT_RBHR z99;^{*w?Iux{IP0%Smf=9bX%H65C@-?3%n!#H0cw9M%gK0*6GgQg8knHg zRn4kfF=)C<0A`WLJet_H z1k)l9{Zvi7fKDra5!7pG%!2HSsmPyg*>oLO>rPY@hneJou7l3AtR5N7xU~E9`P2(I zV!%F&g1w9yzN>U zrr}kOY`|QR(V#Mo2iAbBqTM`r!Qe8)#;C=IRd#hdHhX=4FfjQlsN{jM(=_N6&Bz)s z+p)Rp3>?nYQBme-DQPlay_jg*Noy@iX)ZqT1BO);_XgT-)B`cJVC;&MiXLmq`J zuxo&vot4pl$bU@+#e#^2?F%?b&f!R-4O(e^|bvjN($QA2<{Yny)@%J<`;)C2(u0)>e(5`Ea zZCaQ~s>PdAfCZZFQbd6GB0CTnzUZxhMS8IW=E0H$2v`714}N(Lr`8zNh;1D@+#oXo zc(cH9u0CQmynv>re2`CO5bH9|5-{p(klu>yh?w81wG{#JNSj`(pv0c<=fgN`H^v>& z!L}uTXS~x1zw#p~FoOEq0s4`~pV?9M0W@m7s(z!!UkNtwT5r^NRsC4wR+!*n+o!sl zX;0^@`?fx7gxxB?=b5`?MG(JmZdJd_vQfe&G+^uL5Mp%$s!*1ErrO z_gzJ>r{D%KAXI>WD9+lgpLSk7fBO9UO$g-zcWtv|P^fvO<_|%880Hs_$8w<(c03^r zQ2Q>xEYGt(o#@_`r@-3$S$P|Fy}RCB>*zavWpRU&3`mdvgo3DWLyy4_9TB(zL`TZ$W-PCj7u-@+~^N zjHiCw87K6C2s42Q!Dom4BBsOq8lRSb6V;dC>CTk(5Uad)r+rQw=J*5y=3dh?cdMfMUXt`x>3pc+4sF9AlR(;pKm1vd}v&hk*O=xrTpU3Lvc8W|W46Kt*YPPS?@! zwx4c;b!~-vsTQGrNpqH5{0ySk8WS%Hzmb6#nEx)aflX)D;6;LzQ(L2*J_;Qx!X{~mk)DMrBBx_OqYuG(C-xCA;LWA=Hw z9tfjgJj1S&RRL6K$*B@O%kmL_Z2{`Jz)-!7OGd$IR5^LJ&m%OZ;ZkD;a>ras5<|^= zf?NV49fvA{6rO}HER-b2l6j+2sB@n9^=-`aX<)GtXUy%P8K-1@^9Ch@6$@=E0g9uXU1kRxlAQUiH=N)G8S zG2Eri?c+wz)4P#LnGH^Vo96TJx*DaR7o7Qvx{iyN#V~*=!p(Ag*vO#ViAHJ0urx07 z*c`zg1L=S@YDUWRvJ~k!K3I1C*cLes5|rXVy$jCRw5c6uX;}WjV5%ocq%ym$__f(9Gl((l!B4PSwZlfFp7E2Z!bK$RHeroT(DGP7 zV-gPTJzF<86A+VsZv%~Oq%-ZYya#2UanZI;4%r&(n0)T+bLJ$@9}%MbDPPTKyLCEv z#WiZpaAqO-i?Ra(OE2X9=F&&b#d`5=aThUxAa;b?2~kYbKJ2=e0aeB?!-d@&4uucj zB=U!Y$}c=31}iBfWym6jkI?-?-IA4G>0!|2V8{nC; zvO*kx6cpR$Hr(%nH|8z472f8u#_xl;NuJOM`J6PU1ACxRd4N`Rzwq;Qqq+w;rA{$f zZIM7Yd|J7$GEP{CarTkUg}IXN;Chk1gNsPNOfNE!*Zg!3nRmomjqVB{uhlIaFN5|A~`s!WZaQrI}X1~DQ0O~PHN)ocH{G(|ly@tbh zeftAi6&oFAr##pBqJqVjw>@&KR8k{)W*9l7-*yJpSK9`;k}DpaxXZ?IhTe!^IHtQk z`rpBIo{G7?VL+Y4QK?M4*h4i=i64y>wq&+j>)o~P1N{mro|#sNU|rH?da9FIZ-PjF zLX;`CIGScO3U%##wQSHseI+aXRuoI&E(3N-I)jgCLTE*|Mv~hNu`S>_BS_nFk`DXn zxL*QiqOrvw3)UF5!W3t8q^@)s)4z^gfy(Is9X}MT=jn60v`9&?c*Pi{XW8HJZliec z+6axjRMpy=-DDkMyokLvnkW8}2FY4~u&?XEzIMRAj-A1BEo0VoX6|1;ZssbI?hVh> zKKtCxhND(CY(ds0LYoELX42wsoK1@&zqa5{>kE!zARxTidyYUHpnjPj4`O8quifdS z=U_D)I9QdKLaCL)axzNQ*5AkLmwt%XaPa2&Gq+6u>z8@77c1kD{+o{^y_@KN9vOaT zkX^%ESzljO|815_N((RB560WsN8zL79BMgd{I?~m5Zn!`U)se#0>Hd~~^RT=;Gv;C1 z8nsQ^UG>tr>C@#@3T^P7?X+4lSsp-FFnE3es~-IAdy|kH-nK-y05rcWy~iF*@I*2R zSDqiVDGKFXjOKBd>1ERpJK6haYETdSFg()8UegTLHO=5J#~yCJV!E1PIT=rT6QTv0 zZ3JhSks??obxJz9P;I?`DlWPl>^qj@Gf6;nAQ!!{H9WS7Sn4AwQ7j-}>2$1tRQ8Lq z#&J+U5{n=tPBGpugj~pnbS_HwfjFQ-ytm+3oAv8^N|}8IgO{Iyqu37iBzJR^Rw7y- z7={T7(7^e8zXkRzq9#bxYw$Dgz{558mf&mn_DmM^ChkhI?$nfjXx@nL!MHX;#7_6y zB4i*`A*P3Jv5Bi7-^HqTm)wDgkIURSJr@smX2-x+WE+|bxv!w&P(M;|xeQubs~4)uV?w>A%0(4D zanM8ysb+>bq}J4b0b0lTuQcKGWgjE&l5}vUX5{4jfOG#0 zFCmeZQV<_!7s>1CyD}Rj;MP2FU4)@~zWIS%cx{+t*XZEOnCl^j=|Gcd zJ6T`-%D&W5GLZ~g*K@VPoV3DRDQi|fsNbXy^1zSQ;2K$;P*jeb$(NmDl;N{=Ftjtti?#rOfZO7%Z;#GXK2bXEXuYd+-1^T9 zi_L5f;uEAe)^E30Mr$bAzq$vo;GW+GaMV4AOO`qSg$mDf;TaX41%*XJ8@8c@;j6l; z1&D2Mzq+A>;bY+$6|QM0q{~J#x@-_#7)&2*zOBc9EgPVPamLvtp3U^yX*(Jzw-JxE5vhp9d0LF6L}fW>lYn%LuVW=V z?Miu)QJ@|?dIJwcI!hVmy{w$D#YyLrImCqOJ}7OwB3u7pmYiqlUQGN|L@W9-=<#55p6b1PY*&E=tjV9t!;QobA9U@w9wp7= z;R;8~TBTcI-KwVaqxDXIqtjQSkiRjH#2%O zQ*VT>*WaiBwN9WmLQv}jY9j!3zXFt9F?>*Vc_2_y2VQLPmo;}39vl7j|J_JcWB1j6 zmlVuE8~+PG`}fsjS@;nazOM`4cM5MnVOjbpu?swX*5!}2=+|Q(!U_UTR-fa;9sbKh zYu?mBaB(2?SNHM9BmOJe*`Eu+`L!N>ek}M8XLq898-@}@0ZAi=BXEv;jGnrA-s(ky!8;?dJNur2yb1$GX;@-mGqxupLAQ)+vxDNmM&#YH+6iy=7Xk82j)!1-qY{(kWF(u<|jX<4^E3|Qy zHm=mh)!L|H8>+U#swmalsMi$fk>H66p`20sJNVo8)<{Cu_|#ZSj7kVA9w~*NW?RqA zRPW`ffU`;0;TK{Gg483lhF}MOSSttb-9cnMK-l2)lbP>&;u!^r2NGFjE)eHfMeINV zHwd7Rf1>wb?f=S&-lKGkhdrO;R8PZR_+&5eZaPWFkIx}D(|J1V53(0ZsTri`GznSl zd+&s;dd{if+;hQOoeX~5+2F^V4%#{K=}!nN_d75g#l;Eiq5vy}`O)!zM^VoM*d0yF z^R_h2s(v^`xb~JQmqPL-Gwi0r$madcQUw`3j9d{OJ2ySSgqzW0Q*PAF@Tlg5+JdW% z`S%)iGuzF)364)Sq)w!I=47)A%mq#!A?o}Rz&Z?;6Wakk5b0{iq`HtS%AElnXJ z!+}yY3E|VLorOFT=fDr?=T~(lr+M)`lD5UI$mfoq3NhjKtBoE1$|DZKp!V>81cZ8Wa;Vm!s3zq0eGdSylyY zjwxcMHC}wphx+P&;97TGiCTA_8ztgOMCDCDrX|~n5C2*MCa;heIvn1blqC*rjuf!t zDl;ROUtW(>LKT!kS8uk{6HI0-kXy!c>J>nI$=f>Rv^$M`qQJr1UOw+sG`S+0lx^yz zK*4iZ=pa4KcKMy#fId&vV>K_Z6;&@-wmIOQrFStZv0^O_xGGk_8dVWcZbuI5_k7ftzU$1|9U~GJM z_rYqkBRDmGwqjsxJkC1yUt%3sG^FOsTKB;{@9Djoskywq z_22twuYi>Ikq~S=pY*mR4510sj?kvIksD8XX(ukIpe9c{SXRIw;kMBU`A891@^Z(c zf2Sck#+;8@utG2DPZssGxvig#BoUUrC6PkcoF-j=@qBgUMH6r;!!+W~wn(N5?g1;q z<-6iEfk>(skSWI6;wY#e-E9JDU#kkmxStQfy60^E0u9W(k=?8?+0`p+&VI2@akIv~ zxK0?~1;(s>^VK@iP1HJCxndgjXr==JELyz+<_R-j_l3d3hVwqFFZ(Y@F*=?MddP}oh8fA5!HnUGzS zkx{Up)#B96aMLPeCkJc8sZszdcJ&vO!0G z-u9Nq6u#v;b}ePD-6%AG*BX!N%ty@(ND&iKwGl~Zxn^;zG9UBn#q3F5=S?GGRF3RW z90&VSZ=^pGd~g;5CtLQHQyWauXeG7vWsD4mCu68Cs;sdM-dflB*vVOyqgUW6O59GJ zn`1It)GX$norSxhhmmLXCuq%Kgy(2~-n^J^8>ln`$ko9R`g&Ag@EZrNrzy)<-Sf13 zaW#BN*C=LfsJ~QAJr`Xl?Be@yZi#xzej4~b)je?^JHixVJ~*P+b8O2yrC`^SCUL6<9Xp8PERO*zIK{a z?U&x~jK}HhCVId3{R=dJ+$4WJc=6oCABq<#FV7P3`GDR`YDUE4Y7S952A{#Rk z!03oNcWkDaph>g4#XeCnX%VZ|-kKydZclD|-c9!6ptm-L<}EI+EnC{4B_7|(mL+!A zfj}e@`QmWn<72nHJfD?$uiVdnuW{DKWZYM4#ue%DU|Oohptkh7DSe=Ls2JD7-Vmh+ zw8qqyzi-O#r^9>%OVGS3Uz#e<)64v9euW37!Vh^ihVxGdnD#8471K#=#jm_jH_wW+ zpQLKbeNFm7!Q18uj6546Ba_$6zG6D=Wq(V@Ip(4GK<AwW0NdI`&{CxvsjlK_n4Nnc^xJcqz4{tO$ElV9m#Gr5?8r{t=t4)vb(h7EOdVzrq(eh)0@$~acnI|At zTXG63!=trq9PQ?9j(tVykMo!6v#z)kgKQ=46^esn7HrAY&@xiHuRXx&mBO^f8 zj7o1%lnsW&7F%dMbhQS9p^LVvK=@>t&(vFu=%gEe2#FLGRJi==om`;H(~=a}AMCwZ zxDJ7I3&h`~CzME-eNK%e z=&jja=uNcAwhhBsrklS+bw4c7)B~=omSU& zOwac}-t_z~o59VJi>jNg-xxFO-bFr{R7MzofAE#H*UpVZPUUJ&^wvEa?jgER47JY6 zxf+L%<*WDZuz*z5{E97pKS8Po$O1rHMv6wHYlF2gRVADw*izOfKo_{TbkeL*JF@jy%P=8m#k4uAPX<#+Lx9OzQj98-~7X9=Kx zNqC_5sv5S4O2qwOoD;=G;QemFnYilWM;Yr?K6LsOM0)p6u1pY9PI(P;!Z7^~fPxjQ zZK^rbfcxj}fACEoV;Sk$ZEA12?YnjaNL8i>v5_j}*K#!}e%SJxu(=8Ybw|K*a*&LG0M?4%Y1Ove&F_%$Gn|oUQVyeV5A=d)SqIfk< z&oJ>Kyn-M4ucDwWbpgo+uFkV;0Izpn>|^!;%1F?{5arGzN=}mXIi36yB}z_z3kuA~ zwmrffw%vPa?_79-Ir#-JiJc`c$LX&u%wW5a$_>o=sk?+(|1No9Fr7>k1|Wsf5hq*Y zgDIUn4Kg{QOn|&mSxR$<^PuCzhTS^P>_ldavMfTNe(=~$H_(L1Bm}`~m9#(y%?Pem z2qjL!9idI%d85SgOBBZhwX67lS9f;mn#`BY6z^ zTnQFd5HvmZ^Z};@G@Ciu1xvG3MDW!^QLR0>T%ZSn_02v9 zItSvU7>f2B?=K?Qbt1#~JhX2W)F)5>zQ4Cgz+py58o&gn!`39hlhXE~&J0H>PXYHn z9jIQYALH557hxVTJtM_`dQWd&7&S+!y!}4psg}A*)+@$1a#B};D96PWt1Pu+XCy&| z74`}v6)0FZNnoeo^C6^ZN>Q|#=^XH-oy5Vbh=`!M9Aj=;=OX%u&hHpuBi~fg0&5f- zR&=`3$6AkQhgySL*DmvNg_>$PYC&h2 z$pUE^R4OLz+n)0o{5XS3Xr2(_?4(G?eZA^KqTxj2WOMm=(i0_COG!1Yl?VYB%c;6+ zmy9|FwVE^L8XtKI@Ej>p%ZpL{v)O>l!DdOa$asg;n-1sDuQ7|*PPbxY{{ipFN*!b~ zaRwspmsXb@Ge&xUMES*dpb46vU2u7s~dEd@^Lb-i&u zA`jixV^HFMfu}&(yckVpNvUXnhCNK_qJ#+CLjx}A8t`XX34L*lD09*EFs}fwrH9%R>KMU$j+)eEH8QxWh=~ zgX;v>$$2r(e+8Xwz^*IH{>S>w(s)pBIYqy!3(JKcrTa=*OpIZ}jtYl<= z8*Xzddd}$2SfRhcf9BG2GR~F4KKPv|I!^ofRLzw0bU;MpyS196Iruj54~^-f6gEAq zqp@14&L@-6=IW}FU031AEtj0$lzBlV>=#$V zE3grW>%6}$Q_~pTmPvON{(mrP6GmNb%BU;z8MV4dT}ulvDjY8nlXmnkG-5t~aN;ff z-;%r7%Vw;6b#>J}pIi(c^bqW1s&>S=QU|)d;$n4>o|LQjc7xW4+6FMe2~3Rj?)_vFzpZs2cn&_yE#@J7fB_lc zJ!bWMr~s=erXRd~s%FmmniG$IKcQ9Jsn{#Zctuk$bYg4Fp*#c_Y!B>;r-R}O>5eui z@IhK#-+1ug!TQGPd2zKeDOSL9ekENQ(=pNtXduWSE5&dH#)*e%QGP*quVD8ZFwK?X zREKqNv^Gp~oR?2m*Z(2{sI-$SSYD7|<77#V_?r6neFFRl@037OBuj385|ER6Vm+4?7C+2@}OYYAGgM3s*lvLn-m+{}FqY(s~>OOd| zvGJEL|02al0hi_5$l(yw5sP*>qp!6=>8L$+agiXvF5W(G2tqG90>Cx&0>s~y%v`4c zT(4xqz9=|@g0Q}xdj)4+!RreR5wPk=h!=UkZ!`-8dZB@$-Xej2a@j?unHqu%_st2W zUBWD!x`2`eg&L`A{6eF4eWCu;R=j|F;#@eBP_nsgQt@ToD8tFP)of0)E4H|VBU;t* z@Bf9S2V66OfN@Rc$7uq&K<`VH^=i*duPgcd+&+ikrl*cd++d#R>K{Md7K2nf>ljqy z$rmqQJqHDu1UPKwC{?5R}1>6iv_zLoeN-Latl zB0@pW(BEl_{w~rewgBV1lLmx12`O=+NpaGU7AH)A6G;ufaj|W4gc%OKzbhLi>3Cdl z$XliJ7nlNRX;INcKmxghDsd;IvYQ)3^yv zA%q2Wmbk)yJWy{2@mINemB(L!VcFBOo9rtOvPr2gHTToF3*I#|T@#Sh?iFUOy1y{Xy8E77k&XN3AI-RJcIN41v z^M3MI$Tw_lgne-N*jQWNSXujv`fqVP#q`vX2(!+A^+sp5(Si3EiD^kXBiyl%6Z3WZ zXnn2oz)5NY@17ywY;Uho(PuiZ>sohhZ5<6~KPU8(m20&g_fd11ZLGLu%0V%L-uGv#eJ8~R#P@xbU8Fhs7E1e{f_txzA;D+& z6jZl=NrmTAMe*zHH42ixZ9U+Oi-!aHyY02^x}mRyVn}7Weq?|zFaOC9N2H^5iJpAt z_Q4wg=iQdm{Pn>k8+lzeRqqKXt4VtuESEsTd-(5?B?sek{jC~%4RHm(*b>(euF!in zgJ%TNdjo@ggi*F0CM}xqtz;9N-C_J&$H2LNqIq`&SGGkbL?H^=bqD@>j?mUQke8u; zU%^Z-3h)-<^QRmCsP(IlJ8JzxoVM;ksKP9H%Pz@pbzHwMBCa`H#&z9#YVX65lZglF z3l=b=JQ+<-26@jmVEmS}KXh^OixaI3ezMmPUIN4?5%)2BFN}SxA?p&v@5!~(6l39k z#Vk_b_=S#%$8RLkjR_!!&3Mn;y9)1SPyd(Jq!H~ zwOb8jXCEeS(edsr+0y`PK$O4Vo(|u}XmCIYGF^8;dZptT-6W?&k3Nj-P0gqV{pmu` zgy;)!L4oFlcfH|feXV1-BwRq>s14o#TwP4;e-ZKI!v_;VrR}{tLTJZfCH+FxJv!FL zV+wA2s&7_`MClRU+v$T#t|hv;Sb+A;D@dCYoA^SX^9NeS0$P>JCFjYEd ziW}I$OnZ(0?!(s0>P7@twrp_fTtR9)Of+NkTmrvPGdTb#WWdlZ7WN|V=@9O54Q4pN ze`-fDKErEcrEwm|KgFqbQ^r@1@7EX1|+&%gO%6odqs|4wJ6kf zkDE5V-_eOatXeF?7~e zn=hGt>|~s!?>x<^!3+jAbyq_>nH8lMotsL{$oe-)x2qkoqcgK&B7$ZT%!u2pe{C=} zfIM9BJnoi2t}Ya88{PrhF|9g{_}B2D;9oPiqP`d=9HliYmmRJ_8;?`o@Qvao^?fT@ zUe2Qo0D)mW312SxBi~4PQ&@l4)4;L4?S>HEO~+r4GX)G@Nd6A2-24P%FZx`i#6)QE z_&fve@Kda3RAjhXq34DcMvD^Ue-U4QScoL5;b-%x!VTQHqYW=yo(qW$dKh)#>yMAR z@aD}=dyii3JpS)DJNvtDcK4n7KhcD}P|9X(DB$w-5aD`X_ zBgvO5YY$d7)`%e5EeUL97wD99ri9S+q?;G3e1Z8F8JPNUF`A))P0hq5e}o3MnEYLG z2selZaNGFXU%C_h}IThAJ4SE~*f1P}N`eMdcc9yohY8vZoa$fXZ>>6JQ(mTf^j)%Ve{^r=5 z6U-S;8F{@Zc(FH(=F4cC`#N4Qd@~hn7Y*p35{Zh~4*62e9aRGF6zZ^!YKICFAU(?z z7ZyCIz%rL9TqD(67dTu~JDCjb!=Fs^L0?mZL*yoZ+k18J^u=?2e|!p-O8ySh-3Smv z2kr$|gFAXSe>_I>6AAH}dr^!t^9;iP>h36HlC!LwfNzPy_w6eGDBpGy2q$1(av+X= zUSfEfRSr`_@K0tMdXi6CWikY7YkQEt%aXU{RX)nzE&+$4;{>Dhx|kx&l9PNf=Csm) zs%LKsE9iI|kZyX~fB48J*(vl3`5xY-LsLoX8rgMvG141HI~6oFb)#LpMkDV?M#`LI z=jml$jJp^bVn@d{Y>m?4%B-bpvBp_hS4Yu-$*Y8L7i!F*93aZkf4I1UC{Jif?-$104h_K- z!eNTHO-*my~C7NLH(G@nG z7jsho+TpG4v7Or`nPa-`mLgl;_9-1ktp4^ z-YOY{4Pfk$e{JN!w@8zxd)h>$?+7OQY9Sf$c}G^hgA2o&YF!s>4YdRldUXQXBi?D* zLbt)4m#gBJg}uo|J73h1`hfOUS!u4a;+2R3++AtY0S1C%s3njIs%GPuLX&ENE^K&# z4!lwm6Yb0D`L9KB0fu&uMnCdBnaAgfpR?rtgYU5Mf2VuvYu|N~M}~AXiQtY=>C6s{ zIzysoCIinbFcd9_0?2?hvOB|UZ8SbJ3`k1PH`q?F+-*$fSWB}pBt9aMU1Z4f@o#n7y{~(B; zzPm2`MLUcm2$y?@6SY^dx8Ki;sbaVjmftwoAULwLk2ekADm;fH^Tz$tN#9-7^5>Dg z0J#~VAbP6?*W<*l$pKwZ!|X$7s?^5x;J)v^c>Lr3-t$98wU%4hFWg?yZojKr z^tEpdPDJDLcVrXLxH%sIiVpM>%XH8=e;>ggb`IXWeDU=8;ohsgzbVKE4yKOnNZ=9F zg8e;(35B>N)Z!k87F8Qw`|hHA>Aanbz6`JzL;mo^kB@&?5Oq-pd_h`D{6Z@fO%G%T z4Z~6txr^cioHw*2_HlZ8@MizTqo>dI8ewBfD?C;S@`ni!X7V8)wbT9wkQyI~fBw=3 zrMZlYy#Jxh2k%z%uG&0J+Lo*!FL%z!q7uPb3AHOVSyS3#Y4T!hK+VJxdqieC^ZbQE z@5h6^1?cNm0rFN5{?C67h_D2_QpI9!$B>7Vyu#5s&lQWX*+%4fE_HCWKb(B)kUqVT9nhyq~JiWz}ye}71 z=&dyw@ot=TR$BTn1s*mBMij;Ydf9%9RDW}Dxby1pZ71QM`!D{sXMgQIf8Tw(ZSh#ZS*aJllJ6_~FNwA6`BE{s%3k>&;_g34&|8EzWA4w5Fq$ zPBrax!)?(7k?aP~3Eoyve+_VqRpaN>epv0tm$6Ft6mShIAPr)5^b78tI}R-Ekx&bb z1kY{~7aveGe0aIn%tk2&0i{?=hfr0!&TQz?-)YBo&wtE-w!B)1S6E9w=4Sm`svlt; zdWZ;C34!=z!b$i6=H3T2{spEDoy+L~LW7*YlpwT3Ms>E+Z!kRrX^!$60!sOqaDiHB%gtz5 z+x`RV=waH`mV3Wpf2C1KyS}lu;t@b@vI9sAb>Su`nr63yClMrZ3DkpyL4Z*mGF8~# z>8RUeeKTi25X?KpC6_|+3iCf4_h=JfWT|t)z9A-U8O*IM$JR~QLdQwL<>=K_wfYYM z5jg9yio+G|KWr>m)l;rfsUftT3j?p%CkjtO3~^M~AlR@+e`c=r<0K!HT{v)Rdj)K0 z<2FBXJGYBt0J#UWE0!r|dhB2a;n^q>ueJAg!o z;JSRS2qztlRWbKHe3TTpqh9z4O;r`#3SkT6gY1Ode}=siwHShg52*P0&|WvtpBwMD z1-}jW38&_;JW~p)m}zPZehyESIUIr}f#dMi80s%r8RTW1Rj8Cvh2443?=XDe{3c%=0~iDvIO~n`q)3{c@RfIJ2+2>dQq~ zMhCI6#o+eNJd{jng&PI9!8FLBF!jV@k8XHbb1wMpfF~JfHg7qsZP+6t?i978u!A*T zHQ6yWI=TgSn9;Qm-3mo!DqIiwoZgHZ`~1mce>EiuTl^j^aN^2_{iuf~@kEHsmfL91 z#0{k%Q!N1;zQ|aaYm7c1#2t4@TU9tp=5A0Pr&neW(f^Zi?cn8-{I~-I!>*#gEi!); z5PV#%P=0*5e&bTYn-`W8@!nQZpF0E;@Ybt*Nv%i~SpVMrznLRTK%rK9yOeDgu6c}~ ze@#m|;Z<|?#c3#B@}ZKe)xtKarRbN?encNJN({!N4yGu!DCQ{sZlfjw0AsreK%>iD zXj7r@l9ly&qSlayymTGvutCwG4jt6-vNkFPGq6|2NQN@*vk>irmbS=G?A=pLh?Jd# z_oJ=^wuD8z9Ma;GD&ndMAqX2XFA7C?e@QBqI|4p0b4S`-K~0I3bqM4|9oZy6Tg~Qi z;OGslFC@7@Bg~I!W(NI^pq(!|HAP*KF2F5U!Iz2;A(#k9Lr7;U=>5kG*?w!>?7>!z zdq>zDlUty!5;Enas9;L(E+W4SJX{WcNl=cttcbWV|=iG~8rpdiR)1LZ@*ew2Lr;6-YDAKhFHIVWzc zsz-czJzIZ#W+iYGqTP?5AJ&MmcE!M*@i9DwKm@lCo!^uWgd#evs`6L_Oq3(S>SI{d z-|cd9MyS6XrDxgSVa~vp*YKq`e}I6be}9V#HvfA4RybG&Lun8bLusD18L3cn#HR7S zOvj@-;u3ws$kn`y*SpAv`c}L88oW)f&D-=k&}9pB6$ME$D2fp+FDCa6cF$cNxW`)I z1aZ0^a-trZ2!kSJHuZ2GtsQsqiI27+RZ#SGtSHmYDa_BRi@%N(f9+2ie|J8JAHrtH zP=u`zpM-S5uF_>+EJ1w_R!;1uU+i^Ij5{a`@}r8Pufw7)RAH)wPsK3u5VjS!@y#h< zuMRz5N|u4=A}^LO@>Hy=6|i1c!FnBsWtbp@b-v~=8lLYEye*2{Jcc2f7id>h>VgR#?*l> zh6S5-#{?gdBw6n;=x`Z?rH9^W$&{=xnpNU?=2v;`S9u+iQ8Y@Ebhy!mxMUE%Z~ZT8 zYOpwb)0}}pb9#A!sR{XvpRX)vWyU&a$N|&KVRW>1b(K#(VtVUnk-A7HfJpMzb*Lau z5O4_ruZ-xNGg!Ire-Ni{MBiG4y+sUj_{g{JG z@?El~wxga0%BJr^GDjhvgLBZxk1w4jU|1Fs8W8>mj%Z_SSiyz%OgF}5A1gKbK75C_ z=$+46e4FrJOnhKWD8*FwKz=MI?V0*ETbj2`b%&=^KQpyUe}aV9;Sj+=ffyyFeN%b0 zl&@og@8qn&^qyBka(PC59J45+l75Dl5UAuyes%^2E3$;RHsSEV0kl%NwL&i!dvQHv zCbu{ovDOs!`J;5&7R-T2xtxKIw5wp|TWMgwf}0gZ&Qm4-;O0QL>xu-dt9K_#I&8q{ zqJktJRSOKbfB7vLR8>@414QL${TLLwpa?dIh3K0qHb-L2vr@VYH7+QDhSECD#u?n` zoWoRN*k2Vg`NnTP@?*bwG58uacl`C!MOff7j6W$iH0U(=YijUUy!U#%^~kTy9r?96 zBaap@xNODlS$26>0>WgLNRoTuXy@hMyl}*!p}AIDe+X2Bh_x#(-}pg~t*zN0AkEF@ zVcRqw)zvL(+uQD9sWj}0mkpLqxDevqpw&TH^0B@{8{zlG&YuB#^;_pMOw6%EiFL(J z7*X-KhWY`;Rp(yvE#Svxx#@Uki5DU58K~GfzkiLOK z2?l>S`J;q_esh!`$E~IW)f7^T|40X%fzURpLqCG|0(NLgyj>3rEslwZ5rf+ed;m9d z0&Q#bU>~pD3b0HZOQ*=u2>e{yG>kAYAc;84e-=HkO778-xq7B^61yKK#*ytn_`PCw zaohS{yY~6i7o%ik19uXN?b2I&<$0U#-MzJUy_2`P%g#0LwFq<-l#%Rit2_;6*G}T)~wAC0kF+%|i{*xi@7m$zDgfXa8 zstDoHo^Mh|zT=%5-f(ny*Bu38kN_M>=3BI+zdd_KB;d&oj6vxXf;@YGhRdXwV`9a(Pbcz`_c777xS#ZXf!R-Sy>@;Xs zz~6C3R@%C}Hv(bKY(Hb@;+*kbEr=q6sKv|NKPU1jqGGTJur5?lU*L!r{ojy3_(x%i zfXKtV7F~9;A-2K{#+;xpRd^Tge^89cyR;W-isw+n+%;l^em6(lNRcBz{WvV4l>&I( zb=q0Xo411yLN%W5Qfw#WdNCU0lXfd_HKh8cFFV|C2MktU4neO7)$B!?1bYF^j=mmL~_Uz5itnBku!8z$c&}w zK!rDa5R%(_=i#^=G{tY)*=2mgUygf7ziov|m(uhW&x$Lp1I4^Mavhby>MFtg`*=NE z@r@b7_@Pq&`ATiHNj2PHe~pKNTM-KYu^-&8R6G4tgevGHClp(0oLRjgl^5q3GDT11 zcywjyMZBU`L{Nl&0ZyXliU+$SM`yI#$H~AsWy5G&3Hf+48PpubxagraROfmY>pu2Z zb#wxz$7wmi@Iguo@l6lLrCp$4XOP;GNHq)Jbr~vWiH)IE(FZ4De_^bO)LX>mwkm`* z%hjMrf*&Y$#5kjka@#8z$^hAad0Z`~qahm^gW#&HjP`hXsvM zW&iFp7?DNEAEW3()Q@o5bkx@eCr+do9q$s|_9zx+#*08Wm8!?{&bGZZ8Skz$NQ4bP zY70@S2B}GJq|88(f3S)tgRnJIK-4}MgRd#kV0r>`+h5dduL8=(`yhlFcv?fHenAz; ze-|D>C!FQMEE!b`f2@byZWoj|?r0yJ4o%ebs^I}EQ=y~{n3`1k;~C01+AAVo!>t@k zkx4PZ6c?we#(78+r?Yd1_Y(<|%EAu&U>Do5*&MPtak&mre|kE}#zt$)BN_N<>dNGC+?zo)+P>5Y>{JYL}LONFl7$Eb;m}*;Q6>j;`1X`pjFQcB!XR z^(G*@{2WSUGv&2`>S^~wV)``1Mr)s%2txhTkJ|HOOSrYsC*eAr{aH3S)X!XS4wE=_ zO%^fp#LLTOe`+`q(m<{#_89MvJ7D<@riz<#_{h`rUA7N9SlZc8v(?A3#@vb^b3VM@i zs_GJ-e^PrcC%QBSZ#%Vmp#)&Cm2AMX*M`!lqiY@73Qw0&D3J)nj!91xTlni5S2Sv^ z+tL}_B!|_#gs{pqQz7$qhaQ}yW!{tVc|8e{UGA#FS_<}x0h|@#(hSdqk;W3CV;Pf| zX%{2S33!7?(9Y4Uapfe=X!BNtC)Sc@xVLNpe|3O!2#^getHjnIEhkkXr(O%!wjk70 zO<%zn#0IX5zW+U(9SWS(KO= z>eT)LQ)aieTc+54ZO2TpA4iG#{+K$qfACCo&pcb8dr?I+8Z|befYcD6C4%?HxGe6K)#76dZ#acn9Em#f+`cIVmEFkpvyq|)CgB)bgMBC#*)(uV%QD33c!|=X;6bq~oQ6v;HbJ}{j_k5w2RQY*ZAs-OM0@-BY z69(+?RS>W@9Zb@T(PpB?e=_S1i>uJLfU+xXqL{|7K>>np!b4P$Hy9;qh5ru^ZT zE5|*gFM#R<`&l<#4SeoJbJ3Z+Ej<&<*sXM-)MK?})!vxejkxTM75k%Zaw-7^09O6( zIUc&3bspF7VGj`Pc}lxv{vADR<9FtaPA5Er84C^#HSfcdwirale>?_^UxjdPnhg-T zx}Ho=P6qmfntk6!m^)8x*C|X-I7~j30TRTsOV7MZb`@lH=-Tya-?~5f1*V{#WP=&? zP3Oa`vZnyQVHPC{*Lyl0u+cb8FcW5Sg~>#ra$swh0{vdFfJZ6hA3s$PhoRaS$+m8U zG*VD4=#tGZ$QN76e^7oAamkjYM2LR(Y1Ba*T!Bjr%)~;b#JqoRtp?#Nv&Pe!3yXL4 zNh5WI&E)-@a8bG>X0EFYYgVz_iEUS;&c4uwrQ&#TV0B#kmQGF}zanU5Iw)wF!xeqG znjz|zlr(Asp;$r;xK(V)(8&|+9G#yy%I8&(ITrEN-B?rr7F_0 zM7T-{&FEghf1n_^$tt%}RSUFz@Ssy#qbRe$1vB5Jb~GVp*c#Y>J?+Sub&j-zLEdB%qGS!w2;BBptle@y_pMEoS(Ul z&s=;HFFs3{xKt^PJXf1v9~gs>_6%^(h7^{kaDN(dLu48u14L)2))+b=%XO&`5x#!~ zhg^I=e-Y06JK$|=XhuoU>^(8iEk|?ib&=t{icBG2V)-hEGo7`LGr!zm4w&jSHw$b% z&W*Idqf0z(1LTf{5Ew+#0VWtxTcC2L@A*_R1B6{4`X;4>&WX|UfyQd#JIs6#i=*J= zC=!U0?yR{X^v9P7h?!(i9D?de)KJjI8J@}Ze=xW`^;eIEQY~Am*H^_DGi9F^{stS# z%XR?PA}O1PQnm%9u^r*{jV>aXiI>CJfJrsS#KzgA=d}T@7~BLgB>;nmAv1^?kJCYK zPA$sD!qINP{NP_kIGw_ve+oz%BeLNEaWoA1#;XLmpf;0M3q>H0re;JMn0&aZx1$}M ze`CEhNkEj+KJMWFHFaZ_$|7K;ccCX7-*JQ#CRs$G5@CNQE^dl3VcmHe;wp}sd(z0a$rbj)HEe>0^A zcvNlS23bn(S{@%Nju*3+85cRaki*ghb3leX&d!&<74V*k z6;OclYoMFr$=OMUtEhJ^-)KpiMiJE}G!`b3roJXaYNVEXD5p39y5Xakg6RS=3Ck!w z+*D^vH+)S-CQV>PM(Vn|G*qc4f2Qs2P;qcL*q;e@L&PPj6(3NDxBS;ux008-=ElO) zA%r^|HkX2$gaKB=(8uwU$vVFXH==y_{_}-SmSN|0*ZbbVWAF|gEC|<5(lACc`UXtL z-m2s;NR)nBtHD8ZY*fs^J#{+nIyzshB(JuzEJ+zx!ZA>~-D!^Hk`-=Ee?0oGIyH4D z201yvwgyALBfhIdJicyR(|ok*->Dt}7connM)mV3gx3)WuPY$D_92+z@~=yV%Sdef zFlL$fYvTkR&{hqpr>bKw>M*zy@C-Ce9f-8R%+fW1#JBCyZiDdPKA{Xek|hEdg?7}F z$&5rb1QDFjLb1V3S{phaAXOJw6toBfge|ouzJ&yHdYvyC- zfu|F+D(^8j#YkOt5nKATTiQ=90-u|x-Fk(J;CS7C@xyYn>}2cV<90+BxDF_ z(Q&(0_>H8Lh{0Q}f120t+gSgRwW>Lsl0tVI7$R=>o|uEux71fvO#Ej9#0~yj0Y}b^ zXtEl+^i>|{aC&e^cORxZ?)c1E9=3sRt@sIMj+=x^rNg}nW&I(2(aKW>#9?LZ*71q@eITC z9_+LvQc8Wn)!-m(sEVI3rb-EZerPT`Pjj5Xc#`3s?LKu{_%FO`H=g!5`|*6|>rj>* zF~@Jezd1Iu363T)FMFRR)?06$yk%HgnE5A(OsypGe_n_nVAf}v8?_8j6@L z|9X(nWjcMM5$r-n!~^v`;krsW97K3%aIeHmo{li#;@DQ(GLf^CShu*)wVk};Z?Feaqb@ieM;} zJMg*|%vo+UiOEfc1jM)(DJdGoDI8hofNT0R5|Y~X&hgeb^6p8dgQd_x51b1Dm$uXn ze`!>d_V#Tsus?X`n`Tg}QWl#r)isU%fX?B)b;;%`uJW12yXw5o@HCXGJtGwhKWvus za6h5l7tK+XiDGM>Kq3W*);cj!(o^*yjpg)e5Q)~rndQUM?2?Dfacim!M2s^+>z-xP zu%Pypo>4qC^o$As&W$`v_2u}o0Y}5ye{>_!ZW;k|Gv7TLfY0-c9xlcYPVnIc7-Eq@ zu8b6XyHN{=?ez4c$4w@YcdvLZI&$!Vz;y`hPW=VY2)DqT>Sa{Dlf-hld_0rruqJwQ zS8<0sj1Ol+txY4aMa)%%06R(%#nCa*%w!9uY$4A4( zR}V9*E_6K*j4dWlue06Lv&RF%C;1qZg*=>8LArzmE%e^`jzxC!Aoa26)li#%-ujU6 zEk+F{aw|dXPP|&x2TYtE1lDu#e~u?gWA&&*wpbpj&Una_rSuDZ{gAfW-CxS6KBy0Q z{OMCOrA!hYjIA0>76K(tbMQeMOGn(e?am5I+^*ZK5D{BMj0|9EjS(aF#s(Gr&4-L+Rso`nG~ZpybpPE;w4W?K4w2bf8sqv1lM6i zWvUv#@H9|S8d8rz+Od`Ot)!iun|ULbg`?%={CH`rF4Db=YJ_Nk5FswQG`omZ1w-jnYxpXCaf?ikn;pqVtf}daZLdCT(qPSzk)h zaWNhCwdjQW?qu^yUednSe}-%3WIw#cHF?I+egCXbli(_y;Z@lSrOK;DPqS=*1|fE! zX1H(FhraQ&g7Y%aNbf>Iqr0&U-96|&7}}JW=njfAvroboYRjdKz0s?{_l*7^8fWtH zbq&=pKk#m9SVHrXU`s~Nsw*p*oKFka%!d8j)KgoS)7v#ThD*S=f2uhh-Kv@nMqg9W zsp%P#-tts6#K8b*^k(&ip3M+K9GcKHFqQ`25r-0qPv%7#VLoU*5KPE=PDzo)1 z?n0CM=`{y=;TW2M>Sj*KbtcuM2FSv`-K7!`bb@b;7cn=WGLsgQ&4`{KA#qrUGapui zhufzy==N5R$i#gGf5EN5paJQWih}dVL%xxB`KZnlnjtC?##e|T_9b6}$%z%t6oW-- zk)6k2@NHx)@}WLp4oB1UcsjlT?zf3Pi zoF;lwg%l7?F)iK;pCoH@uy{HNqC9|!7j6$Y9ivw9MkHFlui)Ie1~esg#Kh~{l+Zmr zDI=0j;J+#de=-{WLw^J_cR@w@d$No!Fziutk6T^@#A^xS^}-;uFsUC% z^4283FmWSiT7t#~C!%5mYanHp&Qca}l&k7ZEKXNc9KmI;qW6yGAH=D?&dZ0@Ld7`D zA;UaVH4lp&RVDfGp#qb3D1b$^O8JXz#wtoC{dQY&e`yV*$o^e_0Dy~Ab^etq3Zkvw zy1TNz4y06H(uolw#@407*@kgm5}K_*XUF@~rM>S0>QIdqK%dSYNU#Ya?V`EIJ$P)3 zv?go4C9Da() zWrMbxf575)&k6Nf%Xofan0_xPsa?;`ess1sT{76l3QC`=bAme@vcOR)r zRAT7MK?_5!>kpb<3_DtDx#duYx2u$?6BK>&aJafxr|odTd<69k7H~PwAh1*;5#w-v zP|N$T5KaIg-4UQ_h1a|YTkwf7>|8~kU5{hBf4+@4ZjNrD?|$q~D#XCdEYBIgOX;N@;?PBFoJDe*3gu4 zf5>}dE?Wy;`jO4N#x_-*X5rcnGE(p(J0462GDVtTSW;t@1Wk`LbdH&!%~LMulgwTr z=+hnswRuZYi0meIMZ;p^7o)5=tWyMAjC;wCW-9?ME`7Dz`Xw8`TQO)tGadFufW0=w zSIvjnO4^6SCl@i92=`aV#q{jl>_st#e}1mIGU=dcQFZMyFQ*vTe>zM@qbwb0Q)3-J zgjB9%3*WOV!WS}&b1i3t&2G}+S0fgI&FUJSPfdq|{36G=2PbAnnL=lcU+(Fiokcu~_8HN((gFgbariJ*CJ-I)bxcj9iM;$rTIbe-mWH z((!moY0buP96^8+28K<}iYXdOXv^g*;2l1FWaIc~3{gHQ%m`T>y!78ygX1mSAH%1( zjx-u3uTeiBPVIPM3MnN}-bMhuC58nazSKI6mi~@+A67Yg z9XxgpHp}`{d7*(j)Y{;ze@xi+gi?PrNPCn%@EYwAA*FvP2K{DaKDQ-5@2Q}|a~z%o zLi6)a0gTHNAb^p_BuK5{0r+hwphU@YW*{J6uQtq#ytw+)(5QK!RB{vi|3FzO?|03>5K7Q zv+jM2t*BwMi(5-TS}kHNSzr4IYlvO(#rS^2O8;POzPUoQ1h$@rwhCjf(HYRyzJ5T{ zE^=TV^i1>7$7nIle|n}{+H@-1L`_;k;QQJQ1`}LZyWvP$WI4ewq@cX;y4|;D$#5DO zE|jmRT(h-u>=bUUl5iuTO2PnrmE`I06m}M~k5x;m?#Wb!qG+JV;D~*UQp4a&&UU~z z3yhi%H=j)aoV=vuvb0!9hQ5dD&xvXUl+m+{d<@>YCiJ&Sf19^{ayz&LJB7Dk6JQ6q zdRIAc@FHB{+wbBycL1$7W6@F+ZSEdsx_7&pw{vB~s<-fE!+H&z*}{2g&meLpDsa;*f*jFcetBib(%=KXV*1fq{MNN>O2&+n)V}O;lkgyccGrksi z9Rus{x4?a^fBRKE_6GPSl&weKScGnY{Oiw&{Oe6o)_UBB>j&2Q)T@WdA%a1S0%ywD zrXs$vi={4(dwDXVy47!uChg6W_z~{JID@*?<{WRv-2{VE_D}0Zxws1@4WNyK=JnDr ze4I8;P_&AwujBL)t_5<9kCbevZ`2o$yBhd|6MnyyfA(^aW6(DUQ3|{1RK_fYXzgU1 z377E0R4;UM7Vt@W3-4~kVSddoK7}FYJT3Q;gDbte6(YZZNhioDH}-t&bnw?8t`kI* zg=-gK;HdsCQc?}p=P?+Cv&Aal-TiO4R>Opg>^(>NW~84ij%8Cw8ax7+ltZ?^6@}FxIao^@TfHx5+x8st z1DYRp==vJvr{I5k2`*H%5M3|-0E%JK=BB@ve-VlG{zmZeXk6t*2cM`X9eg0mOMwS0 zdU>cO`yHo2HA4l*?+mWeS&df}e4?h`>f#PvWZlJ0qt!AZEL3UiBPuUo>x;Wa*+u4K zJfl)NK%r!B3S`H*pNt1CgW?L_jIx-wgH`gaxQdi&erh=1mS`J-)54~vMAcC<#Z+gF ze`)bkb^Nz+`*PcA?)8=8v~mtF-YQsc^$95aVe2Xhjuq(m93!ilu9bcMR6b3nrA6GB zoFPBSCRdPA0Mpb{pXbE4(x6S%(uI(_{Q&s<~K|hPE3d*pUah@y;MWq8ysdmvH#~EnBvo^b}LnN@XnIrlo5Di>T`t9x)AB@K0y9#eMRV-PT8C4 z!yD|+T;rSLbuZiDZH1FY-pg1Yi%L_Q(Rt3r0>yMQykCxKIGZaF)69V;Gl~}CgO8-D7}*# z2zak}b0d_gdAk@4ruuCHF(_57cb?Bb5Q^605~SU`SUlQ~rIT z52$q;j<+WiCD7;`-iHK-7qH>mWaHD`?}zDc9314G>-A&>r79GNZlj^Pe~thjg`jHd z_mzHQ|0;nPJUV!>7z_vQ=R*vWUv2LRDN+MVN6Y_YLu$h=NY(64q-0=kZsKb9f9r~9 zg)<#qw@k~tXKBb?ixWi?f)~&lDulf8-N*2Tt0_?P)ufttOBUCPI_$kEQiD29k*0WK zyY(X+tDu;pt;Lg?V(ZDnf25TUTZ!6tsRggKR6~dG+2_4sS|_r9pKGLHp=xucnF9+L zHNSlD39fU}&{7l&%(qPsl>A@sB)=AgDo1NXvWB`PJOXFmsnS#j$$5TuPNuM70Z_ zEz@QT8g<*WvuklI>Hv@O*LzfS(P^D24z{I3*hL$zyne==u-;sh?h@kl1`S6A<- z9~d?Dml8>E2QS6JWZg_Qy5Dry_-Q(woEPI#Jw41XlAqLmxsyCC-zg<5d8}mC5Vkk_ z8WQ+jDsg`@RZ>ucg^0&PMas=&|LGw=qo#i;yK1PvkbADA9ZBH>k^!eWZNt8;e&ibV7knu5T%6yZ<1wG-~m42_-;QS1I5kc zT@(Irj|0mWSHqWDoNp(z3Aa)1yKV_*Ep`O$>pjKFf7^+3*tq}V`QZ=h;ktadyK}gw zo^8lyKfL%6D&Kc1KYjiqmi$saJ=lBv;`y$6`oJyw?AcTE%JV*4P0-Ls(ZUJ{Rf)FW zL4nIX+(pkJ-}As(>F8~VF{piT*|l0MnBy#LUK4XwsXZD@)mE^yIcDHxnLwBVnVgJ3 zytEY|f5fZb8o49@#zVz_e?4$VZ=a;9Wxjc0HX?BS7IzL_cAxJZCcl&rY7+Jwur8+H zzklYWh)T=R^K9~0RqPeKQCO`0@6W3bcU6_2+wGrM9{${4URupNK@~WCJs71!r>d&3 z^sxPKv;A}b-qO!q^&P7JyorC*bN=>o7hb%-e}A*|aOvTyk2_vhIG;>Lo2#q+qNl{w zpeWUHzcR>A#_4$0Ju8Z{LDqw*tR&g$Sw30iB5&Z;8|W|oqh@-yET-e0ngf%If!hp) zno}gXfS4ajHVkrYWBjuFW%qt}BiUG6`!Xp)$zj*KdHYzslWg8f8jNLKG=WNKOfG{+Gl5Hfb;j?x4-}Xd-#@p z*!z%v*!ggN{_w*OKRo#q+#{No=FKXjK?&pQ5m zf6}ZU&khehJUjgG?Ab&3--iK0M|du|M(LQ&p#T_79!JK&`wUxpG0a|!53h>dfBY;* zO=tDz{?C2I-2i4SSxLV6rmEgy0bAxw)>Qc1zmauoDnC&i?$!O$ty@$1AiuVCkCuO4 zIev%`zG4U~s&+^Hp8$2LV9EBEspha4{+f-8WQbb^is}x9qV<0&#(l&<@$T`xqgJ}| z>(A4*wVkyU_2H74&c`rOwNCP0H`+&#n7_g~hU(`(6rMnA;E~OT@UIeMe~8QS+S=xt z8aMi*e$fy0uR`P>alioako$6&w4WZlNXiVX?P{%DijV#2X_-y-Y1Dt_VdsHc-?;zf zgRj2+%QtK4TV+p5@Y(YLw14h0?=C&`fZ1e_O3~8hSI3Cg6h8?;t-@DgtfJ1sERCm3(-r0H}X`rK&8F zzkIc}9%u!O_6q(-Uwp$H9xB_OYZV1w2<z&}cy{{(;kQ-4{(XYfsZS!%ZrKO{@|f3v+Q{sk^whQ$*8 z*S0fJ!KTTm79!RBKj5{ugenwiiGfWCEMzPD`zyPmj7t^#X*%qwa_zz z9JOdsBmk`rjT-h<_2T^o|GRqZ`)D7v+-gXec~#W%`u)n$Pscy~w6bR_{iJKvSMe)U z;bcmf53p~y+rDV$?E7$e^m@cPLzt8^4$aVf!1-*QLvhSaKK|&>&g}N zDyxL$<3*iv^|YAi<)L>z9llfZxV5|v6Q-4Xr$DW%&2Q3Dzm8$vv{u$1+~+qd@M8S| z{Hq=v2l9czK4z$(4-v`Ve{pd=`yStwJH!3~eS;|h z-2UMQB@4?B`}uIHSpUO;Qq_lj_&pfpCH-h&Ql?3}^`YgYjGhkji7593ExV;>SB6i^ zftGB#8&oWDAYNwogV&56y#6ZtGI))BfS32b${qx7checZ{L5EgM&9m&I)Lvt9(=Qr zeH9dVouv$1e~sf;nY`NOZdHLEJA*tevltOBz(CZxu#{-|En$I*cNbI{s1Uq6hj-_S z1i_m=yy>U2;KeSzhyc5SH&M%RpZ4ebg;fN zsxj`$9K^X`-B`eT-C|`I8ICU3sIzuUYA*n0K$*X0qJK!ZIdw=9K+)$9<7_}VP;p%` z7v?26T?9mF41a%$DABe~{m0i>5a?e=Z`%7qNwsx>2>ki484CMRDg$NMmu4s3f(dk` zX6?S3?R_J|6IX^SF#W7=D?#BOltj5u(nwWys|BM>%5)9)@54XBm9Qd|j?4g#v{B`j zBe}%`sk6WDf+w`*H$vt{3}wGWEtUu8kaC@TSQ$){_J8+3Rr?Dzy}LMNLEeY1lp$or zHw!~%xz+%D|2BxvngH%6pMV)y3YSXbSa3x8fWRkf|2FK{2NXUT1`9TRl_ZOfE40*L zV1HU1GB0NhfWLmd2ylow@{ep>JW*;K-RPbn*C&6%i(kn`lLl3jAKhRl`LbD4pQNn^ z4cltc7=N4|&UBJL-9VY2L863N^4)f_2ChHL==rnKiaEmQM6Xb1*~QxUD$W$pujXTY zc9wk9=xgDBJ8-T6Z83HYMuDH5AjHhNY{<@$vgX4gmlanSp>tAmJ`+0iN#3*nL|11XmG965_7pDz? z|9x@b(_wzy0P_DV2$s#%5y;}VYozOEBY()bSYhmh%;0zwM#gbCyJ`u06a3WsZTUTT zxt|YP?kUuC1ooV#;3{}F&dM^lZ@0Rdyv#Yt7+v(yj>m94{0c0J3Ash2ek{2z-5Xj00 z5R`w|Psex*5Ary{-Fz3=c{UiGPJaj85Pg5ZvWw9Kjw$$}y!&!GoR-F*yovsmu>w!= zPJHZrp-?-8ST38%%7*_ETz$%CN&>%7rBsPEzW@xph8@K(A1b+&_wm$Em4WgVMc8$q zs-I;xeo6%~e^ymQ_C=q;<2uH$+6@*$aEF0sUGiFx1u`sM6C=bY42U2HNJ%V*#b&C+M@0pmRGtPAP1M{ zD=w(x>*ej3Q8xngjsq3+%38SF$y!5gC>W}^n8Q1Rd8T(Pp!60c?RL%~%%gwtc@85O z*>bD9lH+NQFMn*pXQAtoX5Ku*;S{Rrjo7NwO~S-n1mqo@4}*%e=@wlFW2n5~4O6HF z%D1TM(~(4|)WelGU65f%)psmhjAoCq2&*)a@~98JflDH=y9PJY_A(VyPo0urq~JuZ zIR($1xuQq+z>{0)E~|Jv<_8|t#JUF#-L@3`_KVU$+(YN?EvKMgTD^OucC8R}5U#Mv zKB-xp!KH~%d(oEXbZ=oUcqjFOi z0naB!ap?RKf%Ery8_qNsU_*4N#S|T!|9_DUO9ul9bkvVQuyJ8aD%9-0$;%zm%xF>d z?W$paCPi3jI}WUFSK}hluvyzsW6-C~K%W}Wr;R}efji=$2L|+@F=)Q3+6X?E-FB)r zZfWxCMYCq0;I^&Qd~C}f4<9#WD=4}xD>iPXAU(TLJ6v|#soJ=uQA3s*S)Lj#z<*S< zAT;AFy?Dr~wPMSUBcg+Oeit(|q7=``IO|rcI)o@jW+k(QBa$0FN-{C#M^G_ZMo{N6 zjFVICVlgQQrfL8MU|7Q6;8(6C#)Ya{BBv+iE6}gnbb&wI&2nsls5O`2qx)|!%Lf`r z12coHs`kIdI9fNdL&HRy7&YM(Qh!mW9C^SND6>q5M){>w!+44jP@vihR9k^+Ix;%E z1}z@!_^OoBu=3J`b~7|`PC}@;j#A;qXW4{;6Qa9*FM})QkrY~8J#ecl$CB75@ ziyTQ6Weyj~XlX5X&ACbYBrUT}QYa0691?9zmpSE*2acUtmsVe0eH2108YLJ(inA1G z$lh=AXw#(I)6YCcS3C&6DRDH)b$P$b16!|ynK`?&dMr@L=4c3dm4$G zdT><;R}969|14TZGi0;zt{ftWSn^``1-RbembwK8!!0<@PEuerd1?$BS1Q)`2bipQ zYGTm<|kWS&4-W$6;HX$@qar-iUM&vNFg2! z?19w|H?qs3HgV}h*CNR9mY2`d=j~-iC%%lv&+J>o;%df#6vQa8a1h0qm-LI6--uLz7%H$3%&k0KAR=&U_Z@h$!f2G5XyL9}72D%1)Lu1D8_TS`JN zUt;9Eh~m)4!vfx^Yk$L|GqipUC0AaI52hy*2=k+jo==p{!`5)JL*v*ReyT_rffj&< zC-3u`Rb9YVQ{rDGZTk>!sN>kILxJVZU=6^vvQ^kFZDDv&X+#w;gURj~)VIB##&ZsA z-fH;d+wka4;2X041t`<~Zb{MS+ROACe1l~F?-{aH9ymZ#{eNhdxp8_$(JW{vFrG!L z1CPHC9)pU2L~Ph15iZ&$9$?Fc{RXiBw#XyWu+3_|VS)xn4#a}ctq&i#vAKGy$+-yW zJs=9!*xYD0tgq08$8Ahq6BWuq;7V=qA#WG1h(h6rLwX{}<5u;A%S${e`lO8l#N$?& zGnkU{WSBO{A3)HAa?XPQ*05h?joH7zPrcY$KHQ4nf=KK)#g8 z;{w;GP+BO>I^k%d7x|Fu>I~HkLVFwd@_-(*(~r^j9T4EXQ40fl1tKLlgK&&Tyvc=4 zLXxX(fC8qzEHB4xmTl2vSV{>aFj2w+OZcc?OYuz4?SDI7b#}tnK$Z}Sc!;p77HH_+ z@^ZaV)PCoIC!#D10#`G&Ih>)BHV6_^hMU{SWB4Ek6jvM?9t$a+e+Ew;D_uY-0OJfZ zIJZ~Z-KFwBSC#bn&-HNK$C?a*L)0AMvttk(ZV;0rZV+Gb_c?ns1l529^2iYkJx+=lv@(xD{i`~S!$R_8g^s{=w_D^mqRzvL!A^QVdYB>&aY)DHihu(wL zm{!ROTO*GS6j0_O%% zkbg7~mx!I@LdVYlS=tKa@=cV0M373qG0`^lk}A~RS%OcL@!;dH-pJz>>$gP!xu83m zmgjAa#!}-9E!N5aP->UoYGI?-c-qcCDaMbBY}||b!Svvbh`PBPspT^}o-!uB;S&bP zg$C-z8Ym)p`2;RM85SV^(1^>*V zZ9{R6U&KP-h-$5?R`0LF&at>snzE{Yyd+?utI@pf8ziDl=jF339f>jzllxzNg@2I@ zAJlD>yjl^+_$K*N@+GZgz@PkNeQk|+78Gp#@Jsa&3s$%4x(PKgKuE8DD^}o2;HOvp`S4bPDW9Kg+Sd! zMZEY90yiT}v zoSU9?1?`>D2H^NsXkAI~YG@U!kc&xt%pEFOwBEpd`V~AfR;6O5zLCBz&n_Y8 z6-p;Y)<%jc7H7#(D;ut)Q-GKuLx>E*2wI7Lf9rs4}ZNtEAONQX`C@} zih-b3>l_nCpQmKTQeWYA|GNql?Eh&Q@39eSDKpc($F#m{Z$JXc33+) zZ7T}nU2$pGMzl2pP;NdfxRR__ zbDI)VQH4S@;y6r)VNc+5r!DqXn1gRWFCi)gwF~!|5ciC)`%o~AyN}Z$T-#F1LSLuC z`uT2mm0J4w?%k!W1X4ovGYmWYV)w^qdvBhI|D$evF1K_6_`1znBwzi*)RuTz_;E_Hm9`L%SK9G;+22x(TcgU`u&`3t|2ro zww$#2qLR|k%gOW<;>=ta9rg`31~H8?M!=subbmi5Qjph{SJ~O#^{5>d9}|PW@j|c2kQIm&0nX(O#L&M zz1f+bDH^>wP~^&>_itYGCI$R`uGDdSu$%Spi;1EC#*JcOnzej=5fhj;!U$t}bfKL{ zkALU(3ImC8*PvU_Bj}Ir4Ri+j0v&-a0Q!J=J<=NLqL^d7M(9&{99p*>c>Wx{==8}~ z)jpb!zQ{ud(iBBE;&&u|*j{`F2gUgOtE!}0+s^hImo9-Y^NI(S9{=2CeWT{k29|rZ zu%jx3d~0rDn;wRb<4T!Oz902ex~L%#HXo2-F#>?0B`YVEVdrw0JaLB992n26ijTSg+<(fG z3gau$l8$O>mh4(Q1R4>}`s8>Bril&ICu*Z%d}pi*N>NQVB&5p@QExJCJju*g5f5rnNtX|=`>qa z{GR@P>q;CS5}%S;Kf3^hwF?X$CLpQb-m}94OaVygF_WDj+1s;2{XX^*-hb`yukP-y zLJF7gJr~&DPj)*=MUkM4YBN?0%R!!^PU4q#31EK&-M2C$I17T0bJfwV{uacMsus+2 zoNQdp(Hh)(-AVD|XrvF9D(2zb);%cJi5F<{LH)P83n|+Bs}K=Y-hP_PYpM(%9IVGD zMEpun6_w!hIJl&VaNkl7@eX{qLdDv1 z0mm`shy4O$gW=f#8ZXc=t+Ns)gZv#I-uWh6wDmzzI5ORtBuX)x4*JPSMh9hhurYy< zE1`LhylV(^5O+%7cTXG%WP6QoB8*zK#s`k;rWeH3qjYrqbNAuJLx1(pYVPd4b*MZ^ zKn!Nn(cyI9780UT;nj?hZ@@>U)~k?Vz&+d11zxm$xgW&RuQ67IU{V6J69MCqM$!gs zf-u?-@{pCJp&t(pJ`u^N!9-=E*7L~NscSms zPBplE1)KsLW8+7v^FUKhs80-rYAU{ zjW|;_azqfS7_?o-q45JED%u?3m=_o`zFEBg)K~I4iA9fas0U2@L^HOfT_58e6U;b) zj2C=_KzL~O9e?G{qgjIj7ussgnb*=Rao{qe@OhZQ2P%v!4t3Ec4+XQNfO5Q2oxUIRl1kgA#}7WV7R zTbY}|p4AYX{SQGwSDelMg-MXZ-6__%eNiiVGHj!GEP6Ifn~8~yNVwSfu;~HClCaRo zV==aWpnn@Q7zYzPFWRd=A07Q%{(Nw}8jbEjs_M{@bgJw z>{W|jl6&H$Nsngg#e`bu6Q%D)agR2KlP$3v4U|%nE+cB^JKQGJi*idhwGgybI+0=W2?=hhZ&m+dhfA z=$cB9(uiN1`(-90vyw0Rfi;Jxcg;r9O>5|Lo0Az0YWwrI z3!CMqd>_<_CvV(_zvIhH@%m_;WvW+=ofW5AXh&gn>PQpFmj%0ne3z_jC+p34L-4^Z z7h+B&cB@rb35ByvSj@p`5*<5@@9qTp>wmMTs)MTbE2yJrL)j*t3_Nv}~4>$p%L3G=Jh;G1@D8 z=_qSYhZ%lhtseC(Yl;2&XY#yY*Nduq3aP8y>c768Xzr;%a77B}7B!8QI=ujY!I&zt z3H1NxTp5SI?t`%e@0&0*HlKuY1-C0l$3gJ3$*+&kr^9y?u+@cn6g;sJ)z*&*UU*zJ z#<)3c4VO-jC02|Oz6Jw1z<+72C}OXv{{nzE;ZSrGdc1KQjl)YX z*C^fq#8iH0KyD^0{55JKupwB088H$Y4+@=&V^)$$=8tsR??V?43%oK2!|m(|_{veu z)&PJiHlOUUT};n})ahQ$?m!{`KR@ogI^28JV9Q`kiS@yF9Hew43V#@890A@C<1NU0 z$^Ch{PjF`ul7j)rh)9Jqj8#;X?6u+|+24;XS;6f8xX$@~Tew?R{i^Ckv>&maq=FH2 z&OYn&sxPuR`%ZKH-p3nq+>n=E-Ul~5+~)FOYr-ja(=lBWM|&7v?M4HYf0zLTPH#or zG@xd+O;q>Ck9e>h+J9dfjSJ)++j*V5cv8W2yA|WLyBpJqJ`LAVbQYKCZpm=}e|vA< z-^Ot)ivE4|DMrjo2udKhNU{^slAo+4(m7iEL^+DW@bV5ZLvkztgUkRT5t;Y1zpkoY zs<)W|7cV*HFR@6VySlr&y1J^m7IFFB#GH_O!!Ln;)=<{NgnxW~ToWv~pKNXV_vjM4 z1xZDMN>XgQf*W>)Ez<@5^aEJihILq6a8*LA_9kg>4rc8!;VN{uN{I}gK*Ljt&VU0wT4>$cgc6it`GolfTD8v;V7cQ5j3?Bl(5%(5I)Y5~2~ zP0ZdeMW{Pi)v(ioet7fp?}Fn$-+T5x=`q-QYu@a9Yk!aC(g`ch%2C>V3h!UOezy1i z@$2uC4=>-pNM7%G!~6E4;PA+vpN~rOdb9*KU>5&)`^G;U|A>&^KmOr2{YRXM%I{onM*?+@bzMh=U$LYkIC{=MhEfVqa z0q?afF_r`JqSIPx_q9T9v) zxnqaP1}3_Mup76*Mo+%{&|Y^{rb6~qO0=Rb zKj<|=!Zq|q%<^dt1x!k}484GPDrO-VW-*!N)wB})aw0w;Cxbp*68+@3I2WT)$;7om zvVT{~qDVfh6gz*;s~UEvJl4}9{3Sh{ugUo%t1=#s(v!NMq!X71gZz#|VTgchvQV1| zHDr!QxE01?qLZQe`Eu9#kf8Ve8Wt?`P6>KvDu^FKY~@TdUTXBrZ4_bSwBN2dJmjfq z$RN^s;ZcW&jFXeD$S^5_+Yxd`YYniqvwuO>d|N_gXNkG>bx2Eu{VdSzF^E#PVru7 zS;sUpNBK!Hk?G+&tTw0Y&P#|5P#Ro5s0enk)NrAJ0$dq>fM-GvmmSx=28K&q*MBA^ zhhX7C6QGeUcLU8V>kTy2AB5fklftz!$hrJmJUnOuuKJyh5M4 zU2$;-Dx}y=iFeVjoT_aXba!{4WU)SFIi#jOOKS|=mJ`o2;EKc197^ORvtpdPD`?KP z5uao)v{Xo14>*A&`{LIvh*(-WXU0F-JbXQn}^(20i59g6H=%00&Bq|WB)&j1piMWuI>M$icI|4ZtwqFTEc)t`##H1`fB0e_|9Fr`nTEamF7os~1`&q-tGUUo4u z8rThb(_7hhj9qK708;W-jKq$T>^0*hLLzdQWwoyZfq#h%Yo1$XmuMm7sJXuxOyI=8 zhjk>mGY0$SWkG(R>OgW(@dT#?PM1Z96?uRkM%Pqxg}5`;&y#REr!aFIVP(drh7|~6 zW`C-Z8=>JMgm?F006^Po2=Fe{Pbi;)Dn^1Co03n02~MoIF^<__$S}QhM2bju*?wmq z6o0{7>wjHw-*NYIC1zCH=bT{Rd3Q5ha*ti54W~Y z@nr@^1u+n=u5X~0Y~(I>$}GV>XshqC(j0(joPV=%g9?^vy0B*})T3;a>wIIOYg_9W zs?qb}{6m#ad-jFXcYB0nFW2?V!ep~#iruZUgsq~h6WHL?GE#vUJfB1FpZjY+!9NG$ zpZ(tc|NiH}Klcyrto`!PH#ng-Ox8g%u@wUJIPl3Dt{r}v#`|Y5&_S619558O+ zU}}ti{`3F&Qy@J?OwuJG&m=06$^AOXynoHg3A}F*UAbg=Bv41m4EnBxv>uj~;L6|S z>C6`k-4jS^(jIh)s>{b#*|o-FY}cS`w$4}{R&UZb%Sz~eQDA$zF;g5{awzEC;2fV~ zrwe(ozg$GGF<(z?ekwFWFz+oJK-*2pK}?|=$M}>- z#goMBo9N;0LkF|={T=Yn0N5yJEC)7J)ew9Ny%C&#wItirbWUfBH5YYhZ?$H@u1z5H1Ud?9#q6|r zToi9qFzeSP>V|{-JRcgV%VDe7x|xfL1%!F0l`n}#gfm*(*^(O4`k*tK>?98T{?>st z*`_jhw9Nen2P_xu>ibnNS7@27Me8_bQ-;wu51=Lw!Tkzj5?7OW{_W1i@_*dF16ac- z@MW=votDCyS@>NuEUo<7SIHEGXc%d;=7h6c{YPU8T=?l=z3X6()W=EJk@eKvW@Do{ z=Rkwt^?4*j%yzLWc>0^nh5UXu^@Zhp1I_^XD4*r-`n>y<44CBW29raD?YUe<*muCe z23zA45{n5bf8z5rs%Qtk9Di1xcUOE8{q=bWKD0ueI8-N(Coq_xVgYe2I74dgR)P!X znS08YA7{+cB4>DTBJ~(|qhw27^ta(5ENc5_u3uI)zmBl(23%SVM5Tj)KX^TTlh6LE zE+_2jP($60I-GnErEzBOq zcB~E^ObAW*<2rbu3VCZdE30*! zlEZ$a*OA6?aFxyrkPbItz>}=ZYgjzhF{C`!P#EnmU%T!Z3;A)F;@|;aKj1Cem~h6@ zriS-U`%?L=*Im1MnzEcA(&}Um)Ksr|H)s1o_zUS3*MgiuMt{kuxcX4e!6kX2RBGR( zZ=&1{o5@>B^Cvlj5QlR9j#}*%%q1eCf(yLe$ZQ-Whf0NqX5CUQ*a}j*boJJEGLLxj z-uPWDogVNsA5HVh$_J_#;PGStjJEIm{RUj*Q!EaRA7}F_g|6^D2EY~n_R@#oYh5v$ z&oEKSM}t&s7zb^1^ zX`nflYzwx|LbIVlsloQI1MP|H2b(Xjxzk=SS7@%V^nZ=DXOKKjDCDE89@OymvM&&( z+`?olt z&3IXCJZu;pE|a|>yFavyVM>yL8Sixzsnj$&;%nLe^{R9Oj*Tfv$qczzrQA-di^VEA z?ANy21b-0I{x-afS%-VqZE_Eq+_jG{JUx01?;q&fY1ijn9!Hd71DMmHJLgQ7ydOTu z-1;AlL-NwsgOhciem3FI%>^6$3VzY%MA1C><9PC$(f~60M}61=rZ=zWLO@->&~t{9i&4)W$V7e#1#&~IB6QF0II}|!Tg!bilww{gocUyMR(vX^c~+!@ zvO3v-zc#?<5N37=s>mOnq@&?{g!<-TiXRWrkzn zi}E)W9{sKUWXGAV?NTAf_s*6e)(oBuGI1t?r;cW`36ATc(Kl{)^|dpa4ng`lxkF*3 zlnw8$i79ot0(@!ac^5*u+v%AIl7~+L{uWe=WkFnHE5L84x!;q0u;WHzsTJrZ&3`1n z5@pj#sZk`9PPlI74?6u!AU_Jm0vNIxWx`%|5ezfxOUb5Tv9& z!-_NLHvZF|F(s(?)*dTfrR~umsWGd=YD1w38eO_o^u7RCw9@V1^Weo=Bfnq5z@d?< zqLchMbX9gLn61GXSG`;zwA5J11%SEL}KJq9B~qLOMAS`rG^n?cjtM z^-odP^Ss{Jy1#voGdnRYJ59?F9w#3YxzO`P!0lkjn1b^;Jm=fhKjasqAcBV4pZ8(n z7tFxPkSmn;4m@mja`K6XUwtT1~Jrubze7CGuE; zb0Z)*&#<{FDc0I!%1?ydW@YkYjb`-$1&oOQttNLlgsiBCrO>}mz^_TA5je_aeJOBA zPUcfV18`=?>5oENbO2PjpygT&@IC%3Iv(fXwB)wyPF9;=OY3+wuPK$K>k`{zK;idta|9-f95U*VN~}%E6Uwt8Af%JJ0CSE>;b0)?@yUBe2LFg| zIyVJ|YU7lNHPoQ{tAB5W_`%Hqo!k?Nd$tv6Sw3<8NF+tRaRK7 z*}XnwbM6v~mM3-b%J26#4+593LV?l{YsU}f!WrzgJz9&HD%sV!*W|{>jC)_&JAUAdtca3|;xy&-|v` zXwjp*nkdsP z!D16?@!G(`w;%Vu=eUc^+@c@*?X{ial9}Y%6|(#^&u`KuPKFUQ>2X8VOSe zLGs`bIm6GX-5w*-n%a-;_A)t3Q;*v2A@i*?j#0aVm^>}2Uq=dM8wYOS5~nw_V~Q2H zTrQfu?|(zSn#tT0qXoW0{ons9+RN~fqNd!MbD{54v-w1*ETWa*WJ97r1 z+Lst;6JkK*c-YO{Nt6;v+y&(Q$R$8BhZeqI2jY{=Y ze1DKv`9zSkl#Gn4mKbAA>A2?OS?N?*Zd@n-axjL0VH zivS5`I~-xUu(>$wqtCg%E0mgz|9o#oRcF9_#OI4fE8{pJ4To@#3cqll_~ z%-E%1p)9{aEMy6|O>?aGp+O|K zk<~;>Fmk6`x7X?m(I7od7k|E)2_DVP#N}NlkO7)P`XO1}4qd$JG!jhLyks#07|tKU za=4ds3W&UcS975+f|7>HBE%$F`GDX@MukQ}v*F$7i;Ea#03Uryr=XSJV!Jk;OO0Cj zZa0P-Jc~hYOTBBw+u%fnc$-{m!&HE;DZ$leZ6Fx~-&AMU{*z9jzkf97_|R|I=>KxN z1CrV#Y#DPz&uRcKT0$=EUMvLTqPjSQG#Wp)8I)%+j^QAMjT9M5{mS2mJxo) zaE~`(53Pl5y2S9bEbBZlG26Tj2ftEuE8jwFYEf=S7Oi+OrE*m9c|uWxLr`ILz6oa? z&|kYT+8P!Hp{}|wB7e-RV$B~pgt$#n1Bac`&h_%K)?Lffkh#9&YE)l;Ci>Y^D6lhL z8X8_fA7NDZ`nvP-2`?b8MDrf@*)L3#vHLKoQ@mncTx;fY_#`-YyOV4fy%nWToCO<; z%J>{%Y_4s1wsCU}p-&m~jA!kUiAl!rX4I$JHPOfBus;`NeSfL*>Ltw^7;xbAD<~{P zaiFt7H$1-DOeY+(X#j=Zv|?qOI=)s}g_!R;MW-JnU;P;}od0DL429d_mn?G>C=``` zF^6hN-&J|UzgN+}@~e)HtG8^5P$7e2TGGK>M-}%4HrTMF+V4a+%G<0SSeq)Oizf1l7r=P%I8j7;J6%Fm-@PV?^Sm>~SJSxkohr=ctezim! z_N*k=$!_p*`iRcnnv&;M^U3PkfUHJ6s4ochxs#_)6DV|>ym+xQ9`Dq3vj5lD?+^a* zkJZMx$aL>rXQB}KEz87!TPI*htT&DJa_?=Y#oL^Wh=0R=hE_ko&^E!9MFu;-eWic@ z=3(*|@e@yUv#KVsN;w_Lw2MA!nzRRO+KoAbCS;ib?H2u%=q3{+@qZs|o+rntkTk14 zKDK}+3>r0A#3B$m+G(Ez1+cmJxIm0I=R{R@8KfQg!awd)k>vH)uh*YG-G6_eC}^;^ zx3~X~gMVALzVy&750YV0-WPPK#p@0-6D%@dcSk#8SbJ zgc^R0lCYwnj6_f?7<~ne+;6_+a*-Zphw~Wt1b@yL=^<-tZVV`{E}}>KrcMhDQ|5Ei z4Zrf%h2T+|+w`~z%_M3)o-M)4g_Nc;j5J(@v!OL#Fo~ny0@l>#0d%boNa=0&i;qWz z<(3%HPz~;LBn{;f^RfE4j@prnq-Bm4$a;P>tJ0w&Ip7gL=$Wncp^|tvjvGgP9KA9| zXMe{PXJhvp@XT^PqbM1RgOi^C>&!xktk3@$p zQ#%llX&8umU*!)R7##r#!UZ@z1hlTt3B*4C`K$Y3sNz4{_xnOIIRTv}t3!S}&M*-1 z8XM=U&HI0D7)bo*>kfkf;5NIV3p>=HvtTYd$meaM#P@b?m`vRf7&lMRCy8 z3=leFWutwF`2OR$!I{cV=o6qX;jnU0mzlYqCXn`tlxv*j+v6Udys-0_VSh~n_`N4U z_3@-a5*`d<4RzCz%Gm##Wc@1$ajMgC{!B2z)x<5kZVmShI6R8xBcVKhz_Z%Yd{ec4 z3Jj#B@s^rNm&Q<>a8<^3wl@A+HI|cR3vLpIr0nAhMv8QMDuja$r`%{L9=_J7g1ySq zsSKU(q}i$VG!;^R+jP8cuz!25Oe1tG%f?0e^yZq?CYTSX8>9yoq=rRgj{P8D<%J(| zCs?SHpp{E0%=7FL#wJDu#uj1omC9MykVW50w&$e$^Qa{#IB_zA2xfw~o*)wo#WJ_s zb41tf78)wAN_8b44~KbOmsM{Si?A8)!NqpsN7jx6o>SnbMUu4}%YPEs$0fL0A$u0r z$MBTAzNmurXpxj-0Ey|T;Z^Ufth{`r0H_q&aRDP@oGX?~J*_Z;9KBl7I`=LHIb3Wl z&_~LhAr^z%r%p&{n>X&rkXtp8I~&0fl;G?RLf?`oADsYNwYIJ_J_=sp!Hc^55dRjg zr|87Uq;@sTpa>hsy??aJU2P00Yez>>rn{?+A~k}BwE#&#w!bhd;bn&k6|ay*$-#X- zsi*m{NJluOW}OmAqQQD2v(p4-8dlyE9W{WIO#rG-&Y_jbV7dTt=TDtdPp?E*m%}vDGw}yJ|9byUs=d{YJhID>2a~obD2h3K;*L z5IPdVH@^}>u(uz1p<;i4-^BK(nG9xvolH0#P>$tU86^e#B?}pf>?Aw<=}+oQqOzU= z*2J3jgqnGi1W6x5@X~LBNT(w^g~cURXViSSZvbi$7yj1P9((1ov>4^ z{#jKvAHl+0UI3Lc)@*@KtFiZO&*(;L=JNLGBw!cd5ZrF z0T2?9rMT>~(*?Q6jYbKNsC2eKCYh0)UrxyU0X}vqM4`F^y%iU?LMI(2fOZoo zw;|=lZ<4LA+Q(K&g}(Bfyqdc_o8!3tbe)B@vypT%rd=%g6kijc zT9^IMV7ENS~| zeUE>#-{VTfL^~a|CjI`E=aCrI=Q(d^QqzA3GWiyF%`Q-vhNle;nx8y$3WZ;IlKf+c zqFs8RZ*R&b_n{>QXOoE30q%5nfm|(oo50e6tZ-|`(j?p%(i7x8uqCETexRa}? zY2EN_Aumw5oDNs0Gf3zbmB5+}2@Wpf2s(dF>&K(wWRhnugh&^YP{Ihi-N4}0T^#VU zw*PJ|8fV#Rn$(8an~Cq5u&%DAKZ4g+%gLac1h3^gcL(BS9k`!GpFaq-I4tOb2wmM4 zboB?S$ECceLOwuL)g|yPc|~ehyfvx_5nQ5@2vtQ4K4mRNa9;#j!^U?>u$L|$)VhBx zJTengXvKbMy9<>h@VRY=?}MJ>7QVxYW>&91I!|-^A!T*kqD5?X7II@2&5vXF#ٲ?zVpK<0`38mwd&!`rXk8=3J4~S`) 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

    E3f~w^M5bTs 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,j+TN}0 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%0D^?& zJ|fGo@#?=G9IK>*cC{4{vaYZG={7D5{7|iEqJCilkv6eze^!qX&Fb&92T|$(bnSQ0 z#VV+6jP$U)E5I4<)L8T?OviV(XLtjj&@y!lagVdr#Thm|<4A3F!G~wb?=cmuyZtl~5gx64hzFio2b6(quA|#4v5&~=t z*(SH&ffgg+8ouNc$kCfAWV}`CPUQyD%yBlmf6AYSf6`1O2&1aP3FCJA&9YGF7Up;R z6TI}Qva0VNnUdiym9iaS3G(Y&)q{@dzDmDj*#wH=%GJGgHWej%zz`6)g|BiUh0j8G z3O={H>pG+xNraZAcb?YSZRWhlqv;Ze7T(1JMQqA_Y&e<`K?iq(iFH0lxvl0f4dwUE zZN7m2f6t4tL$gIgIppwpb(#|h?`D?tDbvy2R}iTtWh;EcAPu$*TLQj47MkE% zrlY*UJjArT%bEk$KzHZFL0P7RQ}t+33z!pPf1MuH&1-Xry}ig##Oes>1QO^gHla9# zl#>YSYhxQ`A%6eGN%cDvQeWjQ6Vos0w90O`KL{06*W2XsMIbk9L=tAYJH|In99XV& zqHSz-QEjugLja-XkV5W5P>5}K4P(MIs`Or`x48>#ek7P7q(o67lMr~Y$mW(<=M~we ze?i?;IzBgd;SB%reEa6T(jA~aWlSy^N3AY#%&f00woUqTm949gz1N;Dn_JYmgMw#K zPSWjqr{C6}LL~Z#8vhDknJ!Ec0lVKumcr_A~ zy)31n`Tx9KO>f)Cmi;SS&CUY9>VvBX+ew`6*ontVJ9xb-OJ#``C3;BFX?vGR7#|#0 zC9x*26;Fo8VRoBWAvs0VI*-D0S+&_6x0NCr}6# z;=bcTQ8Mcxl+%8*7j{DZct8S^j~A1~3J

    3@M2RME8A{%@`jS2M!(WT{`-Gm+KfG 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 Dws1{# diff --git a/examples/graph2d/19_labels.html b/examples/graph2d/19_labels.html new file mode 100644 index 00000000..a235a57a --- /dev/null +++ b/examples/graph2d/19_labels.html @@ -0,0 +1,64 @@ + + + + + + + Graph2d | Basic Example + + + + + + + +

    Graph2d | Label Example

    +
    + This example shows the how to add a label to each point in Graph2d. Each item can have a label object which contains the content and CSS class.In addition, xOffset and yOffset will adjust the location of the label relative to the point being labelled. + + +

    + +
    +
    +
    + + + + \ No newline at end of file diff --git a/examples/network/06_groups.html b/examples/network/06_groups.html index 19964045..1e2ecf3b 100644 --- a/examples/network/06_groups.html +++ b/examples/network/06_groups.html @@ -8,9 +8,10 @@ font: 10pt arial; } #mynetwork { - width: 600px; - height: 600px; + width: 1900px; + height: 900px; border: 1px solid lightgray; + background-color:#222222; } @@ -139,11 +140,14 @@ edges: edges }; var options = { - stabilize: false, + stabilize: true, nodes: { - shape: 'dot' + shape: 'dot', + radius:30, + fontColor:'#ffffff', + borderWidth:2 }, - physics: {barnesHut:{springLength: 200}} + physics: {barnesHut:{springLength: 100}} }; network = new vis.Network(container, data, options); } @@ -154,9 +158,9 @@
    Number of groups: - + Number of nodes per group: - +

    diff --git a/examples/network/25_physics_configuration.html b/examples/network/25_physics_configuration.html index 1d42c625..104040be 100644 --- a/examples/network/25_physics_configuration.html +++ b/examples/network/25_physics_configuration.html @@ -78,7 +78,6 @@ }; var options = { - edges:{opacity:0.2}, stabilize: false, configurePhysics:true }; diff --git a/examples/network/26_staticSmoothCurves.html b/examples/network/26_staticSmoothCurves.html index 1c338269..d6b06dde 100644 --- a/examples/network/26_staticSmoothCurves.html +++ b/examples/network/26_staticSmoothCurves.html @@ -32,19 +32,26 @@ Smooth curve type: + + +
    +Roundness (0..1): (0.5 is max roundness for continuous, 1.0 for the others)
    diff --git a/examples/network/27_world_cup_network.html b/examples/network/27_world_cup_network.html index 54e85cb5..7361849d 100644 --- a/examples/network/27_world_cup_network.html +++ b/examples/network/27_world_cup_network.html @@ -39,6 +39,8 @@ Smooth curve type: + +
    inheritColor option: + +

    +

    + + +

    +

    + timechange bar index: . Time: +

    +

    + timechanged bar index: . Time: +


    + +
    + + + + \ No newline at end of file diff --git a/examples/timeline/35_item_ordering.html b/examples/timeline/35_item_ordering.html new file mode 100644 index 00000000..a1b560b6 --- /dev/null +++ b/examples/timeline/35_item_ordering.html @@ -0,0 +1,80 @@ + + + + Timeline | Item ordering + + + + + + + +

    Item ordering

    +

    + By default, the items displayed on the Timeline are unordered. They are + stacked in the order that they where loaded. This means that way items are + stacked can change while moving and zooming the Timeline. +

    +

    + To display and stack the items in a controlled order, you can provide a + custom sorting function via the configuration option order. +

    +

    + WARNING: Custom ordering is only suitable for small amounts of items (up to a few + hundred), as the Timeline has to render all items once on load to + determine their width and height. +

    +

    + +

    + +
    + + + + \ No newline at end of file diff --git a/examples/timeline/index.html b/examples/timeline/index.html index c21533dc..2fe03424 100644 --- a/examples/timeline/index.html +++ b/examples/timeline/index.html @@ -44,7 +44,8 @@

    31_background_areas_with_groups.html

    32_grid_styling.html

    33_custom_snapping.html

    - +

    34_add_custom_timebar.html

    +

    35_item_ordering.html

    requirejs_example.html

    diff --git a/graph2d_examples.html b/graph2d_examples.html index 9bef1693..733af7a3 100644 --- a/graph2d_examples.html +++ b/graph2d_examples.html @@ -216,6 +216,18 @@
    dynamic styling
    + +

    diff --git a/images/exampleScreenshots/graph2d/18.png b/images/exampleScreenshots/graph2d/18.png new file mode 100644 index 0000000000000000000000000000000000000000..847eae48088e2e52dc66f28911e95f63096d6782 GIT binary patch literal 6462 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 ZM$C+Uc3`=k#BqiIB{_9yh0NQq{{m3EZ=wJI literal 0 HcmV?d00001 diff --git a/images/exampleScreenshots/network/38.png b/images/exampleScreenshots/network/38.png new file mode 100644 index 0000000000000000000000000000000000000000..9a1ade631e108cd4208af6f804b3cbb7dd01ca64 GIT binary patch literal 13426 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 TUf|=88z^aU1+f|tqoDr-MSs=| literal 0 HcmV?d00001 diff --git a/images/exampleScreenshots/timeline/35.png b/images/exampleScreenshots/timeline/35.png new file mode 100644 index 0000000000000000000000000000000000000000..ba2bd9b0396982229c12651ba3682106e6a78ad6 GIT binary patch literal 8298 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 YnUFrq8LBP3{uBTuBcUK(A!_9RUzn3h9RL6T literal 0 HcmV?d00001 diff --git a/index.html b/index.html index fa040846..88f36891 100644 --- a/index.html +++ b/index.html @@ -216,12 +216,12 @@
    bower install vis

    link from cdnjs.com

    - vis.min.js
    - vis.min.css + vis.min.js
    + vis.min.css

    download

    - vis.zip (version 3.10.0) + vis.zip (version 3.11.0)

    diff --git a/network_examples.html b/network_examples.html index aa5513ec..e5db2ef2 100644 --- a/network_examples.html +++ b/network_examples.html @@ -346,6 +346,12 @@
    labelAlignment for edges
    + + +