diff --git a/dist/vis-graph3d.min.js b/dist/vis-graph3d.min.js index 34dd1a97..21aea6fc 100644 --- a/dist/vis-graph3d.min.js +++ b/dist/vis-graph3d.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 4.16.0 - * @date 2016-04-07 + * @version 4.16.1 + * @date 2016-04-18 * * @license * Copyright (C) 2011-2016 Almende B.V, http://almende.com @@ -22,12 +22,12 @@ * * 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(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return t[n].call(r.exports,r,r.exports,e),r.loaded=!0,r.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(7),e.DataSet=i(8),e.DataView=i(10),e.Queue=i(9),e.Graph3d=i(11),e.graph3d={Camera:i(15),Filter:i(16),Point2d:i(14),Point3d:i(13),Slider:i(17),StepNumber:i(18)},e.moment=i(2),e.Hammer=i(19),e.keycharm=i(22)},function(t,e,i){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=i(2),s=i(6);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,n){if(e==t)return.5;var r=1/(e-t);return Math.max(0,(n-t)*r)},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.randomUUID=function(){return s.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==n(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var r=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];for(var s in t)void 0!==i[s]&&("object"!==n(i[s])?void 0!==i[s]&&null!==i[s]||void 0===t[s]||r!==!0?t[s]=i[s]:delete t[s]:"object"===n(t[s])&&e.fillIfDefined(t[s],i[s],r))},e.protoExtend=function(t,e){for(var i=1;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0!==t){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(r.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):r(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return r(t);if(t instanceof Date)return r(t.valueOf());if(r.isMoment(t))return r(t);if(e.isString(t))return n=o.exec(t),r(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(r.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 s;return s=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}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="undefined"==typeof t?"undefined":n(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":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],n=0;ni;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.throttle=function(t,e){var i=null,n=!1;return function r(){i?n=!0:(n=!1,t(),i=setTimeout(function(){i=null,n&&r()},e))}},e.addEventListener=function(t,e,i,n){t.addEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,n)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,n){t.removeEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,n)):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,n){return e+e+i+i+n+n});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("rgba"))return t;if(-1!=t.indexOf("rgb")){var n=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+n[0]+","+n[1]+","+n[2]+","+i+")"}var n=e.hexToRGB(t);return null==n?t:"rgba("+n.r+","+n.g+","+n.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)===!0){if(e.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(n[0],n[1],n[2])}if(e.isValidHex(t)===!0){var r=e.hexToHSV(t),s={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},o={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},a=e.HSVToHex(o.h,o.s,o.v),h=e.HSVToHex(s.h,s.s,s.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||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var n=Math.min(t,Math.min(e,i)),r=Math.max(t,Math.max(e,i));if(n==r)return{h:0,s:0,v:n};var s=t==n?e-i:i==n?t-e:i-t,o=t==n?3:i==n?1:5,a=60*(o-s/(r-n))/360,h=(r-n)/r,l=r;return{h:a,s:h,v:l}};var a={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),n=i[0].trim(),r=i[1].trim();e[n]=r}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var n=a.split(t.style.cssText),r=a.split(i),s=e.extend(n,r);t.style.cssText=a.join(s)},e.removeCssText=function(t,e){var i=a.split(t.style.cssText),n=a.split(e);for(var r in n)n.hasOwnProperty(r)&&delete i[r];t.style.cssText=a.join(i)},e.HSVToRGB=function(t,e,i){var n,r,s,o=Math.floor(6*t),a=6*t-o,h=i*(1-e),l=i*(1-a*e),u=i*(1-(1-a)*e);switch(o%6){case 0:n=i,r=u,s=h;break;case 1:n=l,r=i,s=h;break;case 2:n=h,r=i,s=u;break;case 3:n=h,r=l,s=i;break;case 4:n=u,r=h,s=i;break;case 5:n=i,r=h,s=l}return{r:Math.floor(255*n),g:Math.floor(255*r),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,n){var r=e.HSVToRGB(t,i,n);return e.RGBToHex(r.r,r.g,r.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.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":n(i))){for(var r=Object.create(i),s=0;s0&&e(n,t[r-1])<0;r--)t[r]=t[r-1];t[r]=n}return t},e.mergeOptions=function(t,e,i){var n=(arguments.length<=3||void 0===arguments[3]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===e[i])t[i]=Object.create(n[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var r in e[i])e[i].hasOwnProperty(r)&&(t[i][r]=e[i][r])}},e.binarySearchCustom=function(t,e,i,n){for(var r=1e4,s=0,o=0,a=t.length-1;a>=o&&r>s;){var h=Math.floor((o+a)/2),l=t[h],u=void 0===n?l[i]:l[i][n],c=e(u);if(0==c)return h;-1==c?o=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,n,r){for(var s,o,a,h,l=1e4,u=0,c=0,d=t.length-1,r=void 0!=r?r:function(t,e){return t==e?0:e>t?-1:1};d>=c&&l>u;){if(h=Math.floor(.5*(d+c)),s=t[Math.max(0,h-1)][i],o=t[h][i],a=t[Math.min(t.length-1,h+1)][i],0==r(o,e))return h;if(r(s,e)<0&&r(o,e)>0)return"before"==n?Math.max(0,h-1):h;if(r(o,e)<0&&r(a,e)>0)return"before"==n?h:Math.min(t.length-1,h+1);r(o,e)<0?c=h+1:d=h-1,u++}return-1},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,i){t.exports="undefined"!=typeof window&&window.moment||i(3)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Ji.apply(null,arguments)}function i(t){Ji=t}function n(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function r(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,n=[];for(i=0;i0)for(i in Ki)n=Ki[i],r=e[n],f(r)||(t[n]=r);return t}function m(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),tn===!1&&(tn=!0,e.updateOffset(this),tn=!1)}function v(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}function y(t){return 0>t?Math.ceil(t):Math.floor(t)}function g(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=y(e)),i}function _(t,e,i){var n,r=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),o=0;for(n=0;r>n;n++)(i&&t[n]!==e[n]||!i&&g(t[n])!==g(e[n]))&&o++;return o+s}function x(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function b(t,e){var i=!0;return a(function(){return i&&(x(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),i=!1),e.apply(this,arguments)},e)}function w(t,e){en[t]||(x(e),en[t]=!0)}function M(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function S(t){return"[object Object]"===Object.prototype.toString.call(t)}function T(t){var e,i;for(i in t)e=t[i],M(e)?this[i]=e:this["_"+i]=e;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function D(t,e){var i,n=a({},t);for(i in e)o(e,i)&&(S(t[i])&&S(e[i])?(n[i]={},a(n[i],t[i]),a(n[i],e[i])):null!=e[i]?n[i]=e[i]:delete n[i]);return n}function C(t){null!=t&&this.set(t)}function k(t){return t?t.toLowerCase().replace("_","-"):t}function E(t){for(var e,i,n,r,s=0;s0;){if(n=O(r.slice(0,e).join("-")))return n;if(i&&i.length>=e&&_(r,i,!0)>=e-1)break;e--}s++}return null}function O(e){var i=null;if(!rn[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=nn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),P(i)}catch(n){}return rn[e]}function P(t,e){var i;return t&&(i=f(e)?A(t):Y(t,e),i&&(nn=i)),nn._abbr}function Y(t,e){return null!==e?(e.abbr=t,null!=rn[t]?(w("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),e=D(rn[t]._config,e)):null!=e.parentLocale&&(null!=rn[e.parentLocale]?e=D(rn[e.parentLocale]._config,e):w("parentLocaleUndefined","specified parentLocale is not defined yet")),rn[t]=new C(e),P(t),rn[t]):(delete rn[t],null)}function L(t,e){if(null!=e){var i;null!=rn[t]&&(e=D(rn[t]._config,e)),i=new C(e),i.parentLocale=rn[t],rn[t]=i,P(t)}else null!=rn[t]&&(null!=rn[t].parentLocale?rn[t]=rn[t].parentLocale:null!=rn[t]&&delete rn[t]);return rn[t]}function A(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return nn;if(!n(t)){if(e=O(t))return e;t=[t]}return E(t)}function I(){return Object.keys(rn)}function z(t,e){var i=t.toLowerCase();sn[i]=sn[i+"s"]=sn[e]=t}function R(t){return"string"==typeof t?sn[t]||sn[t.toLowerCase()]:void 0}function W(t){var e,i,n={};for(i in t)o(t,i)&&(e=R(i),e&&(n[e]=t[i]));return n}function N(t,i){return function(n){return null!=n?(V(this,t,n),e.updateOffset(this,i),this):F(this,t)}}function F(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function V(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function B(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=R(t),M(this[t]))return this[t](e);return this}function U(t,e,i){var n=""+Math.abs(t),r=e-n.length,s=t>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+n}function H(t,e,i,n){var r=n;"string"==typeof n&&(r=function(){return this[n]()}),t&&(ln[t]=r),e&&(ln[e[0]]=function(){return U(r.apply(this,arguments),e[1],e[2])}),i&&(ln[i]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function j(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function G(t){var e,i,n=t.match(on);for(e=0,i=n.length;i>e;e++)ln[n[e]]?n[e]=ln[n[e]]:n[e]=j(n[e]);return function(r){var s="";for(e=0;i>e;e++)s+=n[e]instanceof Function?n[e].call(r,t):n[e];return s}}function X(t,e){return t.isValid()?(e=Z(e,t.localeData()),hn[e]=hn[e]||G(e),hn[e](t)):t.localeData().invalidDate()}function Z(t,e){function i(t){return e.longDateFormat(t)||t}var n=5;for(an.lastIndex=0;n>=0&&an.test(t);)t=t.replace(an,i),an.lastIndex=0,n-=1;return t}function q(t,e,i){Cn[t]=M(e)?e:function(t,n){return t&&i?i:e}}function $(t,e){return o(Cn,t)?Cn[t](e._strict,e._locale):new RegExp(Q(t))}function Q(t){return J(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,n,r){return e||i||n||r}))}function J(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function K(t,e){var i,n=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(n=function(t,i){i[e]=g(t)}),i=0;in;n++){if(r=h([2e3,n]),i&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),i||this._monthsParse[n]||(s="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[n]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[n].test(t))return n;if(i&&"MMM"===e&&this._shortMonthsParse[n].test(t))return n;if(!i&&this._monthsParse[n].test(t))return n}}function ot(t,e){var i;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=g(e);else if(e=t.localeData().monthsParse(e),"number"!=typeof e)return t;return i=Math.min(t.date(),it(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t}function at(t){return null!=t?(ot(this,t),e.updateOffset(this,!0),this):F(this,"Month")}function ht(){return it(this.year(),this.month())}function lt(t){return this._monthsParseExact?(o(this,"_monthsRegex")||ct.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function ut(t){return this._monthsParseExact?(o(this,"_monthsRegex")||ct.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function ct(){function t(t,e){return e.length-t.length}var e,i,n=[],r=[],s=[];for(e=0;12>e;e++)i=h([2e3,e]),n.push(this.monthsShort(i,"")),r.push(this.months(i,"")),s.push(this.months(i,"")),s.push(this.monthsShort(i,""));for(n.sort(t),r.sort(t),s.sort(t),e=0;12>e;e++)n[e]=J(n[e]),r[e]=J(r[e]),s[e]=J(s[e]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")$","i"),this._monthsShortStrictRegex=new RegExp("^("+n.join("|")+")$","i")}function dt(t){var e,i=t._a;return i&&-2===u(t).overflow&&(e=i[On]<0||i[On]>11?On:i[Pn]<1||i[Pn]>it(i[En],i[On])?Pn:i[Yn]<0||i[Yn]>24||24===i[Yn]&&(0!==i[Ln]||0!==i[An]||0!==i[In])?Yn:i[Ln]<0||i[Ln]>59?Ln:i[An]<0||i[An]>59?An:i[In]<0||i[In]>999?In:-1,u(t)._overflowDayOfYear&&(En>e||e>Pn)&&(e=Pn),u(t)._overflowWeeks&&-1===e&&(e=zn),u(t)._overflowWeekday&&-1===e&&(e=Rn),u(t).overflow=e),t}function ft(t){var e,i,n,r,s,o,a=t._i,h=Un.exec(a)||Hn.exec(a);if(h){for(u(t).iso=!0,e=0,i=Gn.length;i>e;e++)if(Gn[e][1].exec(h[1])){r=Gn[e][0],n=Gn[e][2]!==!1;break}if(null==r)return void(t._isValid=!1);if(h[3]){for(e=0,i=Xn.length;i>e;e++)if(Xn[e][1].exec(h[3])){s=(h[2]||" ")+Xn[e][0];break}if(null==s)return void(t._isValid=!1)}if(!n&&null!=s)return void(t._isValid=!1);if(h[4]){if(!jn.exec(h[4]))return void(t._isValid=!1);o="Z"}t._f=r+(s||"")+(o||""),kt(t)}else t._isValid=!1}function pt(t){var i=Zn.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(ft(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function mt(t,e,i,n,r,s,o){var a=new Date(t,e,i,n,r,s,o);return 100>t&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function vt(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function yt(t){return gt(t)?366:365}function gt(t){return t%4===0&&t%100!==0||t%400===0}function _t(){return gt(this.year())}function xt(t,e,i){var n=7+e-i,r=(7+vt(t,0,n).getUTCDay()-e)%7;return-r+n-1}function bt(t,e,i,n,r){var s,o,a=(7+i-n)%7,h=xt(t,n,r),l=1+7*(e-1)+a+h;return 0>=l?(s=t-1,o=yt(s)+l):l>yt(t)?(s=t+1,o=l-yt(t)):(s=t,o=l),{year:s,dayOfYear:o}}function wt(t,e,i){var n,r,s=xt(t.year(),e,i),o=Math.floor((t.dayOfYear()-s-1)/7)+1;return 1>o?(r=t.year()-1,n=o+Mt(r,e,i)):o>Mt(t.year(),e,i)?(n=o-Mt(t.year(),e,i),r=t.year()+1):(r=t.year(),n=o),{week:n,year:r}}function Mt(t,e,i){var n=xt(t,e,i),r=xt(t+1,e,i);return(yt(t)-n+r)/7}function St(t,e,i){return null!=t?t:null!=e?e:i}function Tt(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function Dt(t){var e,i,n,r,s=[];if(!t._d){for(n=Tt(t),t._w&&null==t._a[Pn]&&null==t._a[On]&&Ct(t),t._dayOfYear&&(r=St(t._a[En],n[En]),t._dayOfYear>yt(r)&&(u(t)._overflowDayOfYear=!0),i=vt(r,0,t._dayOfYear),t._a[On]=i.getUTCMonth(),t._a[Pn]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=n[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Yn]&&0===t._a[Ln]&&0===t._a[An]&&0===t._a[In]&&(t._nextDay=!0,t._a[Yn]=0),t._d=(t._useUTC?vt:mt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Yn]=24)}}function Ct(t){var e,i,n,r,s,o,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,o=4,i=St(e.GG,t._a[En],wt(zt(),1,4).year),n=St(e.W,1),r=St(e.E,1),(1>r||r>7)&&(h=!0)):(s=t._locale._week.dow,o=t._locale._week.doy,i=St(e.gg,t._a[En],wt(zt(),s,o).year),n=St(e.w,1),null!=e.d?(r=e.d,(0>r||r>6)&&(h=!0)):null!=e.e?(r=e.e+s,(e.e<0||e.e>6)&&(h=!0)):r=s),1>n||n>Mt(i,s,o)?u(t)._overflowWeeks=!0:null!=h?u(t)._overflowWeekday=!0:(a=bt(i,n,r,s,o),t._a[En]=a.year,t._dayOfYear=a.dayOfYear)}function kt(t){if(t._f===e.ISO_8601)return void ft(t);t._a=[],u(t).empty=!0;var i,n,r,s,o,a=""+t._i,h=a.length,l=0;for(r=Z(t._f,t._locale).match(on)||[],i=0;i0&&u(t).unusedInput.push(o),a=a.slice(a.indexOf(n)+n.length),l+=n.length),ln[s]?(n?u(t).empty=!1:u(t).unusedTokens.push(s),et(s,n,t)):t._strict&&!n&&u(t).unusedTokens.push(s);u(t).charsLeftOver=h-l,a.length>0&&u(t).unusedInput.push(a),u(t).bigHour===!0&&t._a[Yn]<=12&&t._a[Yn]>0&&(u(t).bigHour=void 0),t._a[Yn]=Et(t._locale,t._a[Yn],t._meridiem),Dt(t),dt(t)}function Et(t,e,i){var n;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(n=t.isPM(i),n&&12>e&&(e+=12),n||12!==e||(e=0),e):e}function Ot(t){var e,i,n,r,s;if(0===t._f.length)return u(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rs)&&(n=s,i=e));a(t,i||e)}function Pt(t){if(!t._d){var e=W(t._i);t._a=s([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),Dt(t)}}function Yt(t){var e=new m(dt(Lt(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Lt(t){var e=t._i,i=t._f;return t._locale=t._locale||A(t._l),null===e||void 0===i&&""===e?d({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new m(dt(e)):(n(i)?Ot(t):i?kt(t):r(e)?t._d=e:At(t),c(t)||(t._d=null),t))}function At(t){var i=t._i;void 0===i?t._d=new Date(e.now()):r(i)?t._d=new Date(+i):"string"==typeof i?pt(t):n(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),Dt(t)):"object"==typeof i?Pt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function It(t,e,i,n,r){var s={};return"boolean"==typeof i&&(n=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=r,s._l=i,s._i=t,s._f=e,s._strict=n,Yt(s)}function zt(t,e,i,n){return It(t,e,i,n,!1)}function Rt(t,e){var i,r;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return zt();for(i=e[0],r=1;rt&&(t=-t,i="-"),i+U(~~(t/60),2)+e+U(~~t%60,2)})}function Ut(t,e){var i=(e||"").match(t)||[],n=i[i.length-1]||[],r=(n+"").match(Kn)||["-",0,0],s=+(60*r[1])+g(r[2]);return"+"===r[0]?s:-s}function Ht(t,i){var n,s;return i._isUTC?(n=i.clone(),s=(v(t)||r(t)?+t:+zt(t))-+n,n._d.setTime(+n._d+s),e.updateOffset(n,!1),n):zt(t).local()}function jt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Gt(t,i){var n,r=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=Ut(Sn,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(n=jt(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),r!==t&&(!i||this._changeInProgress?le(this,ne(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?r:jt(this):null!=t?this:NaN}function Xt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Zt(t){return this.utcOffset(0,t)}function qt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(jt(this),"m")),this}function $t(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ut(Mn,this._i)),this}function Qt(t){return this.isValid()?(t=t?zt(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function Jt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Kt(){if(!f(this._isDSTShifted))return this._isDSTShifted;var t={};if(p(t,this),t=Lt(t),t._a){var e=t._isUTC?h(t._a):zt(t._a);this._isDSTShifted=this.isValid()&&_(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function te(){return this.isValid()?!this._isUTC:!1}function ee(){return this.isValid()?this._isUTC:!1}function ie(){return this.isValid()?this._isUTC&&0===this._offset:!1}function ne(t,e){var i,n,r,s=t,a=null;return Vt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=tr.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:g(a[Pn])*i,h:g(a[Yn])*i,m:g(a[Ln])*i,s:g(a[An])*i,ms:g(a[In])*i}):(a=er.exec(t))?(i="-"===a[1]?-1:1,s={y:re(a[2],i),M:re(a[3],i),w:re(a[4],i),d:re(a[5],i),h:re(a[6],i),m:re(a[7],i),s:re(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(r=oe(zt(s.from),zt(s.to)),s={},s.ms=r.milliseconds,s.M=r.months),n=new Ft(s),Vt(t)&&o(t,"_locale")&&(n._locale=t._locale),n}function re(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function se(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function oe(t,e){var i;return t.isValid()&&e.isValid()?(e=Ht(e,t),t.isBefore(e)?i=se(t,e):(i=se(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function ae(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function he(t,e){return function(i,n){var r,s;return null===n||isNaN(+n)||(w(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=n,n=s),i="string"==typeof i?+i:i,r=ne(i,n),le(this,r,t),this}}function le(t,i,n,r){var s=i._milliseconds,o=ae(i._days),a=ae(i._months);t.isValid()&&(r=null==r?!0:r,s&&t._d.setTime(+t._d+s*n),o&&V(t,"Date",F(t,"Date")+o*n),a&&ot(t,F(t,"Month")+a*n),r&&e.updateOffset(t,o||a))}function ue(t,e){var i=t||zt(),n=Ht(i,this).startOf("day"),r=this.diff(n,"days",!0),s=-6>r?"sameElse":-1>r?"lastWeek":0>r?"lastDay":1>r?"sameDay":2>r?"nextDay":7>r?"nextWeek":"sameElse",o=e&&(M(e[s])?e[s]():e[s]); -return this.format(o||this.localeData().calendar(s,this,zt(i)))}function ce(){return new m(this)}function de(t,e){var i=v(t)?t:zt(t);return this.isValid()&&i.isValid()?(e=R(f(e)?"millisecond":e),"millisecond"===e?+this>+i:+i<+this.clone().startOf(e)):!1}function fe(t,e){var i=v(t)?t:zt(t);return this.isValid()&&i.isValid()?(e=R(f(e)?"millisecond":e),"millisecond"===e?+i>+this:+this.clone().endOf(e)<+i):!1}function pe(t,e,i){return this.isAfter(t,i)&&this.isBefore(e,i)}function me(t,e){var i,n=v(t)?t:zt(t);return this.isValid()&&n.isValid()?(e=R(e||"millisecond"),"millisecond"===e?+this===+n:(i=+n,+this.clone().startOf(e)<=i&&i<=+this.clone().endOf(e))):!1}function ve(t,e){return this.isSame(t,e)||this.isAfter(t,e)}function ye(t,e){return this.isSame(t,e)||this.isBefore(t,e)}function ge(t,e,i){var n,r,s,o;return this.isValid()?(n=Ht(t,this),n.isValid()?(r=6e4*(n.utcOffset()-this.utcOffset()),e=R(e),"year"===e||"month"===e||"quarter"===e?(o=_e(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:y(o)):NaN):NaN}function _e(t,e){var i,n,r=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(r,"months");return 0>e-s?(i=t.clone().add(r-1,"months"),n=(e-s)/(s-i)):(i=t.clone().add(r+1,"months"),n=(e-s)/(i-s)),-(r+n)}function xe(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function be(){var t=this.clone().utc();return 0s&&(e=s),Xe.call(this,t,e,i,n,r))}function Xe(t,e,i,n,r){var s=bt(t,e,i,n,r),o=vt(s.year,0,s.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function Ze(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function qe(t){return wt(t,this._week.dow,this._week.doy).week}function $e(){return this._week.dow}function Qe(){return this._week.doy}function Je(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ke(t){var e=wt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ti(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function ei(t,e){return n(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function ii(t){return this._weekdaysShort[t.day()]}function ni(t){return this._weekdaysMin[t.day()]}function ri(t,e,i){var n,r,s;for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;7>n;n++){if(r=zt([2e3,1]).day(n),i&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[n]||(s="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[n]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[n].test(t))return n;if(i&&"ddd"===e&&this._shortWeekdaysParse[n].test(t))return n;if(i&&"dd"===e&&this._minWeekdaysParse[n].test(t))return n;if(!i&&this._weekdaysParse[n].test(t))return n}}function si(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ti(t,this.localeData()),this.add(t-e,"d")):e}function oi(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function ai(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:NaN}function hi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function li(){return this.hours()%12||12}function ui(t,e){H(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ci(t,e){return e._meridiemParse}function di(t){return"p"===(t+"").toLowerCase().charAt(0)}function fi(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function pi(t,e){e[In]=g(1e3*("0."+t))}function mi(){return this._isUTC?"UTC":""}function vi(){return this._isUTC?"Coordinated Universal Time":""}function yi(t){return zt(1e3*t)}function gi(){return zt.apply(null,arguments).parseZone()}function _i(t,e,i){var n=this._calendar[t];return M(n)?n.call(e,i):n}function xi(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function bi(){return this._invalidDate}function wi(t){return this._ordinal.replace("%d",t)}function Mi(t){return t}function Si(t,e,i,n){var r=this._relativeTime[i];return M(r)?r(t,e,i,n):r.replace(/%d/i,t)}function Ti(t,e){var i=this._relativeTime[t>0?"future":"past"];return M(i)?i(e):i.replace(/%s/i,e)}function Di(t,e,i,n){var r=A(),s=h().set(n,e);return r[i](s,t)}function Ci(t,e,i,n,r){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return Di(t,e,i,r);var s,o=[];for(s=0;n>s;s++)o[s]=Di(t,s,i,r);return o}function ki(t,e){return Ci(t,e,"months",12,"month")}function Ei(t,e){return Ci(t,e,"monthsShort",12,"month")}function Oi(t,e){return Ci(t,e,"weekdays",7,"day")}function Pi(t,e){return Ci(t,e,"weekdaysShort",7,"day")}function Yi(t,e){return Ci(t,e,"weekdaysMin",7,"day")}function Li(){var t=this._data;return this._milliseconds=Tr(this._milliseconds),this._days=Tr(this._days),this._months=Tr(this._months),t.milliseconds=Tr(t.milliseconds),t.seconds=Tr(t.seconds),t.minutes=Tr(t.minutes),t.hours=Tr(t.hours),t.months=Tr(t.months),t.years=Tr(t.years),this}function Ai(t,e,i,n){var r=ne(e,i);return t._milliseconds+=n*r._milliseconds,t._days+=n*r._days,t._months+=n*r._months,t._bubble()}function Ii(t,e){return Ai(this,t,e,1)}function zi(t,e){return Ai(this,t,e,-1)}function Ri(t){return 0>t?Math.floor(t):Math.ceil(t)}function Wi(){var t,e,i,n,r,s=this._milliseconds,o=this._days,a=this._months,h=this._data;return s>=0&&o>=0&&a>=0||0>=s&&0>=o&&0>=a||(s+=864e5*Ri(Fi(a)+o),o=0,a=0),h.milliseconds=s%1e3,t=y(s/1e3),h.seconds=t%60,e=y(t/60),h.minutes=e%60,i=y(e/60),h.hours=i%24,o+=y(i/24),r=y(Ni(o)),a+=r,o-=Ri(Fi(r)),n=y(a/12),a%=12,h.days=o,h.months=a,h.years=n,this}function Ni(t){return 4800*t/146097}function Fi(t){return 146097*t/4800}function Vi(t){var e,i,n=this._milliseconds;if(t=R(t),"month"===t||"year"===t)return e=this._days+n/864e5,i=this._months+Ni(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Fi(this._months)),t){case"week":return e/7+n/6048e5;case"day":return e+n/864e5;case"hour":return 24*e+n/36e5;case"minute":return 1440*e+n/6e4;case"second":return 86400*e+n/1e3;case"millisecond":return Math.floor(864e5*e)+n;default:throw new Error("Unknown unit "+t)}}function Bi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12)}function Ui(t){return function(){return this.as(t)}}function Hi(t){return t=R(t),this[t+"s"]()}function ji(t){return function(){return this._data[t]}}function Gi(){return y(this.days()/7)}function Xi(t,e,i,n,r){return r.relativeTime(e||1,!!i,t,n)}function Zi(t,e,i){var n=ne(t).abs(),r=Vr(n.as("s")),s=Vr(n.as("m")),o=Vr(n.as("h")),a=Vr(n.as("d")),h=Vr(n.as("M")),l=Vr(n.as("y")),u=r=s&&["m"]||s=o&&["h"]||o=a&&["d"]||a=h&&["M"]||h=l&&["y"]||["yy",l];return u[2]=e,u[3]=+t>0,u[4]=i,Xi.apply(null,u)}function qi(t,e){return void 0===Br[t]?!1:void 0===e?Br[t]:(Br[t]=e,!0)}function $i(t){var e=this.localeData(),i=Zi(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Qi(){var t,e,i,n=Ur(this._milliseconds)/1e3,r=Ur(this._days),s=Ur(this._months);t=y(n/60),e=y(t/60),n%=60,t%=60,i=y(s/12),s%=12;var o=i,a=s,h=r,l=e,u=t,c=n,d=this.asSeconds();return d?(0>d?"-":"")+"P"+(o?o+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(l||u||c?"T":"")+(l?l+"H":"")+(u?u+"M":"")+(c?c+"S":""):"P0D"}var Ji,Ki=e.momentProperties=[],tn=!1,en={};e.suppressDeprecationWarnings=!1;var nn,rn={},sn={},on=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,an=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,hn={},ln={},un=/\d/,cn=/\d\d/,dn=/\d{3}/,fn=/\d{4}/,pn=/[+-]?\d{6}/,mn=/\d\d?/,vn=/\d\d\d\d?/,yn=/\d\d\d\d\d\d?/,gn=/\d{1,3}/,_n=/\d{1,4}/,xn=/[+-]?\d{1,6}/,bn=/\d+/,wn=/[+-]?\d+/,Mn=/Z|[+-]\d\d:?\d\d/gi,Sn=/Z|[+-]\d\d(?::?\d\d)?/gi,Tn=/[+-]?\d+(\.\d{1,3})?/,Dn=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Cn={},kn={},En=0,On=1,Pn=2,Yn=3,Ln=4,An=5,In=6,zn=7,Rn=8;H("M",["MM",2],"Mo",function(){return this.month()+1}),H("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),H("MMMM",0,0,function(t){return this.localeData().months(this,t)}),z("month","M"),q("M",mn),q("MM",mn,cn),q("MMM",function(t,e){return e.monthsShortRegex(t)}),q("MMMM",function(t,e){return e.monthsRegex(t)}),K(["M","MM"],function(t,e){e[On]=g(t)-1}),K(["MMM","MMMM"],function(t,e,i,n){var r=i._locale.monthsParse(t,n,i._strict);null!=r?e[On]=r:u(i).invalidMonth=t});var Wn=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,Nn="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Fn="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Vn=Dn,Bn=Dn,Un=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Hn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,jn=/Z|[+-]\d\d(?::?\d\d)?/,Gn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Xn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Zn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=b("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":""))}),H("Y",0,0,function(){var t=this.year();return 9999>=t?""+t:"+"+t}),H(0,["YY",2],0,function(){return this.year()%100}),H(0,["YYYY",4],0,"year"),H(0,["YYYYY",5],0,"year"),H(0,["YYYYYY",6,!0],0,"year"),z("year","y"),q("Y",wn),q("YY",mn,cn),q("YYYY",_n,fn),q("YYYYY",xn,pn),q("YYYYYY",xn,pn),K(["YYYYY","YYYYYY"],En),K("YYYY",function(t,i){i[En]=2===t.length?e.parseTwoDigitYear(t):g(t)}),K("YY",function(t,i){i[En]=e.parseTwoDigitYear(t)}),K("Y",function(t,e){e[En]=parseInt(t,10)}),e.parseTwoDigitYear=function(t){return g(t)+(g(t)>68?1900:2e3)};var qn=N("FullYear",!1);e.ISO_8601=function(){};var $n=b("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=zt.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:d()}),Qn=b("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=zt.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:d()}),Jn=function(){return Date.now?Date.now():+new Date};Bt("Z",":"),Bt("ZZ",""),q("Z",Sn),q("ZZ",Sn),K(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Ut(Sn,t)});var Kn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var tr=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,er=/^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$/;ne.fn=Ft.prototype;var ir=he(1,"add"),nr=he(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var rr=b("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ve("gggg","weekYear"),Ve("ggggg","weekYear"),Ve("GGGG","isoWeekYear"),Ve("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),q("G",wn),q("g",wn),q("GG",mn,cn),q("gg",mn,cn),q("GGGG",_n,fn),q("gggg",_n,fn),q("GGGGG",xn,pn),q("ggggg",xn,pn),tt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,n){e[n.substr(0,2)]=g(t)}),tt(["gg","GG"],function(t,i,n,r){i[r]=e.parseTwoDigitYear(t)}),H("Q",0,"Qo","quarter"),z("quarter","Q"),q("Q",un),K("Q",function(t,e){e[On]=3*(g(t)-1)}),H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),q("w",mn),q("ww",mn,cn),q("W",mn),q("WW",mn,cn),tt(["w","ww","W","WW"],function(t,e,i,n){e[n.substr(0,1)]=g(t)});var sr={dow:0,doy:6};H("D",["DD",2],"Do","date"),z("date","D"),q("D",mn),q("DD",mn,cn),q("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),K(["D","DD"],Pn),K("Do",function(t,e){e[Pn]=g(t.match(mn)[0],10)});var or=N("Date",!0);H("d",0,"do","day"),H("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),H("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),H("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),q("d",mn),q("e",mn),q("E",mn),q("dd",Dn),q("ddd",Dn),q("dddd",Dn),tt(["dd","ddd","dddd"],function(t,e,i,n){var r=i._locale.weekdaysParse(t,n,i._strict);null!=r?e.d=r:u(i).invalidWeekday=t}),tt(["d","e","E"],function(t,e,i,n){e[n]=g(t)});var ar="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),hr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),lr="Su_Mo_Tu_We_Th_Fr_Sa".split("_");H("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),q("DDD",gn),q("DDDD",dn),K(["DDD","DDDD"],function(t,e,i){i._dayOfYear=g(t)}),H("H",["HH",2],0,"hour"),H("h",["hh",2],0,li),H("hmm",0,0,function(){return""+li.apply(this)+U(this.minutes(),2)}),H("hmmss",0,0,function(){return""+li.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),H("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),H("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),ui("a",!0),ui("A",!1),z("hour","h"),q("a",ci),q("A",ci),q("H",mn),q("h",mn),q("HH",mn,cn),q("hh",mn,cn),q("hmm",vn),q("hmmss",yn),q("Hmm",vn),q("Hmmss",yn),K(["H","HH"],Yn),K(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),K(["h","hh"],function(t,e,i){e[Yn]=g(t),u(i).bigHour=!0}),K("hmm",function(t,e,i){var n=t.length-2;e[Yn]=g(t.substr(0,n)),e[Ln]=g(t.substr(n)),u(i).bigHour=!0}),K("hmmss",function(t,e,i){var n=t.length-4,r=t.length-2;e[Yn]=g(t.substr(0,n)),e[Ln]=g(t.substr(n,2)),e[An]=g(t.substr(r)),u(i).bigHour=!0}),K("Hmm",function(t,e,i){var n=t.length-2;e[Yn]=g(t.substr(0,n)),e[Ln]=g(t.substr(n))}),K("Hmmss",function(t,e,i){var n=t.length-4,r=t.length-2;e[Yn]=g(t.substr(0,n)),e[Ln]=g(t.substr(n,2)),e[An]=g(t.substr(r))});var ur=/[ap]\.?m?\.?/i,cr=N("Hours",!0);H("m",["mm",2],0,"minute"),z("minute","m"),q("m",mn),q("mm",mn,cn),K(["m","mm"],Ln);var dr=N("Minutes",!1);H("s",["ss",2],0,"second"),z("second","s"),q("s",mn),q("ss",mn,cn),K(["s","ss"],An);var fr=N("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),q("S",gn,un),q("SS",gn,cn),q("SSS",gn,dn);var pr;for(pr="SSSS";pr.length<=9;pr+="S")q(pr,bn);for(pr="S";pr.length<=9;pr+="S")K(pr,pi);var mr=N("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var vr=m.prototype;vr.add=ir,vr.calendar=ue,vr.clone=ce,vr.diff=ge,vr.endOf=Oe,vr.format=we,vr.from=Me,vr.fromNow=Se,vr.to=Te,vr.toNow=De,vr.get=B,vr.invalidAt=Ne,vr.isAfter=de,vr.isBefore=fe,vr.isBetween=pe,vr.isSame=me,vr.isSameOrAfter=ve,vr.isSameOrBefore=ye,vr.isValid=Re,vr.lang=rr,vr.locale=Ce,vr.localeData=ke,vr.max=Qn,vr.min=$n,vr.parsingFlags=We,vr.set=B,vr.startOf=Ee,vr.subtract=nr,vr.toArray=Ae,vr.toObject=Ie,vr.toDate=Le,vr.toISOString=be,vr.toJSON=ze,vr.toString=xe,vr.unix=Ye,vr.valueOf=Pe,vr.creationData=Fe,vr.year=qn,vr.isLeapYear=_t,vr.weekYear=Be,vr.isoWeekYear=Ue,vr.quarter=vr.quarters=Ze,vr.month=at,vr.daysInMonth=ht,vr.week=vr.weeks=Je,vr.isoWeek=vr.isoWeeks=Ke,vr.weeksInYear=je,vr.isoWeeksInYear=He,vr.date=or,vr.day=vr.days=si,vr.weekday=oi,vr.isoWeekday=ai,vr.dayOfYear=hi,vr.hour=vr.hours=cr,vr.minute=vr.minutes=dr,vr.second=vr.seconds=fr,vr.millisecond=vr.milliseconds=mr,vr.utcOffset=Gt,vr.utc=Zt,vr.local=qt,vr.parseZone=$t,vr.hasAlignedHourOffset=Qt,vr.isDST=Jt,vr.isDSTShifted=Kt,vr.isLocal=te,vr.isUtcOffset=ee,vr.isUtc=ie,vr.isUTC=ie,vr.zoneAbbr=mi,vr.zoneName=vi,vr.dates=b("dates accessor is deprecated. Use date instead.",or),vr.months=b("months accessor is deprecated. Use month instead",at),vr.years=b("years accessor is deprecated. Use year instead",qn),vr.zone=b("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Xt);var yr=vr,gr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},_r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},xr="Invalid date",br="%d",wr=/\d{1,2}/,Mr={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"},Sr=C.prototype;Sr._calendar=gr,Sr.calendar=_i,Sr._longDateFormat=_r,Sr.longDateFormat=xi,Sr._invalidDate=xr,Sr.invalidDate=bi,Sr._ordinal=br,Sr.ordinal=wi,Sr._ordinalParse=wr,Sr.preparse=Mi,Sr.postformat=Mi,Sr._relativeTime=Mr,Sr.relativeTime=Si,Sr.pastFuture=Ti,Sr.set=T,Sr.months=nt,Sr._months=Nn,Sr.monthsShort=rt,Sr._monthsShort=Fn,Sr.monthsParse=st,Sr._monthsRegex=Bn,Sr.monthsRegex=ut,Sr._monthsShortRegex=Vn,Sr.monthsShortRegex=lt,Sr.week=qe,Sr._week=sr,Sr.firstDayOfYear=Qe,Sr.firstDayOfWeek=$e,Sr.weekdays=ei,Sr._weekdays=ar,Sr.weekdaysMin=ni,Sr._weekdaysMin=lr,Sr.weekdaysShort=ii,Sr._weekdaysShort=hr,Sr.weekdaysParse=ri,Sr.isPM=di,Sr._meridiemParse=ur,Sr.meridiem=fi,P("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===g(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=b("moment.lang is deprecated. Use moment.locale instead.",P),e.langData=b("moment.langData is deprecated. Use moment.localeData instead.",A);var Tr=Math.abs,Dr=Ui("ms"),Cr=Ui("s"),kr=Ui("m"),Er=Ui("h"),Or=Ui("d"),Pr=Ui("w"),Yr=Ui("M"),Lr=Ui("y"),Ar=ji("milliseconds"),Ir=ji("seconds"),zr=ji("minutes"),Rr=ji("hours"),Wr=ji("days"),Nr=ji("months"),Fr=ji("years"),Vr=Math.round,Br={s:45,m:45,h:22,d:26,M:11},Ur=Math.abs,Hr=Ft.prototype;Hr.abs=Li,Hr.add=Ii,Hr.subtract=zi,Hr.as=Vi,Hr.asMilliseconds=Dr,Hr.asSeconds=Cr,Hr.asMinutes=kr,Hr.asHours=Er,Hr.asDays=Or,Hr.asWeeks=Pr,Hr.asMonths=Yr,Hr.asYears=Lr,Hr.valueOf=Bi,Hr._bubble=Wi,Hr.get=Hi,Hr.milliseconds=Ar,Hr.seconds=Ir,Hr.minutes=zr,Hr.hours=Rr,Hr.days=Wr,Hr.weeks=Gi,Hr.months=Nr,Hr.years=Fr,Hr.humanize=$i,Hr.toISOString=Qi,Hr.toString=Qi,Hr.toJSON=Qi,Hr.locale=Ce,Hr.localeData=ke,Hr.toIsoString=b("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Qi),Hr.lang=rr,H("X",0,0,"unix"),H("x",0,0,"valueOf"),q("x",wn),q("X",Tn),K("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),K("x",function(t,e,i){i._d=new Date(g(t))}),e.version="2.12.0",i(zt),e.fn=yr,e.min=Wt,e.max=Nt,e.now=Jn,e.utc=h,e.unix=yi,e.months=ki,e.isDate=r,e.locale=P,e.invalid=d,e.duration=ne,e.isMoment=v,e.weekdays=Oi,e.parseZone=gi,e.localeData=A,e.isDuration=Vt,e.monthsShort=Ei,e.weekdaysMin=Yi,e.defineLocale=Y,e.updateLocale=L,e.locales=I,e.weekdaysShort=Pi,e.normalizeUnits=R,e.relativeTimeThreshold=qi,e.prototype=yr;var jr=e;return jr})}).call(e,i(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=5},function(t,e){(function(e){function i(t,e,i){var n=e&&i||0,r=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){16>r&&(e[n+r++]=c[t])});16>r;)e[n+r++]=0;return e}function n(t,e){var i=e||0,n=u;return n[t[i++]]+n[t[i++]]+n[t[i++]]+n[t[i++]]+"-"+n[t[i++]]+n[t[i++]]+"-"+n[t[i++]]+n[t[i++]]+"-"+n[t[i++]]+n[t[i++]]+"-"+n[t[i++]]+n[t[i++]]+n[t[i++]]+n[t[i++]]+n[t[i++]]+n[t[i++]]}function r(t,e,i){var r=e&&i||0,s=e||[];t=t||{};var o=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:y+1,l=a-v+(h-y)/1e4;if(0>l&&void 0===t.clockseq&&(o=o+1&16383),(0>l||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,y=h,m=o,a+=122192928e5;var u=(1e4*(268435455&a)+h)%4294967296;s[r++]=u>>>24&255,s[r++]=u>>>16&255,s[r++]=u>>>8&255,s[r++]=255&u;var c=a/4294967296*1e4&268435455;s[r++]=c>>>8&255,s[r++]=255&c,s[r++]=c>>>24&15|16,s[r++]=c>>>16&255,s[r++]=o>>>8|128,s[r++]=255&o;for(var d=t.node||p,f=0;6>f;f++)s[r+f]=d[f];return e?e:n(s)}function s(t,e,i){var r=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||o)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[r+a]=s[a];return e||n(s)}var o,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);o=function(){return crypto.getRandomValues(h),h}}if(!o){var l=new Array(16);o=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),l[e]=t>>>((3&e)<<3)&255;return l}}for(var u=[],c={},d=0;256>d;d++)u[d]=(d+256).toString(16).substr(1),c[u[d]]=d;var f=o(),p=[1|f[0],f[1],f[2],f[3],f[4],f[5]],m=16383&(f[6]<<8|f[7]),v=0,y=0,g=s;g.v1=r,g.v4=s,g.parse=i,g.unparse=n,t.exports=g}).call(e,function(){return this}())},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?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(n)):(n=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(n)),e[t].used.push(n),n},e.getDOMElement=function(t,e,i,n){var r;return e.hasOwnProperty(t)?e[t].redundant.length>0?(r=e[t].redundant[0],e[t].redundant.shift()):(r=document.createElement(t),void 0!==n?i.insertBefore(r,n):i.appendChild(r)):(r=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==n?i.insertBefore(r,n):i.appendChild(r)),e[t].used.push(r),r},e.drawPoint=function(t,i,n,r,s,o){var a;if("circle"==n.style?(a=e.getSVGElement("circle",r,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*n.size)):(a=e.getSVGElement("rect",r,s),a.setAttributeNS(null,"x",t-.5*n.size),a.setAttributeNS(null,"y",i-.5*n.size),a.setAttributeNS(null,"width",n.size),a.setAttributeNS(null,"height",n.size)),void 0!==n.styles&&a.setAttributeNS(null,"style",n.styles),a.setAttributeNS(null,"class",n.className+" vis-point"),o){var h=e.getSVGElement("text",r,s);o.xOffset&&(t+=o.xOffset),o.yOffset&&(i+=o.yOffset),o.content&&(h.textContent=o.content),o.className&&h.setAttributeNS(null,"class",o.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,n,r,s,o,a,h){if(0!=r){0>r&&(r*=-1,i-=r);var l=e.getSVGElement("rect",o,a);l.setAttributeNS(null,"x",t-.5*n),l.setAttributeNS(null,"y",i),l.setAttributeNS(null,"width",n),l.setAttributeNS(null,"height",r),l.setAttributeNS(null,"class",s),h&&l.setAttributeNS(null,"style",h)}}},function(t,e,i){function n(t,e){if(t&&!Array.isArray(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=Object.keys(this._options.type),n=0,r=i.length;r>n;n++){var s=i[n],o=this._options.type[s];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[s]="Date":this._type[s]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),o=i(9);n.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=o.extend(this,{replace:["add","update","remove"]})),"object"===r(t.queue)&&this._queue.setOptions(t.queue)))},n.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},n.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},n.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},n.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},n.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var n=[];t in this._subscribers&&(n=n.concat(this._subscribers[t])),"*"in this._subscribers&&(n=n.concat(this._subscribers["*"]));for(var r=0,s=n.length;s>r;r++){var o=n[r];o.callback&&o.callback(t,e,i||null)}},n.prototype.add=function(t,e){var i,n=[],r=this;if(Array.isArray(t))for(var s=0,o=t.length;o>s;s++)i=r._addItem(t[s]),n.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=r._addItem(t),n.push(i)}return n.length&&this._trigger("add",{items:n},e),n},n.prototype.update=function(t,e){var i=[],n=[],r=[],o=[],a=this,h=a._fieldId,l=function(t){var e=t[h];if(a._data[e]){var l=s.extend({},a._data[e]);e=a._updateItem(t),n.push(e),o.push(t),r.push(l)}else e=a._addItem(t),i.push(e)};if(Array.isArray(t))for(var u=0,c=t.length;c>u;u++)t[u]instanceof Object?l(t[u]):console.warn("Ignoring input item, which is not an object at index "+u);else{if(!(t instanceof Object))throw new Error("Unknown dataType");l(t)}if(i.length&&this._trigger("add",{items:i},e),n.length){var d={items:n,oldData:r,data:o};this._trigger("update",d,e)}return i.concat(n)},n.prototype.get=function(t){var e,i,n,r=this,o=s.getType(arguments[0]);"String"==o||"Number"==o?(e=arguments[0],n=arguments[1]):"Array"==o?(i=arguments[0],n=arguments[1]):n=arguments[0];var a;if(n&&n.returnType){var h=["Array","Object"];a=-1==h.indexOf(n.returnType)?"Array":n.returnType}else a="Array";var l,u,c,d,f,p=n&&n.type||this._options.type,m=n&&n.filter,v=[];if(void 0!=e)l=r._getItem(e,p),l&&m&&!m(l)&&(l=null);else if(void 0!=i)for(d=0,f=i.length;f>d;d++)l=r._getItem(i[d],p),m&&!m(l)||v.push(l);else for(u=Object.keys(this._data),d=0,f=u.length;f>d;d++)c=u[d],l=r._getItem(c,p),m&&!m(l)||v.push(l);if(n&&n.order&&void 0==e&&this._sort(v,n.order),n&&n.fields){var y=n.fields;if(void 0!=e)l=this._filterFields(l,y);else for(d=0,f=v.length;f>d;d++)v[d]=this._filterFields(v[d],y)}if("Object"==a){var g,_={};for(d=0,f=v.length;f>d;d++)g=v[d],_[g.id]=g;return _}return void 0!=e?l:v},n.prototype.getIds=function(t){var e,i,n,r,s,o=this._data,a=t&&t.filter,h=t&&t.order,l=t&&t.type||this._options.type,u=Object.keys(o),c=[];if(a)if(h){for(s=[],e=0,i=u.length;i>e;e++)n=u[e],r=this._getItem(n,l),a(r)&&s.push(r);for(this._sort(s,h),e=0,i=s.length;i>e;e++)c.push(s[e][this._fieldId])}else for(e=0,i=u.length;i>e;e++)n=u[e],r=this._getItem(n,l),a(r)&&c.push(r[this._fieldId]);else if(h){for(s=[],e=0,i=u.length;i>e;e++)n=u[e],s.push(o[n]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)c.push(s[e][this._fieldId])}else for(e=0,i=u.length;i>e;e++)n=u[e],r=o[n],c.push(r[this._fieldId]);return c},n.prototype.getDataSet=function(){return this},n.prototype.forEach=function(t,e){var i,n,r,s,o=e&&e.filter,a=e&&e.type||this._options.type,h=this._data,l=Object.keys(h);if(e&&e.order){var u=this.get(e);for(i=0,n=u.length;n>i;i++)r=u[i],s=r[this._fieldId],t(r,s)}else for(i=0,n=l.length;n>i;i++)s=l[i],r=this._getItem(s,a),o&&!o(r)||t(r,s)},n.prototype.map=function(t,e){var i,n,r,s,o=e&&e.filter,a=e&&e.type||this._options.type,h=[],l=this._data,u=Object.keys(l); -for(i=0,n=u.length;n>i;i++)r=u[i],s=this._getItem(r,a),o&&!o(s)||h.push(t(s,r));return e&&e.order&&this._sort(h,e.order),h},n.prototype._filterFields=function(t,e){if(!t)return t;var i,n,r={},s=Object.keys(t),o=s.length;if(Array.isArray(e))for(i=0;o>i;i++)n=s[i],-1!=e.indexOf(n)&&(r[n]=t[n]);else for(i=0;o>i;i++)n=s[i],e.hasOwnProperty(n)&&(r[e[n]]=t[n]);return r},n.prototype._sort=function(t,e){if(s.isString(e)){var i=e;t.sort(function(t,e){var n=t[i],r=e[i];return n>r?1:r>n?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},n.prototype.remove=function(t,e){var i,n,r,s=[];if(Array.isArray(t))for(i=0,n=t.length;n>i;i++)r=this._remove(t[i]),null!=r&&s.push(r);else r=this._remove(t),null!=r&&s.push(r);return s.length&&this._trigger("remove",{items:s},e),s},n.prototype._remove=function(t){if(s.isNumber(t)||s.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(void 0!==e&&this._data[e])return delete this._data[e],this.length--,e}return null},n.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},n.prototype.max=function(t){var e,i,n=this._data,r=Object.keys(n),s=null,o=null;for(e=0,i=r.length;i>e;e++){var a=r[e],h=n[a],l=h[t];null!=l&&(!s||l>o)&&(s=h,o=l)}return s},n.prototype.min=function(t){var e,i,n=this._data,r=Object.keys(n),s=null,o=null;for(e=0,i=r.length;i>e;e++){var a=r[e],h=n[a],l=h[t];null!=l&&(!s||o>l)&&(s=h,o=l)}return s},n.prototype.distinct=function(t){var e,i,n,r=this._data,o=Object.keys(r),a=[],h=this._options.type&&this._options.type[t]||null,l=0;for(e=0,n=o.length;n>e;e++){var u=o[e],c=r[u],d=c[t],f=!1;for(i=0;l>i;i++)if(a[i]==d){f=!0;break}f||void 0===d||(a[l]=d,l++)}if(h)for(e=0,n=a.length;n>e;e++)a[e]=s.convert(a[e],h);return a},n.prototype._addItem=function(t){var e=t[this._fieldId];if(void 0!=e){if(this._data[e])throw new Error("Cannot add item: item with id "+e+" already exists")}else e=s.randomUUID(),t[this._fieldId]=e;var i,n,r={},o=Object.keys(t);for(i=0,n=o.length;n>i;i++){var a=o[i],h=this._type[a];r[a]=s.convert(t[a],h)}return this._data[e]=r,this.length++,e},n.prototype._getItem=function(t,e){var i,n,r,o,a=this._data[t];if(!a)return null;var h={},l=Object.keys(a);if(e)for(r=0,o=l.length;o>r;r++)i=l[r],n=a[i],h[i]=s.convert(n,e[i]);else for(r=0,o=l.length;o>r;r++)i=l[r],n=a[i],h[i]=n;return h},n.prototype._updateItem=function(t){var e=t[this._fieldId];if(void 0==e)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(t)+")");var i=this._data[e];if(!i)throw new Error("Cannot update item: no item with id "+e+" found");for(var n=Object.keys(t),r=0,o=n.length;o>r;r++){var a=n[r],h=this._type[a];i[a]=s.convert(t[a],h)}return e},t.exports=n},function(t,e){function i(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}i.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},i.extend=function(t,e){var n=new i(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){n.flush()};var r=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function n(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 r=i(1),s=i(8);n.prototype.setData=function(t){var e,i,n,r;if(this._data&&(this._data.off&&this._data.off("*",this.listener),e=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:e})),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}),n=0,r=e.length;r>n;n++)i=e[n],this._ids[i]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},n.prototype.refresh=function(){var t,e,i,n=this._data.getIds({filter:this._options&&this._options.filter}),r=Object.keys(this._ids),s={},o=[],a=[];for(e=0,i=n.length;i>e;e++)t=n[e],s[t]=!0,this._ids[t]||(o.push(t),this._ids[t]=!0);for(e=0,i=r.length;i>e;e++)t=r[e],s[t]||(a.push(t),delete this._ids[t]);this.length+=o.length-a.length,o.length&&this._trigger("add",{items:o}),a.length&&this._trigger("remove",{items:a})},n.prototype.get=function(t){var e,i,n,s=this,o=r.getType(arguments[0]);"String"==o||"Number"==o||"Array"==o?(e=arguments[0],i=arguments[1],n=arguments[2]):(i=arguments[0],n=arguments[1]);var a=r.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(t){return s._options.filter(t)&&i.filter(t)});var h=[];return void 0!=e&&h.push(e),h.push(a),h.push(n),this._data&&this._data.get.apply(this._data,h)},n.prototype.getIds=function(t){var e;if(this._data){var i,n=this._options.filter;i=t&&t.filter?n?function(e){return n(e)&&t.filter(e)}:t.filter:n,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},n.prototype.map=function(t,e){var i=[];if(this._data){var n,r=this._options.filter;n=e&&e.filter?r?function(t){return r(t)&&e.filter(t)}:e.filter:r,i=this._data.map(t,{filter:n,order:e&&e.order})}else i=[];return i},n.prototype.getDataSet=function(){for(var t=this;t instanceof n;)t=t._data;return t||null},n.prototype._onEvent=function(t,e,i){var n,r,s,o,a=e&&e.items,h=this._data,l=[],u=[],c=[],d=[];if(a&&h){switch(t){case"add":for(n=0,r=a.length;r>n;n++)s=a[n],o=this.get(s),o&&(this._ids[s]=!0,u.push(s));break;case"update":for(n=0,r=a.length;r>n;n++)s=a[n],o=this.get(s),o?this._ids[s]?(c.push(s),l.push(e.data[n])):(this._ids[s]=!0,u.push(s)):this._ids[s]&&(delete this._ids[s],d.push(s));break;case"remove":for(n=0,r=a.length;r>n;n++)s=a[n],this._ids[s]&&(delete this._ids[s],d.push(s))}this.length+=u.length-d.length,u.length&&this._trigger("add",{items:u},i),c.length&&this._trigger("update",{items:c,data:l},i),d.length&&this._trigger("remove",{items:d},i)}},n.prototype.on=s.prototype.on,n.prototype.off=s.prototype.off,n.prototype._trigger=s.prototype._trigger,n.prototype.subscribe=n.prototype.on,n.prototype.unsubscribe=n.prototype.off,t.exports=n},function(t,e,i){function n(t,e,i){if(!(this instanceof n))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 r=function(t){return t};this.xValueLabel=r,this.yValueLabel=r,this.zValueLabel=r,this.filterLabel="time",this.legendLabel="value",this.style=n.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 f,this.camera.setArmRotation(1,.5),this.camera.setArmLength(1.7),this.eye=new c(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.axisColor="#4D4D4D",this.gridColor="#D3D3D3",this.dataColor={fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},this.dotSizeRatio=.02,this.create(),this.setOptions(i),e&&this.setData(e)}function r(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},a=i(12),h=i(8),l=i(10),u=i(1),c=i(13),d=i(14),f=i(15),p=i(16),m=i(17),v=i(18);a(n.prototype),n.prototype._setScale=function(){this.scale=new c(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!==n.STYLE.DOTCOLOR&&this.style!==n.STYLE.DOTSIZE&&this.style!==n.STYLE.BARCOLOR&&this.style!==n.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)}},n.prototype.getNumberOfRows=function(t){return t.length},n.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},n.prototype.getDistinctValues=function(t,e){for(var i=[],n=0;nt[n][e]&&(i.min=t[n][e]),i.maxt;t++){var p=(t-d)/(f-d),m=240*p,y=this._hsv2rgb(m,1,1);c.strokeStyle=y,c.beginPath(),c.moveTo(h,o+t),c.lineTo(a,o+t),c.stroke()}c.strokeStyle=this.axisColor,c.strokeRect(h,o,i,s)}if(this.style===n.STYLE.DOTSIZE&&(c.strokeStyle=this.axisColor,c.fillStyle=this.dataColor.fill,c.beginPath(),c.moveTo(h,o),c.lineTo(a,o),c.lineTo(a-i+e,l),c.lineTo(h,l),c.closePath(),c.fill(),c.stroke()),this.style===n.STYLE.DOTCOLOR||this.style===n.STYLE.DOTSIZE){var g=5,_=new v(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(_.start(),_.getCurrent()0?this.yMin:this.yMax,r=this._convert3Dto2D(new c(b,o,this.zMin)),Math.cos(2*x)>0?(m.textAlign="center",m.textBaseline="top",r.y+=_):Math.sin(2*x)<0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(" "+this.xValueLabel(i.getCurrent())+" ",r.x,r.y),i.next()}for(m.lineWidth=1,n=void 0===this.defaultYStep,i=new v(this.yMin,this.yMax,this.yStep,n),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=this._convert3Dto2D(new c(s,i.getCurrent(),this.zMin)),Math.cos(2*x)<0?(m.textAlign="center",m.textBaseline="top",r.y+=_):Math.sin(2*x)>0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(" "+this.yValueLabel(i.getCurrent())+" ",r.x,r.y),i.next();for(m.lineWidth=1,n=void 0===this.defaultZStep,i=new v(this.zMin,this.zMax,this.zStep,n),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=Math.sin(x)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new c(s,o,i.getCurrent())),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(t.x-_,t.y),m.stroke(),m.textAlign="right",m.textBaseline="middle",m.fillStyle=this.axisColor,m.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();m.lineWidth=1,t=this._convert3Dto2D(new c(s,o,this.zMin)),e=this._convert3Dto2D(new c(s,o,this.zMax)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke(),m.lineWidth=1,d=this._convert3Dto2D(new c(this.xMin,this.yMin,this.zMin)),f=this._convert3Dto2D(new c(this.xMax,this.yMin,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(d.x,d.y),m.lineTo(f.x,f.y),m.stroke(),d=this._convert3Dto2D(new c(this.xMin,this.yMax,this.zMin)),f=this._convert3Dto2D(new c(this.xMax,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(d.x,d.y),m.lineTo(f.x,f.y),m.stroke(),m.lineWidth=1,t=this._convert3Dto2D(new c(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new c(this.xMin,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke(),t=this._convert3Dto2D(new c(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new c(this.xMax,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke();var w=this.xLabel;w.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,o=Math.cos(x)>0?this.yMin-u:this.yMax+u,r=this._convert3Dto2D(new c(s,o,this.zMin)),Math.cos(2*x)>0?(m.textAlign="center",m.textBaseline="top"):Math.sin(2*x)<0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(w,r.x,r.y));var M=this.yLabel;M.length>0&&(l=.1/this.scale.x,s=Math.sin(x)>0?this.xMin-l:this.xMax+l,o=(this.yMin+this.yMax)/2,r=this._convert3Dto2D(new c(s,o,this.zMin)),Math.cos(2*x)<0?(m.textAlign="center",m.textBaseline="top"):Math.sin(2*x)>0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(M,r.x,r.y));var S=this.zLabel;S.length>0&&(h=30,s=Math.cos(x)>0?this.xMin:this.xMax,o=Math.sin(x)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,r=this._convert3Dto2D(new c(s,o,a)),m.textAlign="right",m.textBaseline="middle",m.fillStyle=this.axisColor,m.fillText(S,r.x-h,r.y))},n.prototype._hsv2rgb=function(t,e,i){var n,r,s,o,a,h;switch(o=i*e,a=Math.floor(t/60),h=o*(1-Math.abs(t/60%2-1)),a){case 0:n=o,r=h,s=0;break;case 1:n=h,r=o,s=0;break;case 2:n=0,r=o,s=h;break;case 3:n=0,r=h,s=o;break;case 4:n=h,r=0,s=o;break;case 5:n=o,r=0,s=h;break;default:n=0,r=0,s=0}return"RGB("+parseInt(255*n)+","+parseInt(255*r)+","+parseInt(255*s)+")"},n.prototype._redrawDataGrid=function(){var t,e,i,r,s,o,a,h,l,u,d,f,p=this.frame.canvas,m=p.getContext("2d");if(m.lineJoin="round",m.lineCap="round",!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else o=!0;o?(f=(t.point.z+e.point.z+i.point.z+r.point.z)/4,l=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),u=1,this.showShadow?(d=Math.min(1+w.x/M/2,1),a=this._hsv2rgb(l,u,d),h=a):(d=1,a=this._hsv2rgb(l,u,d),h=this.axisColor)):(a="gray",h=this.axisColor),m.lineWidth=this._getStrokeWidth(t),m.fillStyle=a,m.strokeStyle=h,m.beginPath(),m.moveTo(t.screen.x,t.screen.y),m.lineTo(e.screen.x,e.screen.y),m.lineTo(r.screen.x,r.screen.y),m.lineTo(i.screen.x,i.screen.y), -m.closePath(),m.fill(),m.stroke()}}else for(s=0;sd&&(d=0);var f,p,m;this.style===n.STYLE.DOTCOLOR?(f=240*(1-(l.point.value-this.valueMin)*this.scale.value),p=this._hsv2rgb(f,1,1),m=this._hsv2rgb(f,1,.8)):this.style===n.STYLE.DOTSIZE?(p=this.dataColor.fill,m=this.dataColor.stroke):(f=240*(1-(l.point.z-this.zMin)*this.scale.z/this.verticalRatio),p=this._hsv2rgb(f,1,1),m=this._hsv2rgb(f,1,.8)),i.lineWidth=this._getStrokeWidth(l),i.strokeStyle=m,i.fillStyle=p,i.beginPath(),i.arc(l.screen.x,l.screen.y,d,0,2*Math.PI,!0),i.fill(),i.stroke()}}},n.prototype._redrawDataBar=function(){var t,e,i,r,s=this.frame.canvas,o=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0){for(t=this.dataPoints[0],n.lineWidth=this._getStrokeWidth(t),n.lineJoin="round",n.lineCap="round",n.strokeStyle=this.dataColor.stroke,n.beginPath(),n.moveTo(t.screen.x,t.screen.y),e=1;e0?1:0>t?-1:0}var n=e[0],r=e[1],s=e[2],o=i((r.x-n.x)*(t.y-n.y)-(r.y-n.y)*(t.x-n.x)),a=i((s.x-r.x)*(t.y-r.y)-(s.y-r.y)*(t.x-r.x)),h=i((n.x-s.x)*(t.y-s.y)-(n.y-s.y)*(t.x-s.x));return!(0!=o&&0!=a&&o!=a||0!=a&&0!=h&&a!=h||0!=o&&0!=h&&o!=h)},n.prototype._dataPointFromXY=function(t,e){var i,r=100,s=null,o=null,a=null,h=new d(t,e);if(this.style===n.STYLE.BAR||this.style===n.STYLE.BARCOLOR||this.style===n.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var l=s.surfaces;if(l)for(var u=l.length-1;u>=0;u--){var c=l[u],f=c.corners,p=[f[0].screen,f[1].screen,f[2].screen],m=[f[2].screen,f[3].screen,f[0].screen];if(this._insideTriangle(h,p)||this._insideTriangle(h,m))return s}}else for(i=0;i_)&&r>_&&(a=_,o=s)}}return o},n.prototype._showTooltip=function(t){var e,i,n;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,n=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",n=document.createElement("div"),n.style.position="absolute",n.style.height="0",n.style.width="0",n.style.border="5px solid #4d4d4d",n.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:n}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
"+this.xLabel+":"+t.point.x+"
"+this.yLabel+":"+t.point.y+"
"+this.zLabel+":"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(n);var r=e.offsetWidth,s=e.offsetHeight,o=i.offsetHeight,a=n.offsetWidth,h=n.offsetHeight,l=t.screen.x-r/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-r),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-o+"px",e.style.left=l+"px",e.style.top=t.screen.y-o-s+"px",n.style.left=t.screen.x-a/2+"px",n.style.top=t.screen.y-h/2+"px"},n.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=n},function(t,e){function i(t){return t?n(t):void 0}function n(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){n.off(t,i),e.apply(this,arguments)}var n=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 n,r=0;rn;++n)i[n].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){function i(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}i.subtract=function(t,e){var n=new i;return n.x=t.x-e.x,n.y=t.y-e.y,n.z=t.z-e.z,n},i.add=function(t,e){var n=new i;return n.x=t.x+e.x,n.y=t.y+e.y,n.z=t.z+e.z,n},i.avg=function(t,e){return new i((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},i.crossProduct=function(t,e){var n=new i;return n.x=t.y*e.z-t.z*e.y,n.y=t.z*e.x-t.x*e.z,n.z=t.x*e.y-t.y*e.x,n},i.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=i},function(t,e){function i(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=i},function(t,e,i){function n(){this.armLocation=new r,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new r,this.cameraRotation=new r(.5*Math.PI,0,0),this.calculateCameraOrientation()}var r=i(13);n.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},n.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()},n.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},n.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},n.prototype.getArmLength=function(){return this.armLength},n.prototype.getCameraLocation=function(){return this.cameraLocation},n.prototype.getCameraRotation=function(){return this.cameraRotation},n.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=n},function(t,e,i){function n(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 r=i(10);n.prototype.isLoaded=function(){return this.loaded},n.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},n.prototype.getLabel=function(){return this.graph.filterLabel},n.prototype.getColumn=function(){return this.column},n.prototype.getSelectedValue=function(){return void 0!==this.index?this.values[this.index]:void 0},n.prototype.getValues=function(){return this.values},n.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},n.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 n=new r(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(n),this.dataPoints[t]=e}return e},n.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},n.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},n.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},n.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},n.prototype.setIndex=function(t){if(!(tn&&(n=0),n>this.values.length-1&&(n=this.values.length-1),n},n.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,n=i+3;return n},n.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,n=this.leftToIndex(i);this.setIndex(n),r.preventDefault()},n.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",r.removeEventListener(document,"mousemove",this.onmousemove),r.removeEventListener(document,"mouseup",this.onmouseup),r.preventDefault()},t.exports=n},function(t,e){function i(t,e,i,n){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,n)}i.prototype.setRange=function(t,e,i,n){this._start=t?t:0,this._end=e?e:0,this.setStep(i,n)},i.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),n=2*Math.pow(10,Math.round(e(t/2))),r=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(n-t)<=Math.abs(s-t)&&(s=n),Math.abs(r-t)<=Math.abs(s-t)&&(s=r),0>=s&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(){this._current=this._start-this._start%this._step},i.prototype.next=function(){this._current+=this._step},i.prototype.end=function(){return this._current>this._end},t.exports=i},function(t,e,i){if("undefined"!=typeof window){var n=i(20),r=window.Hammer||i(21);t.exports=n(r,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var n,r,s;!function(i){r=[],n=i,s="function"==typeof n?n.apply(e,r):n,!(void 0!==s&&(t.exports=s))}(function(){var t=null;return function e(i,n){function r(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var n=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof n&&(e.srcEvent.stopPropagation=function(){n(),e.stopPropagation()}),e.firstTarget=t;for(var r=t;r&&!i;){var s=r.hammer;if(s)for(var o,a=0;a0?l._handlers[t]=n:(i.off(t,s),delete l._handlers[t]))}),l},l.emit=function(e,n){t=n.target,i.emit(e,n)},l.destroy=function(){var t=i.element.hammer,e=t.indexOf(l);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,l._handlers={},i.destroy()},l}})},function(t,e,i){var n;/*! Hammer.JS - v2.0.6 - 2015-12-23 +"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(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return t[n].call(r.exports,r,r.exports,e),r.loaded=!0,r.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(7),e.DataSet=i(8),e.DataView=i(10),e.Queue=i(9),e.Graph3d=i(11),e.graph3d={Camera:i(15),Filter:i(16),Point2d:i(14),Point3d:i(13),Slider:i(17),StepNumber:i(18)},e.moment=i(2),e.Hammer=i(19),e.keycharm=i(22)},function(t,e,i){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=i(2),s=i(6);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,n){if(e==t)return.5;var r=1/(e-t);return Math.max(0,(n-t)*r)},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.randomUUID=function(){return s.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==n(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var r=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];for(var s in t)void 0!==i[s]&&("object"!==n(i[s])?void 0!==i[s]&&null!==i[s]||void 0===t[s]||r!==!0?t[s]=i[s]:delete t[s]:"object"===n(t[s])&&e.fillIfDefined(t[s],i[s],r))},e.protoExtend=function(t,e){for(var i=1;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0!==t){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(r.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):r(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return r(t);if(t instanceof Date)return r(t.valueOf());if(r.isMoment(t))return r(t);if(e.isString(t))return n=o.exec(t),r(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(r.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 s;return s=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}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="undefined"==typeof t?"undefined":n(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":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],n=0;ni;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.throttle=function(t,e){var i=null,n=!1;return function r(){i?n=!0:(n=!1,t(),i=setTimeout(function(){i=null,n&&r()},e))}},e.addEventListener=function(t,e,i,n){t.addEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,n)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,n){t.removeEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,n)):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,n){return e+e+i+i+n+n});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("rgba"))return t;if(-1!=t.indexOf("rgb")){var n=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+n[0]+","+n[1]+","+n[2]+","+i+")"}var n=e.hexToRGB(t);return null==n?t:"rgba("+n.r+","+n.g+","+n.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)===!0){if(e.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(n[0],n[1],n[2])}if(e.isValidHex(t)===!0){var r=e.hexToHSV(t),s={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},o={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},a=e.HSVToHex(o.h,o.s,o.v),h=e.HSVToHex(s.h,s.s,s.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||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var n=Math.min(t,Math.min(e,i)),r=Math.max(t,Math.max(e,i));if(n==r)return{h:0,s:0,v:n};var s=t==n?e-i:i==n?t-e:i-t,o=t==n?3:i==n?1:5,a=60*(o-s/(r-n))/360,h=(r-n)/r,l=r;return{h:a,s:h,v:l}};var a={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),n=i[0].trim(),r=i[1].trim();e[n]=r}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var n=a.split(t.style.cssText),r=a.split(i),s=e.extend(n,r);t.style.cssText=a.join(s)},e.removeCssText=function(t,e){var i=a.split(t.style.cssText),n=a.split(e);for(var r in n)n.hasOwnProperty(r)&&delete i[r];t.style.cssText=a.join(i)},e.HSVToRGB=function(t,e,i){var n,r,s,o=Math.floor(6*t),a=6*t-o,h=i*(1-e),l=i*(1-a*e),u=i*(1-(1-a)*e);switch(o%6){case 0:n=i,r=u,s=h;break;case 1:n=l,r=i,s=h;break;case 2:n=h,r=i,s=u;break;case 3:n=h,r=l,s=i;break;case 4:n=u,r=h,s=i;break;case 5:n=i,r=h,s=l}return{r:Math.floor(255*n),g:Math.floor(255*r),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,n){var r=e.HSVToRGB(t,i,n);return e.RGBToHex(r.r,r.g,r.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.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":n(i))){for(var r=Object.create(i),s=0;s0&&e(n,t[r-1])<0;r--)t[r]=t[r-1];t[r]=n}return t},e.mergeOptions=function(t,e,i){var n=(arguments.length<=3||void 0===arguments[3]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===e[i])t[i]=Object.create(n[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var r in e[i])e[i].hasOwnProperty(r)&&(t[i][r]=e[i][r])}},e.binarySearchCustom=function(t,e,i,n){for(var r=1e4,s=0,o=0,a=t.length-1;a>=o&&r>s;){var h=Math.floor((o+a)/2),l=t[h],u=void 0===n?l[i]:l[i][n],d=e(u);if(0==d)return h;-1==d?o=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,n,r){for(var s,o,a,h,l=1e4,u=0,d=0,c=t.length-1,r=void 0!=r?r:function(t,e){return t==e?0:e>t?-1:1};c>=d&&l>u;){if(h=Math.floor(.5*(c+d)),s=t[Math.max(0,h-1)][i],o=t[h][i],a=t[Math.min(t.length-1,h+1)][i],0==r(o,e))return h;if(r(s,e)<0&&r(o,e)>0)return"before"==n?Math.max(0,h-1):h;if(r(o,e)<0&&r(a,e)>0)return"before"==n?h:Math.min(t.length-1,h+1);r(o,e)<0?d=h+1:c=h-1,u++}return-1},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,i){t.exports="undefined"!=typeof window&&window.moment||i(3)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return an.apply(null,arguments)}function i(t){an=t}function n(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function r(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,n=[];for(i=0;i0)for(i in ln)n=ln[i],r=e[n],f(r)||(t[n]=r);return t}function m(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),un===!1&&(un=!0,e.updateOffset(this),un=!1)}function v(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}function y(t){return 0>t?Math.ceil(t):Math.floor(t)}function g(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=y(e)),i}function _(t,e,i){var n,r=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),o=0;for(n=0;r>n;n++)(i&&t[n]!==e[n]||!i&&g(t[n])!==g(e[n]))&&o++;return o+s}function x(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function w(t,i){var n=!0;return a(function(){return null!=e.deprecationHandler&&e.deprecationHandler(null,t),n&&(x(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),n=!1),i.apply(this,arguments)},i)}function b(t,i){null!=e.deprecationHandler&&e.deprecationHandler(t,i),dn[t]||(x(i),dn[t]=!0)}function M(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function S(t){return"[object Object]"===Object.prototype.toString.call(t)}function T(t){var e,i;for(i in t)e=t[i],M(e)?this[i]=e:this["_"+i]=e;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function D(t,e){var i,n=a({},t);for(i in e)o(e,i)&&(S(t[i])&&S(e[i])?(n[i]={},a(n[i],t[i]),a(n[i],e[i])):null!=e[i]?n[i]=e[i]:delete n[i]);return n}function k(t){null!=t&&this.set(t)}function C(t){return t?t.toLowerCase().replace("_","-"):t}function O(t){for(var e,i,n,r,s=0;s0;){if(n=P(r.slice(0,e).join("-")))return n;if(i&&i.length>=e&&_(r,i,!0)>=e-1)break;e--}s++}return null}function P(e){var i=null;if(!mn[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=fn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),E(i)}catch(n){}return mn[e]}function E(t,e){var i;return t&&(i=f(e)?A(t):L(t,e),i&&(fn=i)),fn._abbr}function L(t,e){return null!==e?(e.abbr=t,null!=mn[t]?(b("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),e=D(mn[t]._config,e)):null!=e.parentLocale&&(null!=mn[e.parentLocale]?e=D(mn[e.parentLocale]._config,e):b("parentLocaleUndefined","specified parentLocale is not defined yet")),mn[t]=new k(e),E(t),mn[t]):(delete mn[t],null)}function Y(t,e){if(null!=e){var i;null!=mn[t]&&(e=D(mn[t]._config,e)),i=new k(e),i.parentLocale=mn[t],mn[t]=i,E(t)}else null!=mn[t]&&(null!=mn[t].parentLocale?mn[t]=mn[t].parentLocale:null!=mn[t]&&delete mn[t]);return mn[t]}function A(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return fn;if(!n(t)){if(e=P(t))return e;t=[t]}return O(t)}function R(){return cn(mn)}function I(t,e){var i=t.toLowerCase();vn[i]=vn[i+"s"]=vn[e]=t}function z(t){return"string"==typeof t?vn[t]||vn[t.toLowerCase()]:void 0}function W(t){var e,i,n={};for(i in t)o(t,i)&&(e=z(i),e&&(n[e]=t[i]));return n}function N(t,i){return function(n){return null!=n?(V(this,t,n),e.updateOffset(this,i),this):F(this,t)}}function F(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function V(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function B(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=z(t),M(this[t]))return this[t](e);return this}function U(t,e,i){var n=""+Math.abs(t),r=e-n.length,s=t>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+n}function H(t,e,i,n){var r=n;"string"==typeof n&&(r=function(){return this[n]()}),t&&(xn[t]=r),e&&(xn[e[0]]=function(){return U(r.apply(this,arguments),e[1],e[2])}),i&&(xn[i]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function j(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function G(t){var e,i,n=t.match(yn);for(e=0,i=n.length;i>e;e++)xn[n[e]]?n[e]=xn[n[e]]:n[e]=j(n[e]);return function(e){var r,s="";for(r=0;i>r;r++)s+=n[r]instanceof Function?n[r].call(e,t):n[r];return s}}function X(t,e){return t.isValid()?(e=Z(e,t.localeData()),_n[e]=_n[e]||G(e),_n[e](t)):t.localeData().invalidDate()}function Z(t,e){function i(t){return e.longDateFormat(t)||t}var n=5;for(gn.lastIndex=0;n>=0&&gn.test(t);)t=t.replace(gn,i),gn.lastIndex=0,n-=1;return t}function q(t,e,i){Wn[t]=M(e)?e:function(t,n){return t&&i?i:e}}function Q(t,e){return o(Wn,t)?Wn[t](e._strict,e._locale):new RegExp($(t))}function $(t){return J(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,n,r){return e||i||n||r}))}function J(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function K(t,e){var i,n=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(n=function(t,i){i[e]=g(t)}),i=0;in;++n)s=h([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(s,"").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(s,"").toLocaleLowerCase();return i?"MMM"===e?(r=pn.call(this._shortMonthsParse,o),-1!==r?r:null):(r=pn.call(this._longMonthsParse,o),-1!==r?r:null):"MMM"===e?(r=pn.call(this._shortMonthsParse,o),-1!==r?r:(r=pn.call(this._longMonthsParse,o),-1!==r?r:null)):(r=pn.call(this._longMonthsParse,o),-1!==r?r:(r=pn.call(this._shortMonthsParse,o),-1!==r?r:null))}function ot(t,e,i){var n,r,s;if(this._monthsParseExact)return st.call(this,t,e,i);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;12>n;n++){if(r=h([2e3,n]),i&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),i||this._monthsParse[n]||(s="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[n]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[n].test(t))return n;if(i&&"MMM"===e&&this._shortMonthsParse[n].test(t))return n;if(!i&&this._monthsParse[n].test(t))return n}}function at(t,e){var i;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=g(e);else if(e=t.localeData().monthsParse(e),"number"!=typeof e)return t;return i=Math.min(t.date(),it(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t}function ht(t){return null!=t?(at(this,t),e.updateOffset(this,!0),this):F(this,"Month")}function lt(){return it(this.year(),this.month())}function ut(t){return this._monthsParseExact?(o(this,"_monthsRegex")||ct.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function dt(t){return this._monthsParseExact?(o(this,"_monthsRegex")||ct.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function ct(){function t(t,e){return e.length-t.length}var e,i,n=[],r=[],s=[];for(e=0;12>e;e++)i=h([2e3,e]),n.push(this.monthsShort(i,"")),r.push(this.months(i,"")),s.push(this.months(i,"")),s.push(this.monthsShort(i,""));for(n.sort(t),r.sort(t),s.sort(t),e=0;12>e;e++)n[e]=J(n[e]),r[e]=J(r[e]),s[e]=J(s[e]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+n.join("|")+")","i")}function ft(t){var e,i=t._a;return i&&-2===u(t).overflow&&(e=i[Vn]<0||i[Vn]>11?Vn:i[Bn]<1||i[Bn]>it(i[Fn],i[Vn])?Bn:i[Un]<0||i[Un]>24||24===i[Un]&&(0!==i[Hn]||0!==i[jn]||0!==i[Gn])?Un:i[Hn]<0||i[Hn]>59?Hn:i[jn]<0||i[jn]>59?jn:i[Gn]<0||i[Gn]>999?Gn:-1,u(t)._overflowDayOfYear&&(Fn>e||e>Bn)&&(e=Bn),u(t)._overflowWeeks&&-1===e&&(e=Xn),u(t)._overflowWeekday&&-1===e&&(e=Zn),u(t).overflow=e),t}function pt(t){var e,i,n,r,s,o,a=t._i,h=tr.exec(a)||er.exec(a);if(h){for(u(t).iso=!0,e=0,i=nr.length;i>e;e++)if(nr[e][1].exec(h[1])){r=nr[e][0],n=nr[e][2]!==!1;break}if(null==r)return void(t._isValid=!1);if(h[3]){for(e=0,i=rr.length;i>e;e++)if(rr[e][1].exec(h[3])){s=(h[2]||" ")+rr[e][0];break}if(null==s)return void(t._isValid=!1)}if(!n&&null!=s)return void(t._isValid=!1);if(h[4]){if(!ir.exec(h[4]))return void(t._isValid=!1);o="Z"}t._f=r+(s||"")+(o||""),Ot(t)}else t._isValid=!1}function mt(t){var i=sr.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(pt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function vt(t,e,i,n,r,s,o){var a=new Date(t,e,i,n,r,s,o);return 100>t&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function yt(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function gt(t){return _t(t)?366:365}function _t(t){return t%4===0&&t%100!==0||t%400===0}function xt(){return _t(this.year())}function wt(t,e,i){var n=7+e-i,r=(7+yt(t,0,n).getUTCDay()-e)%7;return-r+n-1}function bt(t,e,i,n,r){var s,o,a=(7+i-n)%7,h=wt(t,n,r),l=1+7*(e-1)+a+h;return 0>=l?(s=t-1,o=gt(s)+l):l>gt(t)?(s=t+1,o=l-gt(t)):(s=t,o=l),{year:s,dayOfYear:o}}function Mt(t,e,i){var n,r,s=wt(t.year(),e,i),o=Math.floor((t.dayOfYear()-s-1)/7)+1;return 1>o?(r=t.year()-1,n=o+St(r,e,i)):o>St(t.year(),e,i)?(n=o-St(t.year(),e,i),r=t.year()+1):(r=t.year(),n=o),{week:n,year:r}}function St(t,e,i){var n=wt(t,e,i),r=wt(t+1,e,i);return(gt(t)-n+r)/7}function Tt(t,e,i){return null!=t?t:null!=e?e:i}function Dt(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function kt(t){var e,i,n,r,s=[];if(!t._d){for(n=Dt(t),t._w&&null==t._a[Bn]&&null==t._a[Vn]&&Ct(t),t._dayOfYear&&(r=Tt(t._a[Fn],n[Fn]),t._dayOfYear>gt(r)&&(u(t)._overflowDayOfYear=!0),i=yt(r,0,t._dayOfYear),t._a[Vn]=i.getUTCMonth(),t._a[Bn]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=n[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Un]&&0===t._a[Hn]&&0===t._a[jn]&&0===t._a[Gn]&&(t._nextDay=!0,t._a[Un]=0),t._d=(t._useUTC?yt:vt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Un]=24)}}function Ct(t){var e,i,n,r,s,o,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,o=4,i=Tt(e.GG,t._a[Fn],Mt(zt(),1,4).year),n=Tt(e.W,1),r=Tt(e.E,1),(1>r||r>7)&&(h=!0)):(s=t._locale._week.dow,o=t._locale._week.doy,i=Tt(e.gg,t._a[Fn],Mt(zt(),s,o).year),n=Tt(e.w,1),null!=e.d?(r=e.d,(0>r||r>6)&&(h=!0)):null!=e.e?(r=e.e+s,(e.e<0||e.e>6)&&(h=!0)):r=s),1>n||n>St(i,s,o)?u(t)._overflowWeeks=!0:null!=h?u(t)._overflowWeekday=!0:(a=bt(i,n,r,s,o),t._a[Fn]=a.year,t._dayOfYear=a.dayOfYear)}function Ot(t){if(t._f===e.ISO_8601)return void pt(t);t._a=[],u(t).empty=!0;var i,n,r,s,o,a=""+t._i,h=a.length,l=0;for(r=Z(t._f,t._locale).match(yn)||[],i=0;i0&&u(t).unusedInput.push(o),a=a.slice(a.indexOf(n)+n.length),l+=n.length),xn[s]?(n?u(t).empty=!1:u(t).unusedTokens.push(s),et(s,n,t)):t._strict&&!n&&u(t).unusedTokens.push(s);u(t).charsLeftOver=h-l,a.length>0&&u(t).unusedInput.push(a),u(t).bigHour===!0&&t._a[Un]<=12&&t._a[Un]>0&&(u(t).bigHour=void 0),u(t).parsedDateParts=t._a.slice(0),u(t).meridiem=t._meridiem,t._a[Un]=Pt(t._locale,t._a[Un],t._meridiem),kt(t),ft(t)}function Pt(t,e,i){var n;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(n=t.isPM(i),n&&12>e&&(e+=12),n||12!==e||(e=0),e):e}function Et(t){var e,i,n,r,s;if(0===t._f.length)return u(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rs)&&(n=s,i=e));a(t,i||e)}function Lt(t){if(!t._d){var e=W(t._i);t._a=s([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),kt(t)}}function Yt(t){var e=new m(ft(At(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function At(t){var e=t._i,i=t._f;return t._locale=t._locale||A(t._l),null===e||void 0===i&&""===e?c({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new m(ft(e)):(n(i)?Et(t):i?Ot(t):r(e)?t._d=e:Rt(t),d(t)||(t._d=null),t))}function Rt(t){var i=t._i;void 0===i?t._d=new Date(e.now()):r(i)?t._d=new Date(i.valueOf()):"string"==typeof i?mt(t):n(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),kt(t)):"object"==typeof i?Lt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function It(t,e,i,n,r){var s={};return"boolean"==typeof i&&(n=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=r,s._l=i,s._i=t,s._f=e,s._strict=n,Yt(s)}function zt(t,e,i,n){return It(t,e,i,n,!1)}function Wt(t,e){var i,r;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return zt();for(i=e[0],r=1;rt&&(t=-t,i="-"),i+U(~~(t/60),2)+e+U(~~t%60,2)})}function Ht(t,e){var i=(e||"").match(t)||[],n=i[i.length-1]||[],r=(n+"").match(ur)||["-",0,0],s=+(60*r[1])+g(r[2]);return"+"===r[0]?s:-s}function jt(t,i){var n,s;return i._isUTC?(n=i.clone(),s=(v(t)||r(t)?t.valueOf():zt(t).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+s),e.updateOffset(n,!1),n):zt(t).local()}function Gt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Xt(t,i){var n,r=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=Ht(Rn,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(n=Gt(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),r!==t&&(!i||this._changeInProgress?ue(this,re(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?r:Gt(this):null!=t?this:NaN}function Zt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function qt(t){return this.utcOffset(0,t)}function Qt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Gt(this),"m")),this}function $t(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ht(An,this._i)),this}function Jt(t){return this.isValid()?(t=t?zt(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function Kt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function te(){if(!f(this._isDSTShifted))return this._isDSTShifted;var t={};if(p(t,this),t=At(t),t._a){var e=t._isUTC?h(t._a):zt(t._a);this._isDSTShifted=this.isValid()&&_(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function ee(){return this.isValid()?!this._isUTC:!1}function ie(){return this.isValid()?this._isUTC:!1}function ne(){return this.isValid()?this._isUTC&&0===this._offset:!1}function re(t,e){var i,n,r,s=t,a=null;return Bt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=dr.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:g(a[Bn])*i,h:g(a[Un])*i,m:g(a[Hn])*i,s:g(a[jn])*i,ms:g(a[Gn])*i}):(a=cr.exec(t))?(i="-"===a[1]?-1:1,s={y:se(a[2],i),M:se(a[3],i),w:se(a[4],i),d:se(a[5],i),h:se(a[6],i),m:se(a[7],i),s:se(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(r=ae(zt(s.from),zt(s.to)),s={},s.ms=r.milliseconds,s.M=r.months),n=new Vt(s),Bt(t)&&o(t,"_locale")&&(n._locale=t._locale),n}function se(t,e){var i=t&&parseFloat(t.replace(",",".")); +return(isNaN(i)?0:i)*e}function oe(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function ae(t,e){var i;return t.isValid()&&e.isValid()?(e=jt(e,t),t.isBefore(e)?i=oe(t,e):(i=oe(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function he(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function le(t,e){return function(i,n){var r,s;return null===n||isNaN(+n)||(b(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=n,n=s),i="string"==typeof i?+i:i,r=re(i,n),ue(this,r,t),this}}function ue(t,i,n,r){var s=i._milliseconds,o=he(i._days),a=he(i._months);t.isValid()&&(r=null==r?!0:r,s&&t._d.setTime(t._d.valueOf()+s*n),o&&V(t,"Date",F(t,"Date")+o*n),a&&at(t,F(t,"Month")+a*n),r&&e.updateOffset(t,o||a))}function de(t,e){var i=t||zt(),n=jt(i,this).startOf("day"),r=this.diff(n,"days",!0),s=-6>r?"sameElse":-1>r?"lastWeek":0>r?"lastDay":1>r?"sameDay":2>r?"nextDay":7>r?"nextWeek":"sameElse",o=e&&(M(e[s])?e[s]():e[s]);return this.format(o||this.localeData().calendar(s,this,zt(i)))}function ce(){return new m(this)}function fe(t,e){var i=v(t)?t:zt(t);return this.isValid()&&i.isValid()?(e=z(f(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()e-s?(i=t.clone().add(r-1,"months"),n=(e-s)/(s-i)):(i=t.clone().add(r+1,"months"),n=(e-s)/(i-s)),-(r+n)||0}function we(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function be(){var t=this.clone().utc();return 0s&&(e=s),Ze.call(this,t,e,i,n,r))}function Ze(t,e,i,n,r){var s=bt(t,e,i,n,r),o=yt(s.year,0,s.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function qe(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Qe(t){return Mt(t,this._week.dow,this._week.doy).week}function $e(){return this._week.dow}function Je(){return this._week.doy}function Ke(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function ti(t){var e=Mt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ei(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function ii(t,e){return n(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function ni(t){return this._weekdaysShort[t.day()]}function ri(t){return this._weekdaysMin[t.day()]}function si(t,e,i){var n,r,s,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;7>n;++n)s=h([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(r=pn.call(this._weekdaysParse,o),-1!==r?r:null):"ddd"===e?(r=pn.call(this._shortWeekdaysParse,o),-1!==r?r:null):(r=pn.call(this._minWeekdaysParse,o),-1!==r?r:null):"dddd"===e?(r=pn.call(this._weekdaysParse,o),-1!==r?r:(r=pn.call(this._shortWeekdaysParse,o),-1!==r?r:(r=pn.call(this._minWeekdaysParse,o),-1!==r?r:null))):"ddd"===e?(r=pn.call(this._shortWeekdaysParse,o),-1!==r?r:(r=pn.call(this._weekdaysParse,o),-1!==r?r:(r=pn.call(this._minWeekdaysParse,o),-1!==r?r:null))):(r=pn.call(this._minWeekdaysParse,o),-1!==r?r:(r=pn.call(this._weekdaysParse,o),-1!==r?r:(r=pn.call(this._shortWeekdaysParse,o),-1!==r?r:null)))}function oi(t,e,i){var n,r,s;if(this._weekdaysParseExact)return si.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;7>n;n++){if(r=h([2e3,1]).day(n),i&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[n]||(s="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[n]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[n].test(t))return n;if(i&&"ddd"===e&&this._shortWeekdaysParse[n].test(t))return n;if(i&&"dd"===e&&this._minWeekdaysParse[n].test(t))return n;if(!i&&this._weekdaysParse[n].test(t))return n}}function ai(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ei(t,this.localeData()),this.add(t-e,"d")):e}function hi(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function li(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:NaN}function ui(t){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||fi.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex}function di(t){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||fi.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}function ci(t){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||fi.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}function fi(){function t(t,e){return e.length-t.length}var e,i,n,r,s,o=[],a=[],l=[],u=[];for(e=0;7>e;e++)i=h([2e3,1]).day(e),n=this.weekdaysMin(i,""),r=this.weekdaysShort(i,""),s=this.weekdays(i,""),o.push(n),a.push(r),l.push(s),u.push(n),u.push(r),u.push(s);for(o.sort(t),a.sort(t),l.sort(t),u.sort(t),e=0;7>e;e++)a[e]=J(a[e]),l[e]=J(l[e]),u[e]=J(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function pi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function mi(){return this.hours()%12||12}function vi(){return this.hours()||24}function yi(t,e){H(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function gi(t,e){return e._meridiemParse}function _i(t){return"p"===(t+"").toLowerCase().charAt(0)}function xi(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function wi(t,e){e[Gn]=g(1e3*("0."+t))}function bi(){return this._isUTC?"UTC":""}function Mi(){return this._isUTC?"Coordinated Universal Time":""}function Si(t){return zt(1e3*t)}function Ti(){return zt.apply(null,arguments).parseZone()}function Di(t,e,i){var n=this._calendar[t];return M(n)?n.call(e,i):n}function ki(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function Ci(){return this._invalidDate}function Oi(t){return this._ordinal.replace("%d",t)}function Pi(t){return t}function Ei(t,e,i,n){var r=this._relativeTime[i];return M(r)?r(t,e,i,n):r.replace(/%d/i,t)}function Li(t,e){var i=this._relativeTime[t>0?"future":"past"];return M(i)?i(e):i.replace(/%s/i,e)}function Yi(t,e,i,n){var r=A(),s=h().set(n,e);return r[i](s,t)}function Ai(t,e,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return Yi(t,e,i,"month");var n,r=[];for(n=0;12>n;n++)r[n]=Yi(t,n,i,"month");return r}function Ri(t,e,i,n){"boolean"==typeof t?("number"==typeof e&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,"number"==typeof e&&(i=e,e=void 0),e=e||"");var r=A(),s=t?r._week.dow:0;if(null!=i)return Yi(e,(i+s)%7,n,"day");var o,a=[];for(o=0;7>o;o++)a[o]=Yi(e,(o+s)%7,n,"day");return a}function Ii(t,e){return Ai(t,e,"months")}function zi(t,e){return Ai(t,e,"monthsShort")}function Wi(t,e,i){return Ri(t,e,i,"weekdays")}function Ni(t,e,i){return Ri(t,e,i,"weekdaysShort")}function Fi(t,e,i){return Ri(t,e,i,"weekdaysMin")}function Vi(){var t=this._data;return this._milliseconds=Nr(this._milliseconds),this._days=Nr(this._days),this._months=Nr(this._months),t.milliseconds=Nr(t.milliseconds),t.seconds=Nr(t.seconds),t.minutes=Nr(t.minutes),t.hours=Nr(t.hours),t.months=Nr(t.months),t.years=Nr(t.years),this}function Bi(t,e,i,n){var r=re(e,i);return t._milliseconds+=n*r._milliseconds,t._days+=n*r._days,t._months+=n*r._months,t._bubble()}function Ui(t,e){return Bi(this,t,e,1)}function Hi(t,e){return Bi(this,t,e,-1)}function ji(t){return 0>t?Math.floor(t):Math.ceil(t)}function Gi(){var t,e,i,n,r,s=this._milliseconds,o=this._days,a=this._months,h=this._data;return s>=0&&o>=0&&a>=0||0>=s&&0>=o&&0>=a||(s+=864e5*ji(Zi(a)+o),o=0,a=0),h.milliseconds=s%1e3,t=y(s/1e3),h.seconds=t%60,e=y(t/60),h.minutes=e%60,i=y(e/60),h.hours=i%24,o+=y(i/24),r=y(Xi(o)),a+=r,o-=ji(Zi(r)),n=y(a/12),a%=12,h.days=o,h.months=a,h.years=n,this}function Xi(t){return 4800*t/146097}function Zi(t){return 146097*t/4800}function qi(t){var e,i,n=this._milliseconds;if(t=z(t),"month"===t||"year"===t)return e=this._days+n/864e5,i=this._months+Xi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Zi(this._months)),t){case"week":return e/7+n/6048e5;case"day":return e+n/864e5;case"hour":return 24*e+n/36e5;case"minute":return 1440*e+n/6e4;case"second":return 86400*e+n/1e3;case"millisecond":return Math.floor(864e5*e)+n;default:throw new Error("Unknown unit "+t)}}function Qi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12)}function $i(t){return function(){return this.as(t)}}function Ji(t){return t=z(t),this[t+"s"]()}function Ki(t){return function(){return this._data[t]}}function tn(){return y(this.days()/7)}function en(t,e,i,n,r){return r.relativeTime(e||1,!!i,t,n)}function nn(t,e,i){var n=re(t).abs(),r=es(n.as("s")),s=es(n.as("m")),o=es(n.as("h")),a=es(n.as("d")),h=es(n.as("M")),l=es(n.as("y")),u=r=s&&["m"]||s=o&&["h"]||o=a&&["d"]||a=h&&["M"]||h=l&&["y"]||["yy",l];return u[2]=e,u[3]=+t>0,u[4]=i,en.apply(null,u)}function rn(t,e){return void 0===is[t]?!1:void 0===e?is[t]:(is[t]=e,!0)}function sn(t){var e=this.localeData(),i=nn(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function on(){var t,e,i,n=ns(this._milliseconds)/1e3,r=ns(this._days),s=ns(this._months);t=y(n/60),e=y(t/60),n%=60,t%=60,i=y(s/12),s%=12;var o=i,a=s,h=r,l=e,u=t,d=n,c=this.asSeconds();return c?(0>c?"-":"")+"P"+(o?o+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(l||u||d?"T":"")+(l?l+"H":"")+(u?u+"M":"")+(d?d+"S":""):"P0D"}var an,hn;hn=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,n=0;i>n;n++)if(n in e&&t.call(this,e[n],n,e))return!0;return!1};var ln=e.momentProperties=[],un=!1,dn={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var cn;cn=Object.keys?Object.keys:function(t){var e,i=[];for(e in t)o(t,e)&&i.push(e);return i};var fn,pn,mn={},vn={},yn=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,gn=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,_n={},xn={},wn=/\d/,bn=/\d\d/,Mn=/\d{3}/,Sn=/\d{4}/,Tn=/[+-]?\d{6}/,Dn=/\d\d?/,kn=/\d\d\d\d?/,Cn=/\d\d\d\d\d\d?/,On=/\d{1,3}/,Pn=/\d{1,4}/,En=/[+-]?\d{1,6}/,Ln=/\d+/,Yn=/[+-]?\d+/,An=/Z|[+-]\d\d:?\d\d/gi,Rn=/Z|[+-]\d\d(?::?\d\d)?/gi,In=/[+-]?\d+(\.\d{1,3})?/,zn=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Wn={},Nn={},Fn=0,Vn=1,Bn=2,Un=3,Hn=4,jn=5,Gn=6,Xn=7,Zn=8;pn=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e=t?""+t:"+"+t}),H(0,["YY",2],0,function(){return this.year()%100}),H(0,["YYYY",4],0,"year"),H(0,["YYYYY",5],0,"year"),H(0,["YYYYYY",6,!0],0,"year"),I("year","y"),q("Y",Yn),q("YY",Dn,bn),q("YYYY",Pn,Sn),q("YYYYY",En,Tn),q("YYYYYY",En,Tn),K(["YYYYY","YYYYYY"],Fn),K("YYYY",function(t,i){i[Fn]=2===t.length?e.parseTwoDigitYear(t):g(t)}),K("YY",function(t,i){i[Fn]=e.parseTwoDigitYear(t)}),K("Y",function(t,e){e[Fn]=parseInt(t,10)}),e.parseTwoDigitYear=function(t){return g(t)+(g(t)>68?1900:2e3)};var or=N("FullYear",!0);e.ISO_8601=function(){};var ar=w("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=zt.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:c()}),hr=w("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=zt.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:c()}),lr=function(){return Date.now?Date.now():+new Date};Ut("Z",":"),Ut("ZZ",""),q("Z",Rn),q("ZZ",Rn),K(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Ht(Rn,t)});var ur=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var dr=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,cr=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;re.fn=Vt.prototype;var fr=le(1,"add"),pr=le(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var mr=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Be("gggg","weekYear"),Be("ggggg","weekYear"),Be("GGGG","isoWeekYear"),Be("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),q("G",Yn),q("g",Yn),q("GG",Dn,bn),q("gg",Dn,bn),q("GGGG",Pn,Sn),q("gggg",Pn,Sn),q("GGGGG",En,Tn),q("ggggg",En,Tn),tt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,n){e[n.substr(0,2)]=g(t)}),tt(["gg","GG"],function(t,i,n,r){i[r]=e.parseTwoDigitYear(t)}),H("Q",0,"Qo","quarter"),I("quarter","Q"),q("Q",wn),K("Q",function(t,e){e[Vn]=3*(g(t)-1)}),H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),q("w",Dn),q("ww",Dn,bn),q("W",Dn),q("WW",Dn,bn),tt(["w","ww","W","WW"],function(t,e,i,n){e[n.substr(0,1)]=g(t)});var vr={dow:0,doy:6};H("D",["DD",2],"Do","date"),I("date","D"),q("D",Dn),q("DD",Dn,bn),q("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),K(["D","DD"],Bn),K("Do",function(t,e){e[Bn]=g(t.match(Dn)[0],10)});var yr=N("Date",!0);H("d",0,"do","day"),H("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),H("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),H("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),q("d",Dn),q("e",Dn),q("E",Dn),q("dd",function(t,e){return e.weekdaysMinRegex(t)}),q("ddd",function(t,e){return e.weekdaysShortRegex(t)}),q("dddd",function(t,e){return e.weekdaysRegex(t)}),tt(["dd","ddd","dddd"],function(t,e,i,n){var r=i._locale.weekdaysParse(t,n,i._strict);null!=r?e.d=r:u(i).invalidWeekday=t}),tt(["d","e","E"],function(t,e,i,n){e[n]=g(t)});var gr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),_r="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),wr=zn,br=zn,Mr=zn;H("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),q("DDD",On),q("DDDD",Mn),K(["DDD","DDDD"],function(t,e,i){i._dayOfYear=g(t)}),H("H",["HH",2],0,"hour"),H("h",["hh",2],0,mi),H("k",["kk",2],0,vi),H("hmm",0,0,function(){return""+mi.apply(this)+U(this.minutes(),2)}),H("hmmss",0,0,function(){return""+mi.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),H("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),H("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),yi("a",!0),yi("A",!1),I("hour","h"),q("a",gi),q("A",gi),q("H",Dn),q("h",Dn),q("HH",Dn,bn),q("hh",Dn,bn),q("hmm",kn),q("hmmss",Cn),q("Hmm",kn),q("Hmmss",Cn),K(["H","HH"],Un),K(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),K(["h","hh"],function(t,e,i){e[Un]=g(t),u(i).bigHour=!0}),K("hmm",function(t,e,i){var n=t.length-2;e[Un]=g(t.substr(0,n)),e[Hn]=g(t.substr(n)),u(i).bigHour=!0}),K("hmmss",function(t,e,i){var n=t.length-4,r=t.length-2;e[Un]=g(t.substr(0,n)),e[Hn]=g(t.substr(n,2)),e[jn]=g(t.substr(r)),u(i).bigHour=!0}),K("Hmm",function(t,e,i){var n=t.length-2;e[Un]=g(t.substr(0,n)),e[Hn]=g(t.substr(n))}),K("Hmmss",function(t,e,i){var n=t.length-4,r=t.length-2;e[Un]=g(t.substr(0,n)),e[Hn]=g(t.substr(n,2)),e[jn]=g(t.substr(r))});var Sr=/[ap]\.?m?\.?/i,Tr=N("Hours",!0);H("m",["mm",2],0,"minute"),I("minute","m"),q("m",Dn),q("mm",Dn,bn),K(["m","mm"],Hn);var Dr=N("Minutes",!1);H("s",["ss",2],0,"second"),I("second","s"),q("s",Dn),q("ss",Dn,bn),K(["s","ss"],jn);var kr=N("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),I("millisecond","ms"),q("S",On,wn),q("SS",On,bn),q("SSS",On,Mn);var Cr;for(Cr="SSSS";Cr.length<=9;Cr+="S")q(Cr,Ln);for(Cr="S";Cr.length<=9;Cr+="S")K(Cr,wi);var Or=N("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var Pr=m.prototype;Pr.add=fr,Pr.calendar=de,Pr.clone=ce,Pr.diff=_e,Pr.endOf=Ee,Pr.format=Me,Pr.from=Se,Pr.fromNow=Te,Pr.to=De,Pr.toNow=ke,Pr.get=B,Pr.invalidAt=Fe,Pr.isAfter=fe,Pr.isBefore=pe,Pr.isBetween=me,Pr.isSame=ve,Pr.isSameOrAfter=ye,Pr.isSameOrBefore=ge,Pr.isValid=We,Pr.lang=mr,Pr.locale=Ce,Pr.localeData=Oe,Pr.max=hr,Pr.min=ar,Pr.parsingFlags=Ne,Pr.set=B,Pr.startOf=Pe,Pr.subtract=pr,Pr.toArray=Re,Pr.toObject=Ie,Pr.toDate=Ae,Pr.toISOString=be,Pr.toJSON=ze,Pr.toString=we,Pr.unix=Ye,Pr.valueOf=Le,Pr.creationData=Ve,Pr.year=or,Pr.isLeapYear=xt,Pr.weekYear=Ue,Pr.isoWeekYear=He,Pr.quarter=Pr.quarters=qe,Pr.month=ht,Pr.daysInMonth=lt,Pr.week=Pr.weeks=Ke,Pr.isoWeek=Pr.isoWeeks=ti,Pr.weeksInYear=Ge,Pr.isoWeeksInYear=je,Pr.date=yr,Pr.day=Pr.days=ai,Pr.weekday=hi,Pr.isoWeekday=li,Pr.dayOfYear=pi,Pr.hour=Pr.hours=Tr,Pr.minute=Pr.minutes=Dr,Pr.second=Pr.seconds=kr,Pr.millisecond=Pr.milliseconds=Or,Pr.utcOffset=Xt,Pr.utc=qt,Pr.local=Qt,Pr.parseZone=$t,Pr.hasAlignedHourOffset=Jt,Pr.isDST=Kt,Pr.isDSTShifted=te,Pr.isLocal=ee,Pr.isUtcOffset=ie,Pr.isUtc=ne,Pr.isUTC=ne,Pr.zoneAbbr=bi,Pr.zoneName=Mi,Pr.dates=w("dates accessor is deprecated. Use date instead.",yr),Pr.months=w("months accessor is deprecated. Use month instead",ht),Pr.years=w("years accessor is deprecated. Use year instead",or),Pr.zone=w("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Zt);var Er=Pr,Lr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Yr={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Ar="Invalid date",Rr="%d",Ir=/\d{1,2}/,zr={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"},Wr=k.prototype;Wr._calendar=Lr,Wr.calendar=Di,Wr._longDateFormat=Yr,Wr.longDateFormat=ki,Wr._invalidDate=Ar,Wr.invalidDate=Ci,Wr._ordinal=Rr,Wr.ordinal=Oi,Wr._ordinalParse=Ir,Wr.preparse=Pi,Wr.postformat=Pi,Wr._relativeTime=zr,Wr.relativeTime=Ei,Wr.pastFuture=Li,Wr.set=T,Wr.months=nt,Wr._months=Qn,Wr.monthsShort=rt,Wr._monthsShort=$n,Wr.monthsParse=ot,Wr._monthsRegex=Kn,Wr.monthsRegex=dt,Wr._monthsShortRegex=Jn,Wr.monthsShortRegex=ut,Wr.week=Qe,Wr._week=vr,Wr.firstDayOfYear=Je,Wr.firstDayOfWeek=$e,Wr.weekdays=ii,Wr._weekdays=gr,Wr.weekdaysMin=ri,Wr._weekdaysMin=xr,Wr.weekdaysShort=ni,Wr._weekdaysShort=_r,Wr.weekdaysParse=oi,Wr._weekdaysRegex=wr,Wr.weekdaysRegex=ui,Wr._weekdaysShortRegex=br,Wr.weekdaysShortRegex=di,Wr._weekdaysMinRegex=Mr,Wr.weekdaysMinRegex=ci,Wr.isPM=_i,Wr._meridiemParse=Sr,Wr.meridiem=xi,E("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===g(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=w("moment.lang is deprecated. Use moment.locale instead.",E),e.langData=w("moment.langData is deprecated. Use moment.localeData instead.",A);var Nr=Math.abs,Fr=$i("ms"),Vr=$i("s"),Br=$i("m"),Ur=$i("h"),Hr=$i("d"),jr=$i("w"),Gr=$i("M"),Xr=$i("y"),Zr=Ki("milliseconds"),qr=Ki("seconds"),Qr=Ki("minutes"),$r=Ki("hours"),Jr=Ki("days"),Kr=Ki("months"),ts=Ki("years"),es=Math.round,is={s:45,m:45,h:22,d:26,M:11},ns=Math.abs,rs=Vt.prototype;rs.abs=Vi,rs.add=Ui,rs.subtract=Hi,rs.as=qi,rs.asMilliseconds=Fr,rs.asSeconds=Vr,rs.asMinutes=Br,rs.asHours=Ur,rs.asDays=Hr,rs.asWeeks=jr,rs.asMonths=Gr,rs.asYears=Xr,rs.valueOf=Qi,rs._bubble=Gi,rs.get=Ji,rs.milliseconds=Zr,rs.seconds=qr,rs.minutes=Qr,rs.hours=$r,rs.days=Jr,rs.weeks=tn,rs.months=Kr,rs.years=ts,rs.humanize=sn,rs.toISOString=on,rs.toString=on,rs.toJSON=on,rs.locale=Ce,rs.localeData=Oe,rs.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",on),rs.lang=mr,H("X",0,0,"unix"),H("x",0,0,"valueOf"),q("x",Yn),q("X",In),K("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),K("x",function(t,e,i){i._d=new Date(g(t))}),e.version="2.13.0",i(zt),e.fn=Er,e.min=Nt,e.max=Ft,e.now=lr,e.utc=h,e.unix=Si,e.months=Ii,e.isDate=r,e.locale=E,e.invalid=c,e.duration=re,e.isMoment=v,e.weekdays=Wi,e.parseZone=Ti,e.localeData=A,e.isDuration=Bt,e.monthsShort=zi,e.weekdaysMin=Fi,e.defineLocale=L,e.updateLocale=Y,e.locales=R,e.weekdaysShort=Ni,e.normalizeUnits=z,e.relativeTimeThreshold=rn,e.prototype=Er;var ss=e;return ss})}).call(e,i(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=5},function(t,e){(function(e){function i(t,e,i){var n=e&&i||0,r=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){16>r&&(e[n+r++]=d[t])});16>r;)e[n+r++]=0;return e}function n(t,e){var i=e||0,n=u;return n[t[i++]]+n[t[i++]]+n[t[i++]]+n[t[i++]]+"-"+n[t[i++]]+n[t[i++]]+"-"+n[t[i++]]+n[t[i++]]+"-"+n[t[i++]]+n[t[i++]]+"-"+n[t[i++]]+n[t[i++]]+n[t[i++]]+n[t[i++]]+n[t[i++]]+n[t[i++]]}function r(t,e,i){var r=e&&i||0,s=e||[];t=t||{};var o=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:y+1,l=a-v+(h-y)/1e4;if(0>l&&void 0===t.clockseq&&(o=o+1&16383),(0>l||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,y=h,m=o,a+=122192928e5;var u=(1e4*(268435455&a)+h)%4294967296;s[r++]=u>>>24&255,s[r++]=u>>>16&255,s[r++]=u>>>8&255,s[r++]=255&u;var d=a/4294967296*1e4&268435455;s[r++]=d>>>8&255,s[r++]=255&d,s[r++]=d>>>24&15|16,s[r++]=d>>>16&255,s[r++]=o>>>8|128,s[r++]=255&o;for(var c=t.node||p,f=0;6>f;f++)s[r+f]=c[f];return e?e:n(s)}function s(t,e,i){var r=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||o)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[r+a]=s[a];return e||n(s)}var o,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);o=function(){return crypto.getRandomValues(h),h}}if(!o){var l=new Array(16);o=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),l[e]=t>>>((3&e)<<3)&255;return l}}for(var u=[],d={},c=0;256>c;c++)u[c]=(c+256).toString(16).substr(1),d[u[c]]=c;var f=o(),p=[1|f[0],f[1],f[2],f[3],f[4],f[5]],m=16383&(f[6]<<8|f[7]),v=0,y=0,g=s;g.v1=r,g.v4=s,g.parse=i,g.unparse=n,t.exports=g}).call(e,function(){return this}())},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?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(n)):(n=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(n)),e[t].used.push(n),n},e.getDOMElement=function(t,e,i,n){var r;return e.hasOwnProperty(t)?e[t].redundant.length>0?(r=e[t].redundant[0],e[t].redundant.shift()):(r=document.createElement(t),void 0!==n?i.insertBefore(r,n):i.appendChild(r)):(r=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==n?i.insertBefore(r,n):i.appendChild(r)),e[t].used.push(r),r},e.drawPoint=function(t,i,n,r,s,o){var a;if("circle"==n.style?(a=e.getSVGElement("circle",r,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*n.size)):(a=e.getSVGElement("rect",r,s),a.setAttributeNS(null,"x",t-.5*n.size),a.setAttributeNS(null,"y",i-.5*n.size),a.setAttributeNS(null,"width",n.size),a.setAttributeNS(null,"height",n.size)),void 0!==n.styles&&a.setAttributeNS(null,"style",n.styles),a.setAttributeNS(null,"class",n.className+" vis-point"),o){var h=e.getSVGElement("text",r,s);o.xOffset&&(t+=o.xOffset),o.yOffset&&(i+=o.yOffset), +o.content&&(h.textContent=o.content),o.className&&h.setAttributeNS(null,"class",o.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,n,r,s,o,a,h){if(0!=r){0>r&&(r*=-1,i-=r);var l=e.getSVGElement("rect",o,a);l.setAttributeNS(null,"x",t-.5*n),l.setAttributeNS(null,"y",i),l.setAttributeNS(null,"width",n),l.setAttributeNS(null,"height",r),l.setAttributeNS(null,"class",s),h&&l.setAttributeNS(null,"style",h)}}},function(t,e,i){function n(t,e){if(t&&!Array.isArray(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=Object.keys(this._options.type),n=0,r=i.length;r>n;n++){var s=i[n],o=this._options.type[s];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[s]="Date":this._type[s]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),o=i(9);n.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=o.extend(this,{replace:["add","update","remove"]})),"object"===r(t.queue)&&this._queue.setOptions(t.queue)))},n.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},n.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},n.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},n.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},n.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var n=[];t in this._subscribers&&(n=n.concat(this._subscribers[t])),"*"in this._subscribers&&(n=n.concat(this._subscribers["*"]));for(var r=0,s=n.length;s>r;r++){var o=n[r];o.callback&&o.callback(t,e,i||null)}},n.prototype.add=function(t,e){var i,n=[],r=this;if(Array.isArray(t))for(var s=0,o=t.length;o>s;s++)i=r._addItem(t[s]),n.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=r._addItem(t),n.push(i)}return n.length&&this._trigger("add",{items:n},e),n},n.prototype.update=function(t,e){var i=[],n=[],r=[],o=[],a=this,h=a._fieldId,l=function(t){var e=t[h];if(a._data[e]){var l=s.extend({},a._data[e]);e=a._updateItem(t),n.push(e),o.push(t),r.push(l)}else e=a._addItem(t),i.push(e)};if(Array.isArray(t))for(var u=0,d=t.length;d>u;u++)t[u]instanceof Object?l(t[u]):console.warn("Ignoring input item, which is not an object at index "+u);else{if(!(t instanceof Object))throw new Error("Unknown dataType");l(t)}if(i.length&&this._trigger("add",{items:i},e),n.length){var c={items:n,oldData:r,data:o};this._trigger("update",c,e)}return i.concat(n)},n.prototype.get=function(t){var e,i,n,r=this,o=s.getType(arguments[0]);"String"==o||"Number"==o?(e=arguments[0],n=arguments[1]):"Array"==o?(i=arguments[0],n=arguments[1]):n=arguments[0];var a;if(n&&n.returnType){var h=["Array","Object"];a=-1==h.indexOf(n.returnType)?"Array":n.returnType}else a="Array";var l,u,d,c,f,p=n&&n.type||this._options.type,m=n&&n.filter,v=[];if(void 0!=e)l=r._getItem(e,p),l&&m&&!m(l)&&(l=null);else if(void 0!=i)for(c=0,f=i.length;f>c;c++)l=r._getItem(i[c],p),m&&!m(l)||v.push(l);else for(u=Object.keys(this._data),c=0,f=u.length;f>c;c++)d=u[c],l=r._getItem(d,p),m&&!m(l)||v.push(l);if(n&&n.order&&void 0==e&&this._sort(v,n.order),n&&n.fields){var y=n.fields;if(void 0!=e)l=this._filterFields(l,y);else for(c=0,f=v.length;f>c;c++)v[c]=this._filterFields(v[c],y)}if("Object"==a){var g,_={};for(c=0,f=v.length;f>c;c++)g=v[c],_[g.id]=g;return _}return void 0!=e?l:v},n.prototype.getIds=function(t){var e,i,n,r,s,o=this._data,a=t&&t.filter,h=t&&t.order,l=t&&t.type||this._options.type,u=Object.keys(o),d=[];if(a)if(h){for(s=[],e=0,i=u.length;i>e;e++)n=u[e],r=this._getItem(n,l),a(r)&&s.push(r);for(this._sort(s,h),e=0,i=s.length;i>e;e++)d.push(s[e][this._fieldId])}else for(e=0,i=u.length;i>e;e++)n=u[e],r=this._getItem(n,l),a(r)&&d.push(r[this._fieldId]);else if(h){for(s=[],e=0,i=u.length;i>e;e++)n=u[e],s.push(o[n]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)d.push(s[e][this._fieldId])}else for(e=0,i=u.length;i>e;e++)n=u[e],r=o[n],d.push(r[this._fieldId]);return d},n.prototype.getDataSet=function(){return this},n.prototype.forEach=function(t,e){var i,n,r,s,o=e&&e.filter,a=e&&e.type||this._options.type,h=this._data,l=Object.keys(h);if(e&&e.order){var u=this.get(e);for(i=0,n=u.length;n>i;i++)r=u[i],s=r[this._fieldId],t(r,s)}else for(i=0,n=l.length;n>i;i++)s=l[i],r=this._getItem(s,a),o&&!o(r)||t(r,s)},n.prototype.map=function(t,e){var i,n,r,s,o=e&&e.filter,a=e&&e.type||this._options.type,h=[],l=this._data,u=Object.keys(l);for(i=0,n=u.length;n>i;i++)r=u[i],s=this._getItem(r,a),o&&!o(s)||h.push(t(s,r));return e&&e.order&&this._sort(h,e.order),h},n.prototype._filterFields=function(t,e){if(!t)return t;var i,n,r={},s=Object.keys(t),o=s.length;if(Array.isArray(e))for(i=0;o>i;i++)n=s[i],-1!=e.indexOf(n)&&(r[n]=t[n]);else for(i=0;o>i;i++)n=s[i],e.hasOwnProperty(n)&&(r[e[n]]=t[n]);return r},n.prototype._sort=function(t,e){if(s.isString(e)){var i=e;t.sort(function(t,e){var n=t[i],r=e[i];return n>r?1:r>n?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},n.prototype.remove=function(t,e){var i,n,r,s=[];if(Array.isArray(t))for(i=0,n=t.length;n>i;i++)r=this._remove(t[i]),null!=r&&s.push(r);else r=this._remove(t),null!=r&&s.push(r);return s.length&&this._trigger("remove",{items:s},e),s},n.prototype._remove=function(t){if(s.isNumber(t)||s.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(void 0!==e&&this._data[e])return delete this._data[e],this.length--,e}return null},n.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},n.prototype.max=function(t){var e,i,n=this._data,r=Object.keys(n),s=null,o=null;for(e=0,i=r.length;i>e;e++){var a=r[e],h=n[a],l=h[t];null!=l&&(!s||l>o)&&(s=h,o=l)}return s},n.prototype.min=function(t){var e,i,n=this._data,r=Object.keys(n),s=null,o=null;for(e=0,i=r.length;i>e;e++){var a=r[e],h=n[a],l=h[t];null!=l&&(!s||o>l)&&(s=h,o=l)}return s},n.prototype.distinct=function(t){var e,i,n,r=this._data,o=Object.keys(r),a=[],h=this._options.type&&this._options.type[t]||null,l=0;for(e=0,n=o.length;n>e;e++){var u=o[e],d=r[u],c=d[t],f=!1;for(i=0;l>i;i++)if(a[i]==c){f=!0;break}f||void 0===c||(a[l]=c,l++)}if(h)for(e=0,n=a.length;n>e;e++)a[e]=s.convert(a[e],h);return a},n.prototype._addItem=function(t){var e=t[this._fieldId];if(void 0!=e){if(this._data[e])throw new Error("Cannot add item: item with id "+e+" already exists")}else e=s.randomUUID(),t[this._fieldId]=e;var i,n,r={},o=Object.keys(t);for(i=0,n=o.length;n>i;i++){var a=o[i],h=this._type[a];r[a]=s.convert(t[a],h)}return this._data[e]=r,this.length++,e},n.prototype._getItem=function(t,e){var i,n,r,o,a=this._data[t];if(!a)return null;var h={},l=Object.keys(a);if(e)for(r=0,o=l.length;o>r;r++)i=l[r],n=a[i],h[i]=s.convert(n,e[i]);else for(r=0,o=l.length;o>r;r++)i=l[r],n=a[i],h[i]=n;return h},n.prototype._updateItem=function(t){var e=t[this._fieldId];if(void 0==e)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(t)+")");var i=this._data[e];if(!i)throw new Error("Cannot update item: no item with id "+e+" found");for(var n=Object.keys(t),r=0,o=n.length;o>r;r++){var a=n[r],h=this._type[a];i[a]=s.convert(t[a],h)}return e},t.exports=n},function(t,e){function i(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}i.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},i.extend=function(t,e){var n=new i(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){n.flush()};var r=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function n(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 r=i(1),s=i(8);n.prototype.setData=function(t){var e,i,n,r;if(this._data&&(this._data.off&&this._data.off("*",this.listener),e=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:e})),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}),n=0,r=e.length;r>n;n++)i=e[n],this._ids[i]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},n.prototype.refresh=function(){var t,e,i,n=this._data.getIds({filter:this._options&&this._options.filter}),r=Object.keys(this._ids),s={},o=[],a=[];for(e=0,i=n.length;i>e;e++)t=n[e],s[t]=!0,this._ids[t]||(o.push(t),this._ids[t]=!0);for(e=0,i=r.length;i>e;e++)t=r[e],s[t]||(a.push(t),delete this._ids[t]);this.length+=o.length-a.length,o.length&&this._trigger("add",{items:o}),a.length&&this._trigger("remove",{items:a})},n.prototype.get=function(t){var e,i,n,s=this,o=r.getType(arguments[0]);"String"==o||"Number"==o||"Array"==o?(e=arguments[0],i=arguments[1],n=arguments[2]):(i=arguments[0],n=arguments[1]);var a=r.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(t){return s._options.filter(t)&&i.filter(t)});var h=[];return void 0!=e&&h.push(e),h.push(a),h.push(n),this._data&&this._data.get.apply(this._data,h)},n.prototype.getIds=function(t){var e;if(this._data){var i,n=this._options.filter;i=t&&t.filter?n?function(e){return n(e)&&t.filter(e)}:t.filter:n,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},n.prototype.map=function(t,e){var i=[];if(this._data){var n,r=this._options.filter;n=e&&e.filter?r?function(t){return r(t)&&e.filter(t)}:e.filter:r,i=this._data.map(t,{filter:n,order:e&&e.order})}else i=[];return i},n.prototype.getDataSet=function(){for(var t=this;t instanceof n;)t=t._data;return t||null},n.prototype._onEvent=function(t,e,i){var n,r,s,o,a=e&&e.items,h=this._data,l=[],u=[],d=[],c=[];if(a&&h){switch(t){case"add":for(n=0,r=a.length;r>n;n++)s=a[n],o=this.get(s),o&&(this._ids[s]=!0,u.push(s));break;case"update":for(n=0,r=a.length;r>n;n++)s=a[n],o=this.get(s),o?this._ids[s]?(d.push(s),l.push(e.data[n])):(this._ids[s]=!0,u.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(n=0,r=a.length;r>n;n++)s=a[n],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=u.length-c.length,u.length&&this._trigger("add",{items:u},i),d.length&&this._trigger("update",{items:d,data:l},i),c.length&&this._trigger("remove",{items:c},i)}},n.prototype.on=s.prototype.on,n.prototype.off=s.prototype.off,n.prototype._trigger=s.prototype._trigger,n.prototype.subscribe=n.prototype.on,n.prototype.unsubscribe=n.prototype.off,t.exports=n},function(t,e,i){function n(t,e,i){if(!(this instanceof n))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 r=function(t){return t};this.xValueLabel=r,this.yValueLabel=r,this.zValueLabel=r,this.filterLabel="time",this.legendLabel="value",this.style=n.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 f,this.camera.setArmRotation(1,.5),this.camera.setArmLength(1.7),this.eye=new d(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.axisColor="#4D4D4D",this.gridColor="#D3D3D3",this.dataColor={fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},this.dotSizeRatio=.02,this.create(),this.setOptions(i),e&&this.setData(e)}function r(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},a=i(12),h=i(8),l=i(10),u=i(1),d=i(13),c=i(14),f=i(15),p=i(16),m=i(17),v=i(18);a(n.prototype),n.prototype._setScale=function(){this.scale=new d(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!==n.STYLE.DOTCOLOR&&this.style!==n.STYLE.DOTSIZE&&this.style!==n.STYLE.BARCOLOR&&this.style!==n.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)}},n.prototype.getNumberOfRows=function(t){return t.length},n.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},n.prototype.getDistinctValues=function(t,e){for(var i=[],n=0;nt[n][e]&&(i.min=t[n][e]),i.maxt;t++){var p=(t-c)/(f-c),m=240*p,y=this._hsv2rgb(m,1,1);d.strokeStyle=y,d.beginPath(),d.moveTo(h,o+t),d.lineTo(a,o+t),d.stroke()}d.strokeStyle=this.axisColor,d.strokeRect(h,o,i,s)}if(this.style===n.STYLE.DOTSIZE&&(d.strokeStyle=this.axisColor,d.fillStyle=this.dataColor.fill,d.beginPath(),d.moveTo(h,o),d.lineTo(a,o),d.lineTo(a-i+e,l),d.lineTo(h,l),d.closePath(),d.fill(),d.stroke()),this.style===n.STYLE.DOTCOLOR||this.style===n.STYLE.DOTSIZE){var g=5,_=new v(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(_.start(),_.getCurrent()0?this.yMin:this.yMax,r=this._convert3Dto2D(new d(w,o,this.zMin)),Math.cos(2*x)>0?(m.textAlign="center",m.textBaseline="top",r.y+=_):Math.sin(2*x)<0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(" "+this.xValueLabel(i.getCurrent())+" ",r.x,r.y),i.next()}for(m.lineWidth=1,n=void 0===this.defaultYStep,i=new v(this.yMin,this.yMax,this.yStep,n),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=this._convert3Dto2D(new d(s,i.getCurrent(),this.zMin)),Math.cos(2*x)<0?(m.textAlign="center",m.textBaseline="top",r.y+=_):Math.sin(2*x)>0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(" "+this.yValueLabel(i.getCurrent())+" ",r.x,r.y),i.next();for(m.lineWidth=1,n=void 0===this.defaultZStep,i=new v(this.zMin,this.zMax,this.zStep,n),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=Math.sin(x)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new d(s,o,i.getCurrent())),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(t.x-_,t.y),m.stroke(),m.textAlign="right",m.textBaseline="middle",m.fillStyle=this.axisColor,m.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();m.lineWidth=1,t=this._convert3Dto2D(new d(s,o,this.zMin)),e=this._convert3Dto2D(new d(s,o,this.zMax)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke(),m.lineWidth=1,c=this._convert3Dto2D(new d(this.xMin,this.yMin,this.zMin)),f=this._convert3Dto2D(new d(this.xMax,this.yMin,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(c.x,c.y),m.lineTo(f.x,f.y),m.stroke(),c=this._convert3Dto2D(new d(this.xMin,this.yMax,this.zMin)),f=this._convert3Dto2D(new d(this.xMax,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(c.x,c.y),m.lineTo(f.x,f.y),m.stroke(),m.lineWidth=1,t=this._convert3Dto2D(new d(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new d(this.xMin,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke(),t=this._convert3Dto2D(new d(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new d(this.xMax,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke();var b=this.xLabel;b.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,o=Math.cos(x)>0?this.yMin-u:this.yMax+u,r=this._convert3Dto2D(new d(s,o,this.zMin)),Math.cos(2*x)>0?(m.textAlign="center",m.textBaseline="top"):Math.sin(2*x)<0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(b,r.x,r.y));var M=this.yLabel;M.length>0&&(l=.1/this.scale.x,s=Math.sin(x)>0?this.xMin-l:this.xMax+l,o=(this.yMin+this.yMax)/2,r=this._convert3Dto2D(new d(s,o,this.zMin)),Math.cos(2*x)<0?(m.textAlign="center",m.textBaseline="top"):Math.sin(2*x)>0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(M,r.x,r.y));var S=this.zLabel;S.length>0&&(h=30,s=Math.cos(x)>0?this.xMin:this.xMax,o=Math.sin(x)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,r=this._convert3Dto2D(new d(s,o,a)),m.textAlign="right",m.textBaseline="middle",m.fillStyle=this.axisColor,m.fillText(S,r.x-h,r.y))},n.prototype._hsv2rgb=function(t,e,i){var n,r,s,o,a,h;switch(o=i*e,a=Math.floor(t/60),h=o*(1-Math.abs(t/60%2-1)),a){case 0:n=o,r=h,s=0;break;case 1:n=h,r=o,s=0;break;case 2:n=0,r=o,s=h;break;case 3:n=0,r=h,s=o;break;case 4:n=h,r=0,s=o;break;case 5:n=o,r=0,s=h;break;default:n=0,r=0,s=0}return"RGB("+parseInt(255*n)+","+parseInt(255*r)+","+parseInt(255*s)+")"},n.prototype._redrawDataGrid=function(){var t,e,i,r,s,o,a,h,l,u,c,f,p=this.frame.canvas,m=p.getContext("2d");if(m.lineJoin="round",m.lineCap="round",!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else o=!0;o?(f=(t.point.z+e.point.z+i.point.z+r.point.z)/4,l=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),u=1,this.showShadow?(c=Math.min(1+b.x/M/2,1),a=this._hsv2rgb(l,u,c),h=a):(c=1,a=this._hsv2rgb(l,u,c),h=this.axisColor)):(a="gray",h=this.axisColor),m.lineWidth=this._getStrokeWidth(t),m.fillStyle=a,m.strokeStyle=h,m.beginPath(),m.moveTo(t.screen.x,t.screen.y),m.lineTo(e.screen.x,e.screen.y),m.lineTo(r.screen.x,r.screen.y),m.lineTo(i.screen.x,i.screen.y),m.closePath(),m.fill(),m.stroke()}}else for(s=0;sc&&(c=0);var f,p,m;this.style===n.STYLE.DOTCOLOR?(f=240*(1-(l.point.value-this.valueMin)*this.scale.value),p=this._hsv2rgb(f,1,1),m=this._hsv2rgb(f,1,.8)):this.style===n.STYLE.DOTSIZE?(p=this.dataColor.fill,m=this.dataColor.stroke):(f=240*(1-(l.point.z-this.zMin)*this.scale.z/this.verticalRatio),p=this._hsv2rgb(f,1,1),m=this._hsv2rgb(f,1,.8)),i.lineWidth=this._getStrokeWidth(l),i.strokeStyle=m,i.fillStyle=p,i.beginPath(),i.arc(l.screen.x,l.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},n.prototype._redrawDataBar=function(){var t,e,i,r,s=this.frame.canvas,o=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0){for(t=this.dataPoints[0],n.lineWidth=this._getStrokeWidth(t),n.lineJoin="round",n.lineCap="round",n.strokeStyle=this.dataColor.stroke,n.beginPath(),n.moveTo(t.screen.x,t.screen.y),e=1;e0?1:0>t?-1:0}var n=e[0],r=e[1],s=e[2],o=i((r.x-n.x)*(t.y-n.y)-(r.y-n.y)*(t.x-n.x)),a=i((s.x-r.x)*(t.y-r.y)-(s.y-r.y)*(t.x-r.x)),h=i((n.x-s.x)*(t.y-s.y)-(n.y-s.y)*(t.x-s.x));return!(0!=o&&0!=a&&o!=a||0!=a&&0!=h&&a!=h||0!=o&&0!=h&&o!=h)},n.prototype._dataPointFromXY=function(t,e){var i,r=100,s=null,o=null,a=null,h=new c(t,e);if(this.style===n.STYLE.BAR||this.style===n.STYLE.BARCOLOR||this.style===n.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var l=s.surfaces;if(l)for(var u=l.length-1;u>=0;u--){var d=l[u],f=d.corners,p=[f[0].screen,f[1].screen,f[2].screen],m=[f[2].screen,f[3].screen,f[0].screen];if(this._insideTriangle(h,p)||this._insideTriangle(h,m))return s}}else for(i=0;i_)&&r>_&&(a=_,o=s)}}return o},n.prototype._showTooltip=function(t){var e,i,n;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,n=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",n=document.createElement("div"),n.style.position="absolute",n.style.height="0",n.style.width="0",n.style.border="5px solid #4d4d4d",n.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:n}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
"+this.xLabel+":"+t.point.x+"
"+this.yLabel+":"+t.point.y+"
"+this.zLabel+":"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(n);var r=e.offsetWidth,s=e.offsetHeight,o=i.offsetHeight,a=n.offsetWidth,h=n.offsetHeight,l=t.screen.x-r/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-r),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-o+"px",e.style.left=l+"px",e.style.top=t.screen.y-o-s+"px",n.style.left=t.screen.x-a/2+"px",n.style.top=t.screen.y-h/2+"px"},n.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=n},function(t,e){function i(t){return t?n(t):void 0}function n(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){n.off(t,i),e.apply(this,arguments)}var n=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 n,r=0;rn;++n)i[n].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){function i(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}i.subtract=function(t,e){var n=new i;return n.x=t.x-e.x,n.y=t.y-e.y,n.z=t.z-e.z,n},i.add=function(t,e){var n=new i;return n.x=t.x+e.x,n.y=t.y+e.y,n.z=t.z+e.z,n},i.avg=function(t,e){return new i((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},i.crossProduct=function(t,e){var n=new i;return n.x=t.y*e.z-t.z*e.y,n.y=t.z*e.x-t.x*e.z,n.z=t.x*e.y-t.y*e.x,n},i.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=i},function(t,e){function i(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=i},function(t,e,i){function n(){this.armLocation=new r,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new r,this.cameraRotation=new r(.5*Math.PI,0,0),this.calculateCameraOrientation()}var r=i(13);n.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},n.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()},n.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},n.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},n.prototype.getArmLength=function(){return this.armLength},n.prototype.getCameraLocation=function(){return this.cameraLocation},n.prototype.getCameraRotation=function(){return this.cameraRotation},n.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=n},function(t,e,i){function n(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 r=i(10);n.prototype.isLoaded=function(){return this.loaded},n.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},n.prototype.getLabel=function(){return this.graph.filterLabel},n.prototype.getColumn=function(){return this.column},n.prototype.getSelectedValue=function(){return void 0!==this.index?this.values[this.index]:void 0},n.prototype.getValues=function(){return this.values},n.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},n.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 n=new r(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(n),this.dataPoints[t]=e}return e},n.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},n.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},n.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},n.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},n.prototype.setIndex=function(t){if(!(tn&&(n=0),n>this.values.length-1&&(n=this.values.length-1),n},n.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,n=i+3;return n},n.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,n=this.leftToIndex(i);this.setIndex(n),r.preventDefault()},n.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",r.removeEventListener(document,"mousemove",this.onmousemove),r.removeEventListener(document,"mouseup",this.onmouseup),r.preventDefault()},t.exports=n},function(t,e){function i(t,e,i,n){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,n)}i.prototype.setRange=function(t,e,i,n){this._start=t?t:0,this._end=e?e:0,this.setStep(i,n)},i.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),n=2*Math.pow(10,Math.round(e(t/2))),r=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(n-t)<=Math.abs(s-t)&&(s=n),Math.abs(r-t)<=Math.abs(s-t)&&(s=r),0>=s&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(){this._current=this._start-this._start%this._step},i.prototype.next=function(){this._current+=this._step},i.prototype.end=function(){return this._current>this._end},t.exports=i},function(t,e,i){if("undefined"!=typeof window){var n=i(20),r=window.Hammer||i(21);t.exports=n(r,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var n,r,s;!function(i){r=[],n=i,s="function"==typeof n?n.apply(e,r):n,!(void 0!==s&&(t.exports=s))}(function(){var t=null;return function e(i,n){function r(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var n=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof n&&(e.srcEvent.stopPropagation=function(){n(),e.stopPropagation()}),e.firstTarget=t;for(var r=t;r&&!i;){var s=r.hammer;if(s)for(var o,a=0;a0?l._handlers[t]=n:(i.off(t,s),delete l._handlers[t]))}),l},l.emit=function(e,n){t=n.target,i.emit(e,n)},l.destroy=function(){var t=i.element.hammer,e=t.indexOf(l);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,l._handlers={},i.destroy()},l}})},function(t,e,i){var n;/*! Hammer.JS - v2.0.6 - 2015-12-23 * http://hammerjs.github.io/ * * Copyright (c) 2015 Jorik Tangelder; * Licensed under the license */ -!function(r,s,o,a){function h(t,e,i){return setTimeout(f(t,i),e)}function l(t,e,i){return Array.isArray(t)?(u(t,i[e],i),!0):!1}function u(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(n=0;n\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,n,i),t.apply(this,arguments)}}function d(t,e,i){var n,r=e.prototype;n=t.prototype=Object.create(r),n.constructor=t,n._super=r,i&&ct(n,i)}function f(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==pt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){u(x(e),function(e){t.addEventListener(e,i,!1)})}function y(t,e,i){u(x(e),function(e){t.removeEventListener(e,i,!1)})}function g(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function _(t,e){return t.indexOf(e)>-1}function x(t){return t.trim().split(/\s+/g)}function b(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;ni[e]}):n.sort()),n}function S(t,e){for(var i,n,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=L(e):1===r&&(i.firstMultiple=!1);var s=i.firstInput,o=i.firstMultiple,a=o?o.center:s.center,h=e.center=A(n);e.timeStamp=yt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=W(a,h),e.distance=R(a,h),P(i,e),e.offsetDirection=z(e.deltaX,e.deltaY);var l=I(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=l.x,e.overallVelocityY=l.y,e.overallVelocity=vt(l.x)>vt(l.y)?l.x:l.y,e.scale=o?F(o.pointers,n):1,e.rotation=o?N(o.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,Y(i,e);var u=t.element;g(e.srcEvent.target,u)&&(u=e.srcEvent.target),e.target=u}function P(t,e){var i=e.center,n=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Ot&&s.eventType!==Yt||(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=r.x+(i.x-n.x),e.deltaY=r.y+(i.y-n.y)}function Y(t,e){var i,n,r,s,o=t.lastInterval||e,h=e.timeStamp-o.timeStamp;if(e.eventType!=Lt&&(h>Et||o.velocity===a)){var l=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,c=I(h,l,u);n=c.x,r=c.y,i=vt(c.x)>vt(c.y)?c.x:c.y,s=z(l,u),t.lastInterval=e}else i=o.velocity,n=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=i,e.velocityX=n,e.velocityY=r,e.direction=s}function L(t){for(var e=[],i=0;ir;)i+=t[r].clientX,n+=t[r].clientY,r++;return{x:mt(i/e),y:mt(n/e)}}function I(t,e,i){return{x:e/t||0,y:i/t||0}}function z(t,e){return t===e?At:vt(t)>=vt(e)?0>t?It:zt:0>e?Rt:Wt}function R(t,e,i){i||(i=Bt);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return Math.sqrt(n*n+r*r)}function W(t,e,i){i||(i=Bt);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return 180*Math.atan2(r,n)/Math.PI}function N(t,e){return W(e[1],e[0],Ut)+W(t[1],t[0],Ut)}function F(t,e){return R(e[0],e[1],Ut)/R(t[0],t[1],Ut)}function V(){this.evEl=jt,this.evWin=Gt,this.allow=!0,this.pressed=!1,C.apply(this,arguments)}function B(){this.evEl=qt,this.evWin=$t,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function U(){this.evTarget=Jt,this.evWin=Kt,this.started=!1,C.apply(this,arguments)}function H(t,e){var i=w(t.touches),n=w(t.changedTouches);return e&(Yt|Lt)&&(i=M(i.concat(n),"identifier",!0)),[i,n]}function j(){this.evTarget=ee,this.targetIds={},C.apply(this,arguments)}function G(t,e){var i=w(t.touches),n=this.targetIds;if(e&(Ot|Pt)&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,s,o=w(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return g(t.target,h)}),e===Ot)for(r=0;ra&&(e.push(t),a=e.length-1):r&(Yt|Lt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Qt={touchstart:Ot,touchmove:Pt,touchend:Yt,touchcancel:Lt},Jt="touchstart",Kt="touchstart touchmove touchend touchcancel";d(U,C,{handler:function(t){var e=Qt[t.type];if(e===Ot&&(this.started=!0),this.started){var i=H.call(this,t,e);e&(Yt|Lt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Tt,srcEvent:t})}}});var te={touchstart:Ot,touchmove:Pt,touchend:Yt,touchcancel:Lt},ee="touchstart touchmove touchend touchcancel";d(j,C,{handler:function(t){var e=te[t.type],i=G.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Tt,srcEvent:t})}}),d(X,C,{handler:function(t,e,i){var n=i.pointerType==Tt,r=i.pointerType==Ct;if(n)this.mouse.allow=!1;else if(r&&!this.mouse.allow)return;e&(Yt|Lt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ie=S(ft.style,"touchAction"),ne=ie!==a,re="compute",se="auto",oe="manipulation",ae="none",he="pan-x",le="pan-y";Z.prototype={set:function(t){t==re&&(t=this.compute()),ne&&this.manager.element.style&&(this.manager.element.style[ie]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return u(this.manager.recognizers,function(e){p(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),q(t.join(" "))},preventDefaults:function(t){if(!ne){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var n=this.actions,r=_(n,ae),s=_(n,le),o=_(n,he);if(r){var a=1===t.pointers.length,h=t.distance<2,l=t.deltaTime<250;if(a&&h&&l)return}if(!o||!s)return r||s&&i&Nt||o&&i&Ft?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var ue=1,ce=2,de=4,fe=8,pe=fe,me=16,ve=32;$.prototype={defaults:{},set:function(t){return ct(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(l(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=K(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return l(t,"dropRecognizeWith",this)?this:(t=K(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(l(t,"requireFailure",this))return this;var e=this.requireFail;return t=K(t,this),-1===b(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(l(t,"dropRequireFailure",this))return this;t=K(t,this);var e=b(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,n=this.state;fe>n&&e(i.options.event+Q(n)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),n>=fe&&e(i.options.event+Q(n))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ve)},canEmit:function(){for(var t=0;ts?It:zt,i=s!=this.pX,n=Math.abs(t.deltaX)):(r=0===o?At:0>o?Rt:Wt,i=o!=this.pY,n=Math.abs(t.deltaY))),t.direction=r,i&&n>e.threshold&&r&e.direction},attrTest:function(t){return tt.prototype.attrTest.call(this,t)&&(this.state&ce||!(this.state&ce)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=J(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),d(it,tt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ce)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),d(nt,$,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distancee.time;if(this._input=t,!n||!i||t.eventType&(Yt|Lt)&&!r)this.reset();else if(t.eventType&Ot)this.reset(),this._timer=h(function(){this.state=pe,this.tryEmit()},e.time,this);else if(t.eventType&Yt)return pe;return ve},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===pe&&(t&&t.eventType&Yt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=yt(),this.manager.emit(this.options.event,this._input)))}}),d(rt,tt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ce)}}),d(st,tt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Nt|Ft,pointers:1},getTouchAction:function(){return et.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Nt|Ft)?e=t.overallVelocity:i&Nt?e=t.overallVelocityX:i&Ft&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&vt(e)>this.options.velocity&&t.eventType&Yt},emit:function(t){var e=J(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),d(ot,$,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance=e;e++)o[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)o[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)o[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)o["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)o["num"+e]={code:96+e,shift:!1};o["num*"]={code:106,shift:!1},o["num+"]={code:107,shift:!1},o["num-"]={code:109,shift:!1},o["num/"]={code:111,shift:!1},o["num."]={code:110,shift:!1},o.left={code:37,shift:!1},o.up={code:38,shift:!1},o.right={code:39,shift:!1},o.down={code:40,shift:!1},o.space={code:32,shift:!1},o.enter={code:13,shift:!1},o.shift={code:16,shift:void 0},o.esc={code:27,shift:!1},o.backspace={code:8,shift:!1},o.tab={code:9,shift:!1},o.ctrl={code:17,shift:!1},o.alt={code:18,shift:!1},o["delete"]={code:46,shift:!1},o.pageup={code:33,shift:!1},o.pagedown={code:34,shift:!1},o["="]={code:187,shift:!1},o["-"]={code:189,shift:!1},o["]"]={code:221,shift:!1},o["["]={code:219,shift:!1};var a=function(t){l(t,"keydown")},h=function(t){l(t,"keyup")},l=function(t,e){if(void 0!==s[e][t.keyCode]){for(var n=s[e][t.keyCode],r=0;r\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,n,i),t.apply(this,arguments)}}function c(t,e,i){var n,r=e.prototype;n=t.prototype=Object.create(r),n.constructor=t,n._super=r,i&&dt(n,i)}function f(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==pt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){u(x(e),function(e){t.addEventListener(e,i,!1)})}function y(t,e,i){u(x(e),function(e){t.removeEventListener(e,i,!1)})}function g(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function _(t,e){return t.indexOf(e)>-1}function x(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;ni[e]}):n.sort()),n}function S(t,e){for(var i,n,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=Y(e):1===r&&(i.firstMultiple=!1);var s=i.firstInput,o=i.firstMultiple,a=o?o.center:s.center,h=e.center=A(n);e.timeStamp=yt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=W(a,h),e.distance=z(a,h),E(i,e),e.offsetDirection=I(e.deltaX,e.deltaY);var l=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=l.x,e.overallVelocityY=l.y,e.overallVelocity=vt(l.x)>vt(l.y)?l.x:l.y,e.scale=o?F(o.pointers,n):1,e.rotation=o?N(o.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,L(i,e);var u=t.element;g(e.srcEvent.target,u)&&(u=e.srcEvent.target),e.target=u}function E(t,e){var i=e.center,n=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Pt&&s.eventType!==Lt||(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=r.x+(i.x-n.x),e.deltaY=r.y+(i.y-n.y)}function L(t,e){var i,n,r,s,o=t.lastInterval||e,h=e.timeStamp-o.timeStamp;if(e.eventType!=Yt&&(h>Ot||o.velocity===a)){var l=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,d=R(h,l,u);n=d.x,r=d.y,i=vt(d.x)>vt(d.y)?d.x:d.y,s=I(l,u),t.lastInterval=e}else i=o.velocity,n=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=i,e.velocityX=n,e.velocityY=r,e.direction=s}function Y(t){for(var e=[],i=0;ir;)i+=t[r].clientX,n+=t[r].clientY,r++;return{x:mt(i/e),y:mt(n/e)}}function R(t,e,i){return{x:e/t||0,y:i/t||0}}function I(t,e){return t===e?At:vt(t)>=vt(e)?0>t?Rt:It:0>e?zt:Wt}function z(t,e,i){i||(i=Bt);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return Math.sqrt(n*n+r*r)}function W(t,e,i){i||(i=Bt);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return 180*Math.atan2(r,n)/Math.PI}function N(t,e){return W(e[1],e[0],Ut)+W(t[1],t[0],Ut)}function F(t,e){return z(e[0],e[1],Ut)/z(t[0],t[1],Ut)}function V(){this.evEl=jt,this.evWin=Gt,this.allow=!0,this.pressed=!1,k.apply(this,arguments)}function B(){this.evEl=qt,this.evWin=Qt,k.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function U(){this.evTarget=Jt,this.evWin=Kt,this.started=!1,k.apply(this,arguments)}function H(t,e){var i=b(t.touches),n=b(t.changedTouches);return e&(Lt|Yt)&&(i=M(i.concat(n),"identifier",!0)),[i,n]}function j(){this.evTarget=ee,this.targetIds={},k.apply(this,arguments)}function G(t,e){var i=b(t.touches),n=this.targetIds;if(e&(Pt|Et)&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,s,o=b(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return g(t.target,h)}),e===Pt)for(r=0;ra&&(e.push(t),a=e.length-1):r&(Lt|Yt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var $t={touchstart:Pt,touchmove:Et,touchend:Lt,touchcancel:Yt},Jt="touchstart",Kt="touchstart touchmove touchend touchcancel";c(U,k,{handler:function(t){var e=$t[t.type];if(e===Pt&&(this.started=!0),this.started){var i=H.call(this,t,e);e&(Lt|Yt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Tt,srcEvent:t})}}});var te={touchstart:Pt,touchmove:Et,touchend:Lt,touchcancel:Yt},ee="touchstart touchmove touchend touchcancel";c(j,k,{handler:function(t){var e=te[t.type],i=G.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Tt,srcEvent:t})}}),c(X,k,{handler:function(t,e,i){var n=i.pointerType==Tt,r=i.pointerType==kt;if(n)this.mouse.allow=!1;else if(r&&!this.mouse.allow)return;e&(Lt|Yt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ie=S(ft.style,"touchAction"),ne=ie!==a,re="compute",se="auto",oe="manipulation",ae="none",he="pan-x",le="pan-y";Z.prototype={set:function(t){t==re&&(t=this.compute()),ne&&this.manager.element.style&&(this.manager.element.style[ie]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return u(this.manager.recognizers,function(e){p(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),q(t.join(" "))},preventDefaults:function(t){if(!ne){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var n=this.actions,r=_(n,ae),s=_(n,le),o=_(n,he);if(r){var a=1===t.pointers.length,h=t.distance<2,l=t.deltaTime<250;if(a&&h&&l)return}if(!o||!s)return r||s&&i&Nt||o&&i&Ft?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var ue=1,de=2,ce=4,fe=8,pe=fe,me=16,ve=32;Q.prototype={defaults:{},set:function(t){return dt(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(l(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=K(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return l(t,"dropRecognizeWith",this)?this:(t=K(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(l(t,"requireFailure",this))return this;var e=this.requireFail;return t=K(t,this),-1===w(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(l(t,"dropRequireFailure",this))return this;t=K(t,this);var e=w(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,n=this.state;fe>n&&e(i.options.event+$(n)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),n>=fe&&e(i.options.event+$(n))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ve)},canEmit:function(){for(var t=0;ts?Rt:It,i=s!=this.pX,n=Math.abs(t.deltaX)):(r=0===o?At:0>o?zt:Wt,i=o!=this.pY,n=Math.abs(t.deltaY))),t.direction=r,i&&n>e.threshold&&r&e.direction},attrTest:function(t){return tt.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=J(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(it,tt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(nt,Q,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distancee.time;if(this._input=t,!n||!i||t.eventType&(Lt|Yt)&&!r)this.reset();else if(t.eventType&Pt)this.reset(),this._timer=h(function(){this.state=pe,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return pe;return ve},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===pe&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=yt(),this.manager.emit(this.options.event,this._input)))}}),c(rt,tt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),c(st,tt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Nt|Ft,pointers:1},getTouchAction:function(){return et.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Nt|Ft)?e=t.overallVelocity:i&Nt?e=t.overallVelocityX:i&Ft&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&vt(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=J(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(ot,Q,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance=e;e++)o[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)o[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)o[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)o["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)o["num"+e]={code:96+e,shift:!1};o["num*"]={code:106,shift:!1},o["num+"]={code:107,shift:!1},o["num-"]={code:109,shift:!1},o["num/"]={code:111,shift:!1},o["num."]={code:110,shift:!1},o.left={code:37,shift:!1},o.up={code:38,shift:!1},o.right={code:39,shift:!1},o.down={code:40,shift:!1},o.space={code:32,shift:!1},o.enter={code:13,shift:!1},o.shift={code:16,shift:void 0},o.esc={code:27,shift:!1},o.backspace={code:8,shift:!1},o.tab={code:9,shift:!1},o.ctrl={code:17,shift:!1},o.alt={code:18,shift:!1},o["delete"]={code:46,shift:!1},o.pageup={code:33,shift:!1},o.pagedown={code:34,shift:!1},o["="]={code:187,shift:!1},o["-"]={code:189,shift:!1},o["]"]={code:221,shift:!1},o["["]={code:219,shift:!1};var a=function(t){l(t,"keydown")},h=function(t){l(t,"keyup")},l=function(t,e){if(void 0!==s[e][t.keyCode]){for(var n=s[e][t.keyCode],r=0;ri;i++)if(e[i]!=t[i])return!1;return!0},t.convert=function(e,i){var o;if(void 0!==e){if(null===e)return null;if(!i)return e;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(e);case"number":case"Number":return Number(e.valueOf());case"string":case"String":return String(e);case"Date":if(t.isNumber(e))return new Date(e);if(e instanceof Date)return new Date(e.valueOf());if(n.isMoment(e))return new Date(e.valueOf());if(t.isString(e))return o=r.exec(e),o?new Date(Number(o[1])):n(e).toDate();throw new Error("Cannot convert object of type "+t.getType(e)+" to type Date");case"Moment":if(t.isNumber(e))return n(e);if(e instanceof Date)return n(e.valueOf());if(n.isMoment(e))return n(e);if(t.isString(e))return o=r.exec(e),n(o?Number(o[1]):e);throw new Error("Cannot convert object of type "+t.getType(e)+" to type Date");case"ISODate":if(t.isNumber(e))return new Date(e);if(e instanceof Date)return e.toISOString();if(n.isMoment(e))return e.toDate().toISOString();if(t.isString(e))return o=r.exec(e),o?new Date(Number(o[1])).toISOString():new Date(e).toISOString();throw new Error("Cannot convert object of type "+t.getType(e)+" to type ISODate");case"ASPDate":if(t.isNumber(e))return"/Date("+e+")/";if(e instanceof Date)return"/Date("+e.valueOf()+")/";if(t.isString(e)){o=r.exec(e);var s;return s=o?new Date(Number(o[1])).valueOf():new Date(e).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+t.getType(e)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}}};var r=/^\/?Date\((\-?\d+)/i;t.getType=function(e){var t="undefined"==typeof e?"undefined":o(e);return"object"==t?null===e?"null":e instanceof Boolean?"Boolean":e instanceof Number?"Number":e instanceof String?"String":Array.isArray(e)?"Array":e instanceof Date?"Date":"Object":"number"==t?"Number":"boolean"==t?"Boolean":"string"==t?"String":void 0===t?"undefined":t},t.copyAndExtendArray=function(e,t){for(var i=[],o=0;oi;i++)t(e[i],i,e);else for(i in e)e.hasOwnProperty(i)&&t(e[i],i,e)},t.toArray=function(e){var t=[];for(var i in e)e.hasOwnProperty(i)&&t.push(e[i]);return t},t.updateProperty=function(e,t,i){return e[t]!==i?(e[t]=i,!0):!1},t.throttle=function(e,t){var i=null,o=!1;return function n(){i?o=!0:(o=!1,e(),i=setTimeout(function(){i=null,o&&n()},t))}},t.addEventListener=function(e,t,i,o){e.addEventListener?(void 0===o&&(o=!1),"mousewheel"===t&&navigator.userAgent.indexOf("Firefox")>=0&&(t="DOMMouseScroll"),e.addEventListener(t,i,o)):e.attachEvent("on"+t,i)},t.removeEventListener=function(e,t,i,o){e.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===t&&navigator.userAgent.indexOf("Firefox")>=0&&(t="DOMMouseScroll"),e.removeEventListener(t,i,o)):e.detachEvent("on"+t,i)},t.preventDefault=function(e){e||(e=window.event),e.preventDefault?e.preventDefault():e.returnValue=!1},t.getTarget=function(e){e||(e=window.event);var t;return e.target?t=e.target:e.srcElement&&(t=e.srcElement),void 0!=t.nodeType&&3==t.nodeType&&(t=t.parentNode),t},t.hasParent=function(e,t){for(var i=e;i;){if(i===t)return!0;i=i.parentNode}return!1},t.option={},t.option.asBoolean=function(e,t){return"function"==typeof e&&(e=e()),null!=e?0!=e:t||null},t.option.asNumber=function(e,t){return"function"==typeof e&&(e=e()),null!=e?Number(e)||t||null:t||null},t.option.asString=function(e,t){return"function"==typeof e&&(e=e()),null!=e?String(e):t||null},t.option.asSize=function(e,i){return"function"==typeof e&&(e=e()),t.isString(e)?e:t.isNumber(e)?e+"px":i||null},t.option.asElement=function(e,t){return"function"==typeof e&&(e=e()),e||t||null},t.hexToRGB=function(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(t,function(e,t,i,o){return t+t+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},t.overrideOpacity=function(e,i){if(-1!=e.indexOf("rgba"))return e;if(-1!=e.indexOf("rgb")){var o=e.substr(e.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=t.hexToRGB(e);return null==o?e:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},t.RGBToHex=function(e,t,i){return"#"+((1<<24)+(e<<16)+(t<<8)+i).toString(16).slice(1)},t.parseColor=function(e){var i;if(t.isString(e)===!0){if(t.isValidRGB(e)===!0){var o=e.substr(4).substr(0,e.length-5).split(",").map(function(e){return parseInt(e)});e=t.RGBToHex(o[0],o[1],o[2])}if(t.isValidHex(e)===!0){var n=t.hexToHSV(e),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=t.HSVToHex(r.h,r.s,r.v),h=t.HSVToHex(s.h,s.s,s.v);i={background:e,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:e,border:e,highlight:{background:e,border:e},hover:{background:e,border:e}}}else i={},i.background=e.background||void 0,i.border=e.border||void 0,t.isString(e.highlight)?i.highlight={border:e.highlight,background:e.highlight}:(i.highlight={},i.highlight.background=e.highlight&&e.highlight.background||void 0,i.highlight.border=e.highlight&&e.highlight.border||void 0),t.isString(e.hover)?i.hover={border:e.hover,background:e.hover}:(i.hover={},i.hover.background=e.hover&&e.hover.background||void 0,i.hover.border=e.hover&&e.hover.border||void 0);return i},t.RGBToHSV=function(e,t,i){e/=255,t/=255,i/=255;var o=Math.min(e,Math.min(t,i)),n=Math.max(e,Math.max(t,i));if(o==n)return{h:0,s:0,v:o};var s=e==o?t-i:i==o?e-t:i-e,r=e==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var a={split:function(e){var t={};return e.split(";").forEach(function(e){if(""!=e.trim()){var i=e.split(":"),o=i[0].trim(),n=i[1].trim();t[o]=n}}),t},join:function(e){return Object.keys(e).map(function(t){return t+": "+e[t]}).join("; ")}};t.addCssText=function(e,i){var o=a.split(e.style.cssText),n=a.split(i),s=t.extend(o,n);e.style.cssText=a.join(s)},t.removeCssText=function(e,t){var i=a.split(e.style.cssText),o=a.split(t);for(var n in o)o.hasOwnProperty(n)&&delete i[n];e.style.cssText=a.join(i)},t.HSVToRGB=function(e,t,i){var o,n,s,r=Math.floor(6*e),a=6*e-r,h=i*(1-t),d=i*(1-a*t),l=i*(1-(1-a)*t);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},t.HSVToHex=function(e,i,o){var n=t.HSVToRGB(e,i,o);return t.RGBToHex(n.r,n.g,n.b)},t.hexToHSV=function(e){var i=t.hexToRGB(e);return t.RGBToHSV(i.r,i.g,i.b)},t.isValidHex=function(e){var t=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e);return t},t.isValidRGB=function(e){e=e.replace(" ","");var t=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(e);return t},t.isValidRGBA=function(e){e=e.replace(" ","");var t=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(e);return t},t.selectiveBridgeObject=function(e,i){if("object"==("undefined"==typeof i?"undefined":o(i))){for(var n=Object.create(i),s=0;s0&&t(o,e[n-1])<0;n--)e[n]=e[n-1];e[n]=o}return e},t.mergeOptions=function(e,t,i){var o=(arguments.length<=3||void 0===arguments[3]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===t[i])e[i]=Object.create(o[i]);else if(void 0!==t[i])if("boolean"==typeof t[i])e[i].enabled=t[i];else{void 0===t[i].enabled&&(e[i].enabled=!0);for(var n in t[i])t[i].hasOwnProperty(n)&&(e[i][n]=t[i][n])}},t.binarySearchCustom=function(e,t,i,o){for(var n=1e4,s=0,r=0,a=e.length-1;a>=r&&n>s;){var h=Math.floor((r+a)/2),d=e[h],l=void 0===o?d[i]:d[i][o],c=t(l);if(0==c)return h;-1==c?r=h+1:a=h-1,s++}return-1},t.binarySearchValue=function(e,t,i,o,n){for(var s,r,a,h,d=1e4,l=0,c=0,u=e.length-1,n=void 0!=n?n:function(e,t){return e==t?0:t>e?-1:1};u>=c&&d>l;){if(h=Math.floor(.5*(u+c)),s=e[Math.max(0,h-1)][i],r=e[h][i],a=e[Math.min(e.length-1,h+1)][i],0==n(r,t))return h;if(n(s,t)<0&&n(r,t)>0)return"before"==o?Math.max(0,h-1):h;if(n(r,t)<0&&n(a,t)>0)return"before"==o?h:Math.min(e.length-1,h+1);n(r,t)<0?c=h+1:u=h-1,l++}return-1},t.easingFunctions={linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return e*(2-e)},easeInOutQuad:function(e){return.5>e?2*e*e:-1+(4-2*e)*e},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return--e*e*e+1},easeInOutCubic:function(e){return.5>e?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1- --e*e*e*e},easeInOutQuart:function(e){return.5>e?8*e*e*e*e:1-8*--e*e*e*e},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1+--e*e*e*e*e},easeInOutQuint:function(e){return.5>e?16*e*e*e*e*e:1+16*--e*e*e*e*e}}},function(e,t,i){e.exports="undefined"!=typeof window&&window.moment||i(3)},function(e,t,i){(function(e){!function(t,i){e.exports=i()}(this,function(){function t(){return $i.apply(null,arguments)}function i(e){$i=e}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function n(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function s(e,t){var i,o=[];for(i=0;i0)for(i in Ji)o=Ji[i],n=t[o],f(n)||(e[o]=n);return e}function v(e){p(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),eo===!1&&(eo=!0,t.updateOffset(this),eo=!1)}function y(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function g(e){return 0>e?Math.ceil(e):Math.floor(e)}function b(e){var t=+e,i=0;return 0!==t&&isFinite(t)&&(i=g(t)),i}function m(e,t,i){var o,n=Math.min(e.length,t.length),s=Math.abs(e.length-t.length),r=0;for(o=0;n>o;o++)(i&&e[o]!==t[o]||!i&&b(e[o])!==b(t[o]))&&r++;return r+s}function _(e){t.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function w(e,t){var i=!0;return a(function(){return i&&(_(e+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),i=!1),t.apply(this,arguments)},t)}function k(e,t){to[e]||(_(t),to[e]=!0)}function x(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function O(e){return"[object Object]"===Object.prototype.toString.call(e)}function E(e){var t,i;for(i in e)t=e[i],x(t)?this[i]=t:this["_"+i]=t;this._config=e,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function M(e,t){var i,o=a({},e);for(i in t)r(t,i)&&(O(e[i])&&O(t[i])?(o[i]={},a(o[i],e[i]),a(o[i],t[i])):null!=t[i]?o[i]=t[i]:delete o[i]);return o}function D(e){null!=e&&this.set(e)}function S(e){return e?e.toLowerCase().replace("_","-"):e}function C(e){for(var t,i,o,n,s=0;s0;){if(o=T(n.slice(0,t).join("-")))return o;if(i&&i.length>=t&&m(n,i,!0)>=t-1)break;t--}s++}return null}function T(t){var i=null;if(!oo[t]&&"undefined"!=typeof e&&e&&e.exports)try{i=io._abbr,!function(){var e=new Error('Cannot find module "./locale"');throw e.code="MODULE_NOT_FOUND",e}(),P(i)}catch(o){}return oo[t]}function P(e,t){var i;return e&&(i=f(t)?I(e):B(e,t),i&&(io=i)),io._abbr}function B(e,t){return null!==t?(t.abbr=e,null!=oo[e]?(k("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),t=M(oo[e]._config,t)):null!=t.parentLocale&&(null!=oo[t.parentLocale]?t=M(oo[t.parentLocale]._config,t):k("parentLocaleUndefined","specified parentLocale is not defined yet")),oo[e]=new D(t),P(e),oo[e]):(delete oo[e],null)}function F(e,t){if(null!=t){var i;null!=oo[e]&&(t=M(oo[e]._config,t)),i=new D(t),i.parentLocale=oo[e],oo[e]=i,P(e)}else null!=oo[e]&&(null!=oo[e].parentLocale?oo[e]=oo[e].parentLocale:null!=oo[e]&&delete oo[e]);return oo[e]}function I(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return io;if(!o(e)){if(t=T(e))return t;e=[e]}return C(e)}function j(){return Object.keys(oo)}function N(e,t){var i=e.toLowerCase();no[i]=no[i+"s"]=no[t]=e}function z(e){return"string"==typeof e?no[e]||no[e.toLowerCase()]:void 0}function R(e){var t,i,o={};for(i in e)r(e,i)&&(t=z(i),t&&(o[t]=e[i]));return o}function A(e,i){return function(o){return null!=o?(L(this,e,o),t.updateOffset(this,i),this):H(this,e)}}function H(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function L(e,t,i){e.isValid()&&e._d["set"+(e._isUTC?"UTC":"")+t](i)}function W(e,t){var i;if("object"==typeof e)for(i in e)this.set(i,e[i]);else if(e=z(e),x(this[e]))return this[e](t);return this}function Y(e,t,i){var o=""+Math.abs(e),n=t-o.length,s=e>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function U(e,t,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),e&&(ho[e]=n),t&&(ho[t[0]]=function(){return Y(n.apply(this,arguments),t[1],t[2])}),i&&(ho[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function V(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function q(e){var t,i,o=e.match(so);for(t=0,i=o.length;i>t;t++)ho[o[t]]?o[t]=ho[o[t]]:o[t]=V(o[t]);return function(n){var s="";for(t=0;i>t;t++)s+=o[t]instanceof Function?o[t].call(n,e):o[t];return s}}function G(e,t){return e.isValid()?(t=X(t,e.localeData()),ao[t]=ao[t]||q(t),ao[t](e)):e.localeData().invalidDate()}function X(e,t){function i(e){return t.longDateFormat(e)||e}var o=5;for(ro.lastIndex=0;o>=0&&ro.test(e);)e=e.replace(ro,i),ro.lastIndex=0,o-=1;return e}function K(e,t,i){Do[e]=x(t)?t:function(e,o){return e&&i?i:t}}function Z(e,t){return r(Do,e)?Do[e](t._strict,t._locale):new RegExp(Q(e))}function Q(e){return $(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,i,o,n){return t||i||o||n}))}function $(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function J(e,t){var i,o=t;for("string"==typeof e&&(e=[e]),"number"==typeof t&&(o=function(e,i){i[t]=b(e)}),i=0;io;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===t&&this._longMonthsParse[o].test(e))return o;if(i&&"MMM"===t&&this._shortMonthsParse[o].test(e))return o;if(!i&&this._monthsParse[o].test(e))return o}}function re(e,t){var i;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=b(t);else if(t=e.localeData().monthsParse(t),"number"!=typeof t)return e;return i=Math.min(e.date(),ie(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,i),e}function ae(e){return null!=e?(re(this,e),t.updateOffset(this,!0),this):H(this,"Month")}function he(){return ie(this.year(),this.month())}function de(e){return this._monthsParseExact?(r(this,"_monthsRegex")||ce.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex}function le(e){return this._monthsParseExact?(r(this,"_monthsRegex")||ce.call(this),e?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex}function ce(){function e(e,t){return t.length-e.length}var t,i,o=[],n=[],s=[];for(t=0;12>t;t++)i=h([2e3,t]),o.push(this.monthsShort(i,"")),n.push(this.months(i,"")),s.push(this.months(i,"")),s.push(this.monthsShort(i,""));for(o.sort(e),n.sort(e),s.sort(e),t=0;12>t;t++)o[t]=$(o[t]),n[t]=$(n[t]),s[t]=$(s[t]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")$","i"),this._monthsShortStrictRegex=new RegExp("^("+o.join("|")+")$","i")}function ue(e){var t,i=e._a;return i&&-2===l(e).overflow&&(t=i[To]<0||i[To]>11?To:i[Po]<1||i[Po]>ie(i[Co],i[To])?Po:i[Bo]<0||i[Bo]>24||24===i[Bo]&&(0!==i[Fo]||0!==i[Io]||0!==i[jo])?Bo:i[Fo]<0||i[Fo]>59?Fo:i[Io]<0||i[Io]>59?Io:i[jo]<0||i[jo]>999?jo:-1,l(e)._overflowDayOfYear&&(Co>t||t>Po)&&(t=Po),l(e)._overflowWeeks&&-1===t&&(t=No),l(e)._overflowWeekday&&-1===t&&(t=zo),l(e).overflow=t),e}function fe(e){var t,i,o,n,s,r,a=e._i,h=Yo.exec(a)||Uo.exec(a);if(h){for(l(e).iso=!0,t=0,i=qo.length;i>t;t++)if(qo[t][1].exec(h[1])){n=qo[t][0],o=qo[t][2]!==!1;break}if(null==n)return void(e._isValid=!1);if(h[3]){for(t=0,i=Go.length;i>t;t++)if(Go[t][1].exec(h[3])){s=(h[2]||" ")+Go[t][0];break}if(null==s)return void(e._isValid=!1)}if(!o&&null!=s)return void(e._isValid=!1);if(h[4]){if(!Vo.exec(h[4]))return void(e._isValid=!1);r="Z"}e._f=n+(s||"")+(r||""),Se(e)}else e._isValid=!1}function pe(e){var i=Xo.exec(e._i);return null!==i?void(e._d=new Date(+i[1])):(fe(e),void(e._isValid===!1&&(delete e._isValid,t.createFromInputFallback(e))))}function ve(e,t,i,o,n,s,r){var a=new Date(e,t,i,o,n,s,r);return 100>e&&e>=0&&isFinite(a.getFullYear())&&a.setFullYear(e),a}function ye(e){var t=new Date(Date.UTC.apply(null,arguments));return 100>e&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function ge(e){return be(e)?366:365}function be(e){return e%4===0&&e%100!==0||e%400===0}function me(){return be(this.year())}function _e(e,t,i){var o=7+t-i,n=(7+ye(e,0,o).getUTCDay()-t)%7;return-n+o-1}function we(e,t,i,o,n){var s,r,a=(7+i-o)%7,h=_e(e,o,n),d=1+7*(t-1)+a+h;return 0>=d?(s=e-1,r=ge(s)+d):d>ge(e)?(s=e+1,r=d-ge(e)):(s=e,r=d),{year:s,dayOfYear:r}}function ke(e,t,i){var o,n,s=_e(e.year(),t,i),r=Math.floor((e.dayOfYear()-s-1)/7)+1;return 1>r?(n=e.year()-1,o=r+xe(n,t,i)):r>xe(e.year(),t,i)?(o=r-xe(e.year(),t,i),n=e.year()+1):(n=e.year(),o=r),{week:o,year:n}}function xe(e,t,i){var o=_e(e,t,i),n=_e(e+1,t,i);return(ge(e)-o+n)/7}function Oe(e,t,i){return null!=e?e:null!=t?t:i}function Ee(e){var i=new Date(t.now());return e._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function Me(e){var t,i,o,n,s=[];if(!e._d){for(o=Ee(e),e._w&&null==e._a[Po]&&null==e._a[To]&&De(e),e._dayOfYear&&(n=Oe(e._a[Co],o[Co]),e._dayOfYear>ge(n)&&(l(e)._overflowDayOfYear=!0),i=ye(n,0,e._dayOfYear),e._a[To]=i.getUTCMonth(),e._a[Po]=i.getUTCDate()),t=0;3>t&&null==e._a[t];++t)e._a[t]=s[t]=o[t];for(;7>t;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Bo]&&0===e._a[Fo]&&0===e._a[Io]&&0===e._a[jo]&&(e._nextDay=!0,e._a[Bo]=0),e._d=(e._useUTC?ye:ve).apply(null,s),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Bo]=24)}}function De(e){var t,i,o,n,s,r,a,h;t=e._w,null!=t.GG||null!=t.W||null!=t.E?(s=1,r=4,i=Oe(t.GG,e._a[Co],ke(Ne(),1,4).year),o=Oe(t.W,1),n=Oe(t.E,1),(1>n||n>7)&&(h=!0)):(s=e._locale._week.dow,r=e._locale._week.doy,i=Oe(t.gg,e._a[Co],ke(Ne(),s,r).year),o=Oe(t.w,1),null!=t.d?(n=t.d,(0>n||n>6)&&(h=!0)):null!=t.e?(n=t.e+s,(t.e<0||t.e>6)&&(h=!0)):n=s),1>o||o>xe(i,s,r)?l(e)._overflowWeeks=!0:null!=h?l(e)._overflowWeekday=!0:(a=we(i,o,n,s,r),e._a[Co]=a.year,e._dayOfYear=a.dayOfYear)}function Se(e){if(e._f===t.ISO_8601)return void fe(e);e._a=[],l(e).empty=!0;var i,o,n,s,r,a=""+e._i,h=a.length,d=0;for(n=X(e._f,e._locale).match(so)||[],i=0;i0&&l(e).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),ho[s]?(o?l(e).empty=!1:l(e).unusedTokens.push(s),te(s,o,e)):e._strict&&!o&&l(e).unusedTokens.push(s);l(e).charsLeftOver=h-d,a.length>0&&l(e).unusedInput.push(a),l(e).bigHour===!0&&e._a[Bo]<=12&&e._a[Bo]>0&&(l(e).bigHour=void 0),e._a[Bo]=Ce(e._locale,e._a[Bo],e._meridiem),Me(e),ue(e)}function Ce(e,t,i){var o;return null==i?t:null!=e.meridiemHour?e.meridiemHour(t,i):null!=e.isPM?(o=e.isPM(i),o&&12>t&&(t+=12),o||12!==t||(t=0),t):t}function Te(e){var t,i,o,n,s;if(0===e._f.length)return l(e).invalidFormat=!0,void(e._d=new Date(NaN));for(n=0;ns)&&(o=s,i=t));a(e,i||t)}function Pe(e){if(!e._d){var t=R(e._i);e._a=s([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Me(e)}}function Be(e){var t=new v(ue(Fe(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}function Fe(e){var t=e._i,i=e._f;return e._locale=e._locale||I(e._l),null===t||void 0===i&&""===t?u({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),y(t)?new v(ue(t)):(o(i)?Te(e):i?Se(e):n(t)?e._d=t:Ie(e),c(e)||(e._d=null),e))}function Ie(e){var i=e._i;void 0===i?e._d=new Date(t.now()):n(i)?e._d=new Date(+i):"string"==typeof i?pe(e):o(i)?(e._a=s(i.slice(0),function(e){return parseInt(e,10)}),Me(e)):"object"==typeof i?Pe(e):"number"==typeof i?e._d=new Date(i):t.createFromInputFallback(e)}function je(e,t,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=e,s._f=t,s._strict=o,Be(s)}function Ne(e,t,i,o){return je(e,t,i,o,!1)}function ze(e,t){var i,n;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Ne();for(i=t[0],n=1;ne&&(e=-e,i="-"),i+Y(~~(e/60),2)+t+Y(~~e%60,2)})}function Ye(e,t){var i=(t||"").match(e)||[],o=i[i.length-1]||[],n=(o+"").match(Jo)||["-",0,0],s=+(60*n[1])+b(n[2]);return"+"===n[0]?s:-s}function Ue(e,i){var o,s;return i._isUTC?(o=i.clone(),s=(y(e)||n(e)?+e:+Ne(e))-+o,o._d.setTime(+o._d+s),t.updateOffset(o,!1),o):Ne(e).local()}function Ve(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function qe(e,i){var o,n=this._offset||0;return this.isValid()?null!=e?("string"==typeof e?e=Ye(Oo,e):Math.abs(e)<16&&(e=60*e),!this._isUTC&&i&&(o=Ve(this)),this._offset=e,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==e&&(!i||this._changeInProgress?dt(this,ot(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:Ve(this):null!=e?this:NaN}function Ge(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function Xe(e){return this.utcOffset(0,e)}function Ke(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Ve(this),"m")),this}function Ze(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ye(xo,this._i)),this}function Qe(e){return this.isValid()?(e=e?Ne(e).utcOffset():0,(this.utcOffset()-e)%60===0):!1}function $e(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Je(){if(!f(this._isDSTShifted))return this._isDSTShifted;var e={};if(p(e,this),e=Fe(e),e._a){var t=e._isUTC?h(e._a):Ne(e._a);this._isDSTShifted=this.isValid()&&m(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function et(){return this.isValid()?!this._isUTC:!1}function tt(){return this.isValid()?this._isUTC:!1}function it(){return this.isValid()?this._isUTC&&0===this._offset:!1}function ot(e,t){var i,o,n,s=e,a=null;return Le(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:"number"==typeof e?(s={},t?s[t]=e:s.milliseconds=e):(a=en.exec(e))?(i="-"===a[1]?-1:1,s={y:0,d:b(a[Po])*i,h:b(a[Bo])*i,m:b(a[Fo])*i,s:b(a[Io])*i,ms:b(a[jo])*i}):(a=tn.exec(e))?(i="-"===a[1]?-1:1,s={y:nt(a[2],i),M:nt(a[3],i),w:nt(a[4],i),d:nt(a[5],i),h:nt(a[6],i),m:nt(a[7],i),s:nt(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=rt(Ne(s.from),Ne(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new He(s),Le(e)&&r(e,"_locale")&&(o._locale=e._locale),o}function nt(e,t){var i=e&&parseFloat(e.replace(",","."));return(isNaN(i)?0:i)*t}function st(e,t){var i={milliseconds:0,months:0};return i.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(i.months,"M").isAfter(t)&&--i.months,i.milliseconds=+t-+e.clone().add(i.months,"M"),i}function rt(e,t){var i;return e.isValid()&&t.isValid()?(t=Ue(t,e),e.isBefore(t)?i=st(e,t):(i=st(t,e),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function at(e){return 0>e?-1*Math.round(-1*e):Math.round(e)}function ht(e,t){return function(i,o){var n,s;return null===o||isNaN(+o)||(k(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=ot(i,o),dt(this,n,e),this}}function dt(e,i,o,n){var s=i._milliseconds,r=at(i._days),a=at(i._months);e.isValid()&&(n=null==n?!0:n,s&&e._d.setTime(+e._d+s*o),r&&L(e,"Date",H(e,"Date")+r*o), -a&&re(e,H(e,"Month")+a*o),n&&t.updateOffset(e,r||a))}function lt(e,t){var i=e||Ne(),o=Ue(i,this).startOf("day"),n=this.diff(o,"days",!0),s=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse",r=t&&(x(t[s])?t[s]():t[s]);return this.format(r||this.localeData().calendar(s,this,Ne(i)))}function ct(){return new v(this)}function ut(e,t){var i=y(e)?e:Ne(e);return this.isValid()&&i.isValid()?(t=z(f(t)?"millisecond":t),"millisecond"===t?+this>+i:+i<+this.clone().startOf(t)):!1}function ft(e,t){var i=y(e)?e:Ne(e);return this.isValid()&&i.isValid()?(t=z(f(t)?"millisecond":t),"millisecond"===t?+i>+this:+this.clone().endOf(t)<+i):!1}function pt(e,t,i){return this.isAfter(e,i)&&this.isBefore(t,i)}function vt(e,t){var i,o=y(e)?e:Ne(e);return this.isValid()&&o.isValid()?(t=z(t||"millisecond"),"millisecond"===t?+this===+o:(i=+o,+this.clone().startOf(t)<=i&&i<=+this.clone().endOf(t))):!1}function yt(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function gt(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function bt(e,t,i){var o,n,s,r;return this.isValid()?(o=Ue(e,this),o.isValid()?(n=6e4*(o.utcOffset()-this.utcOffset()),t=z(t),"year"===t||"month"===t||"quarter"===t?(r=mt(this,o),"quarter"===t?r/=3:"year"===t&&(r/=12)):(s=this-o,r="second"===t?s/1e3:"minute"===t?s/6e4:"hour"===t?s/36e5:"day"===t?(s-n)/864e5:"week"===t?(s-n)/6048e5:s),i?r:g(r)):NaN):NaN}function mt(e,t){var i,o,n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months");return 0>t-s?(i=e.clone().add(n-1,"months"),o=(t-s)/(s-i)):(i=e.clone().add(n+1,"months"),o=(t-s)/(i-s)),-(n+o)}function _t(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function wt(){var e=this.clone().utc();return 0s&&(t=s),Gt.call(this,e,t,i,o,n))}function Gt(e,t,i,o,n){var s=we(e,t,i,o,n),r=ye(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Xt(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Kt(e){return ke(e,this._week.dow,this._week.doy).week}function Zt(){return this._week.dow}function Qt(){return this._week.doy}function $t(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function Jt(e){var t=ke(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function ei(e,t){return"string"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e,10)}function ti(e,t){return o(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]}function ii(e){return this._weekdaysShort[e.day()]}function oi(e){return this._weekdaysMin[e.day()]}function ni(e,t,i){var o,n,s;for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;7>o;o++){if(n=Ne([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===t&&this._fullWeekdaysParse[o].test(e))return o;if(i&&"ddd"===t&&this._shortWeekdaysParse[o].test(e))return o;if(i&&"dd"===t&&this._minWeekdaysParse[o].test(e))return o;if(!i&&this._weekdaysParse[o].test(e))return o}}function si(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=ei(e,this.localeData()),this.add(e-t,"d")):t}function ri(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function ai(e){return this.isValid()?null==e?this.day()||7:this.day(this.day()%7?e:e-7):null!=e?this:NaN}function hi(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}function di(){return this.hours()%12||12}function li(e,t){U(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function ci(e,t){return t._meridiemParse}function ui(e){return"p"===(e+"").toLowerCase().charAt(0)}function fi(e,t,i){return e>11?i?"pm":"PM":i?"am":"AM"}function pi(e,t){t[jo]=b(1e3*("0."+e))}function vi(){return this._isUTC?"UTC":""}function yi(){return this._isUTC?"Coordinated Universal Time":""}function gi(e){return Ne(1e3*e)}function bi(){return Ne.apply(null,arguments).parseZone()}function mi(e,t,i){var o=this._calendar[e];return x(o)?o.call(t,i):o}function _i(e){var t=this._longDateFormat[e],i=this._longDateFormat[e.toUpperCase()];return t||!i?t:(this._longDateFormat[e]=i.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])}function wi(){return this._invalidDate}function ki(e){return this._ordinal.replace("%d",e)}function xi(e){return e}function Oi(e,t,i,o){var n=this._relativeTime[i];return x(n)?n(e,t,i,o):n.replace(/%d/i,e)}function Ei(e,t){var i=this._relativeTime[e>0?"future":"past"];return x(i)?i(t):i.replace(/%s/i,t)}function Mi(e,t,i,o){var n=I(),s=h().set(o,t);return n[i](s,e)}function Di(e,t,i,o,n){if("number"==typeof e&&(t=e,e=void 0),e=e||"",null!=t)return Mi(e,t,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=Mi(e,s,i,n);return r}function Si(e,t){return Di(e,t,"months",12,"month")}function Ci(e,t){return Di(e,t,"monthsShort",12,"month")}function Ti(e,t){return Di(e,t,"weekdays",7,"day")}function Pi(e,t){return Di(e,t,"weekdaysShort",7,"day")}function Bi(e,t){return Di(e,t,"weekdaysMin",7,"day")}function Fi(){var e=this._data;return this._milliseconds=Mn(this._milliseconds),this._days=Mn(this._days),this._months=Mn(this._months),e.milliseconds=Mn(e.milliseconds),e.seconds=Mn(e.seconds),e.minutes=Mn(e.minutes),e.hours=Mn(e.hours),e.months=Mn(e.months),e.years=Mn(e.years),this}function Ii(e,t,i,o){var n=ot(t,i);return e._milliseconds+=o*n._milliseconds,e._days+=o*n._days,e._months+=o*n._months,e._bubble()}function ji(e,t){return Ii(this,e,t,1)}function Ni(e,t){return Ii(this,e,t,-1)}function zi(e){return 0>e?Math.floor(e):Math.ceil(e)}function Ri(){var e,t,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||0>=s&&0>=r&&0>=a||(s+=864e5*zi(Hi(a)+r),r=0,a=0),h.milliseconds=s%1e3,e=g(s/1e3),h.seconds=e%60,t=g(e/60),h.minutes=t%60,i=g(t/60),h.hours=i%24,r+=g(i/24),n=g(Ai(r)),a+=n,r-=zi(Hi(n)),o=g(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function Ai(e){return 4800*e/146097}function Hi(e){return 146097*e/4800}function Li(e){var t,i,o=this._milliseconds;if(e=z(e),"month"===e||"year"===e)return t=this._days+o/864e5,i=this._months+Ai(t),"month"===e?i:i/12;switch(t=this._days+Math.round(Hi(this._months)),e){case"week":return t/7+o/6048e5;case"day":return t+o/864e5;case"hour":return 24*t+o/36e5;case"minute":return 1440*t+o/6e4;case"second":return 86400*t+o/1e3;case"millisecond":return Math.floor(864e5*t)+o;default:throw new Error("Unknown unit "+e)}}function Wi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*b(this._months/12)}function Yi(e){return function(){return this.as(e)}}function Ui(e){return e=z(e),this[e+"s"]()}function Vi(e){return function(){return this._data[e]}}function qi(){return g(this.days()/7)}function Gi(e,t,i,o,n){return n.relativeTime(t||1,!!i,e,o)}function Xi(e,t,i){var o=ot(e).abs(),n=Wn(o.as("s")),s=Wn(o.as("m")),r=Wn(o.as("h")),a=Wn(o.as("d")),h=Wn(o.as("M")),d=Wn(o.as("y")),l=n=s&&["m"]||s=r&&["h"]||r=a&&["d"]||a=h&&["M"]||h=d&&["y"]||["yy",d];return l[2]=t,l[3]=+e>0,l[4]=i,Gi.apply(null,l)}function Ki(e,t){return void 0===Yn[e]?!1:void 0===t?Yn[e]:(Yn[e]=t,!0)}function Zi(e){var t=this.localeData(),i=Xi(this,!e,t);return e&&(i=t.pastFuture(+this,i)),t.postformat(i)}function Qi(){var e,t,i,o=Un(this._milliseconds)/1e3,n=Un(this._days),s=Un(this._months);e=g(o/60),t=g(e/60),o%=60,e%=60,i=g(s/12),s%=12;var r=i,a=s,h=n,d=t,l=e,c=o,u=this.asSeconds();return u?(0>u?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||c?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var $i,Ji=t.momentProperties=[],eo=!1,to={};t.suppressDeprecationWarnings=!1;var io,oo={},no={},so=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ro=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ao={},ho={},lo=/\d/,co=/\d\d/,uo=/\d{3}/,fo=/\d{4}/,po=/[+-]?\d{6}/,vo=/\d\d?/,yo=/\d\d\d\d?/,go=/\d\d\d\d\d\d?/,bo=/\d{1,3}/,mo=/\d{1,4}/,_o=/[+-]?\d{1,6}/,wo=/\d+/,ko=/[+-]?\d+/,xo=/Z|[+-]\d\d:?\d\d/gi,Oo=/Z|[+-]\d\d(?::?\d\d)?/gi,Eo=/[+-]?\d+(\.\d{1,3})?/,Mo=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Do={},So={},Co=0,To=1,Po=2,Bo=3,Fo=4,Io=5,jo=6,No=7,zo=8;U("M",["MM",2],"Mo",function(){return this.month()+1}),U("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),U("MMMM",0,0,function(e){return this.localeData().months(this,e)}),N("month","M"),K("M",vo),K("MM",vo,co),K("MMM",function(e,t){return t.monthsShortRegex(e)}),K("MMMM",function(e,t){return t.monthsRegex(e)}),J(["M","MM"],function(e,t){t[To]=b(e)-1}),J(["MMM","MMMM"],function(e,t,i,o){var n=i._locale.monthsParse(e,o,i._strict);null!=n?t[To]=n:l(i).invalidMonth=e});var Ro=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,Ao="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ho="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Lo=Mo,Wo=Mo,Yo=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Uo=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Vo=/Z|[+-]\d\d(?::?\d\d)?/,qo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Go=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Xo=/^\/?Date\((\-?\d+)/i;t.createFromInputFallback=w("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(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),U("Y",0,0,function(){var e=this.year();return 9999>=e?""+e:"+"+e}),U(0,["YY",2],0,function(){return this.year()%100}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),N("year","y"),K("Y",ko),K("YY",vo,co),K("YYYY",mo,fo),K("YYYYY",_o,po),K("YYYYYY",_o,po),J(["YYYYY","YYYYYY"],Co),J("YYYY",function(e,i){i[Co]=2===e.length?t.parseTwoDigitYear(e):b(e)}),J("YY",function(e,i){i[Co]=t.parseTwoDigitYear(e)}),J("Y",function(e,t){t[Co]=parseInt(e,10)}),t.parseTwoDigitYear=function(e){return b(e)+(b(e)>68?1900:2e3)};var Ko=A("FullYear",!1);t.ISO_8601=function(){};var Zo=w("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var e=Ne.apply(null,arguments);return this.isValid()&&e.isValid()?this>e?this:e:u()}),Qo=w("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var e=Ne.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:u()}),$o=function(){return Date.now?Date.now():+new Date};We("Z",":"),We("ZZ",""),K("Z",Oo),K("ZZ",Oo),J(["Z","ZZ"],function(e,t,i){i._useUTC=!0,i._tzm=Ye(Oo,e)});var Jo=/([\+\-]|\d\d)/gi;t.updateOffset=function(){};var en=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,tn=/^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$/;ot.fn=He.prototype;var on=ht(1,"add"),nn=ht(-1,"subtract");t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var sn=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Lt("gggg","weekYear"),Lt("ggggg","weekYear"),Lt("GGGG","isoWeekYear"),Lt("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),K("G",ko),K("g",ko),K("GG",vo,co),K("gg",vo,co),K("GGGG",mo,fo),K("gggg",mo,fo),K("GGGGG",_o,po),K("ggggg",_o,po),ee(["gggg","ggggg","GGGG","GGGGG"],function(e,t,i,o){t[o.substr(0,2)]=b(e)}),ee(["gg","GG"],function(e,i,o,n){i[n]=t.parseTwoDigitYear(e)}),U("Q",0,"Qo","quarter"),N("quarter","Q"),K("Q",lo),J("Q",function(e,t){t[To]=3*(b(e)-1)}),U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),K("w",vo),K("ww",vo,co),K("W",vo),K("WW",vo,co),ee(["w","ww","W","WW"],function(e,t,i,o){t[o.substr(0,1)]=b(e)});var rn={dow:0,doy:6};U("D",["DD",2],"Do","date"),N("date","D"),K("D",vo),K("DD",vo,co),K("Do",function(e,t){return e?t._ordinalParse:t._ordinalParseLenient}),J(["D","DD"],Po),J("Do",function(e,t){t[Po]=b(e.match(vo)[0],10)});var an=A("Date",!0);U("d",0,"do","day"),U("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),U("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),U("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),K("d",vo),K("e",vo),K("E",vo),K("dd",Mo),K("ddd",Mo),K("dddd",Mo),ee(["dd","ddd","dddd"],function(e,t,i,o){var n=i._locale.weekdaysParse(e,o,i._strict);null!=n?t.d=n:l(i).invalidWeekday=e}),ee(["d","e","E"],function(e,t,i,o){t[o]=b(e)});var hn="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),dn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),ln="Su_Mo_Tu_We_Th_Fr_Sa".split("_");U("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),K("DDD",bo),K("DDDD",uo),J(["DDD","DDDD"],function(e,t,i){i._dayOfYear=b(e)}),U("H",["HH",2],0,"hour"),U("h",["hh",2],0,di),U("hmm",0,0,function(){return""+di.apply(this)+Y(this.minutes(),2)}),U("hmmss",0,0,function(){return""+di.apply(this)+Y(this.minutes(),2)+Y(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+Y(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+Y(this.minutes(),2)+Y(this.seconds(),2)}),li("a",!0),li("A",!1),N("hour","h"),K("a",ci),K("A",ci),K("H",vo),K("h",vo),K("HH",vo,co),K("hh",vo,co),K("hmm",yo),K("hmmss",go),K("Hmm",yo),K("Hmmss",go),J(["H","HH"],Bo),J(["a","A"],function(e,t,i){i._isPm=i._locale.isPM(e),i._meridiem=e}),J(["h","hh"],function(e,t,i){t[Bo]=b(e),l(i).bigHour=!0}),J("hmm",function(e,t,i){var o=e.length-2;t[Bo]=b(e.substr(0,o)),t[Fo]=b(e.substr(o)),l(i).bigHour=!0}),J("hmmss",function(e,t,i){var o=e.length-4,n=e.length-2;t[Bo]=b(e.substr(0,o)),t[Fo]=b(e.substr(o,2)),t[Io]=b(e.substr(n)),l(i).bigHour=!0}),J("Hmm",function(e,t,i){var o=e.length-2;t[Bo]=b(e.substr(0,o)),t[Fo]=b(e.substr(o))}),J("Hmmss",function(e,t,i){var o=e.length-4,n=e.length-2;t[Bo]=b(e.substr(0,o)),t[Fo]=b(e.substr(o,2)),t[Io]=b(e.substr(n))});var cn=/[ap]\.?m?\.?/i,un=A("Hours",!0);U("m",["mm",2],0,"minute"),N("minute","m"),K("m",vo),K("mm",vo,co),J(["m","mm"],Fo);var fn=A("Minutes",!1);U("s",["ss",2],0,"second"),N("second","s"),K("s",vo),K("ss",vo,co),J(["s","ss"],Io);var pn=A("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),K("S",bo,lo),K("SS",bo,co),K("SSS",bo,uo);var vn;for(vn="SSSS";vn.length<=9;vn+="S")K(vn,wo);for(vn="S";vn.length<=9;vn+="S")J(vn,pi);var yn=A("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var gn=v.prototype;gn.add=on,gn.calendar=lt,gn.clone=ct,gn.diff=bt,gn.endOf=Tt,gn.format=kt,gn.from=xt,gn.fromNow=Ot,gn.to=Et,gn.toNow=Mt,gn.get=W,gn.invalidAt=At,gn.isAfter=ut,gn.isBefore=ft,gn.isBetween=pt,gn.isSame=vt,gn.isSameOrAfter=yt,gn.isSameOrBefore=gt,gn.isValid=zt,gn.lang=sn,gn.locale=Dt,gn.localeData=St,gn.max=Qo,gn.min=Zo,gn.parsingFlags=Rt,gn.set=W,gn.startOf=Ct,gn.subtract=nn,gn.toArray=It,gn.toObject=jt,gn.toDate=Ft,gn.toISOString=wt,gn.toJSON=Nt,gn.toString=_t,gn.unix=Bt,gn.valueOf=Pt,gn.creationData=Ht,gn.year=Ko,gn.isLeapYear=me,gn.weekYear=Wt,gn.isoWeekYear=Yt,gn.quarter=gn.quarters=Xt,gn.month=ae,gn.daysInMonth=he,gn.week=gn.weeks=$t,gn.isoWeek=gn.isoWeeks=Jt,gn.weeksInYear=Vt,gn.isoWeeksInYear=Ut,gn.date=an,gn.day=gn.days=si,gn.weekday=ri,gn.isoWeekday=ai,gn.dayOfYear=hi,gn.hour=gn.hours=un,gn.minute=gn.minutes=fn,gn.second=gn.seconds=pn,gn.millisecond=gn.milliseconds=yn,gn.utcOffset=qe,gn.utc=Xe,gn.local=Ke,gn.parseZone=Ze,gn.hasAlignedHourOffset=Qe,gn.isDST=$e,gn.isDSTShifted=Je,gn.isLocal=et,gn.isUtcOffset=tt,gn.isUtc=it,gn.isUTC=it,gn.zoneAbbr=vi,gn.zoneName=yi,gn.dates=w("dates accessor is deprecated. Use date instead.",an),gn.months=w("months accessor is deprecated. Use month instead",ae),gn.years=w("years accessor is deprecated. Use year instead",Ko),gn.zone=w("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ge);var bn=gn,mn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},_n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},wn="Invalid date",kn="%d",xn=/\d{1,2}/,On={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"},En=D.prototype;En._calendar=mn,En.calendar=mi,En._longDateFormat=_n,En.longDateFormat=_i,En._invalidDate=wn,En.invalidDate=wi,En._ordinal=kn,En.ordinal=ki,En._ordinalParse=xn,En.preparse=xi,En.postformat=xi,En._relativeTime=On,En.relativeTime=Oi,En.pastFuture=Ei,En.set=E,En.months=oe,En._months=Ao,En.monthsShort=ne,En._monthsShort=Ho,En.monthsParse=se,En._monthsRegex=Wo,En.monthsRegex=le,En._monthsShortRegex=Lo,En.monthsShortRegex=de,En.week=Kt,En._week=rn,En.firstDayOfYear=Qt,En.firstDayOfWeek=Zt,En.weekdays=ti,En._weekdays=hn,En.weekdaysMin=oi,En._weekdaysMin=ln,En.weekdaysShort=ii,En._weekdaysShort=dn,En.weekdaysParse=ni,En.isPM=ui,En._meridiemParse=cn,En.meridiem=fi,P("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,i=1===b(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+i}}),t.lang=w("moment.lang is deprecated. Use moment.locale instead.",P),t.langData=w("moment.langData is deprecated. Use moment.localeData instead.",I);var Mn=Math.abs,Dn=Yi("ms"),Sn=Yi("s"),Cn=Yi("m"),Tn=Yi("h"),Pn=Yi("d"),Bn=Yi("w"),Fn=Yi("M"),In=Yi("y"),jn=Vi("milliseconds"),Nn=Vi("seconds"),zn=Vi("minutes"),Rn=Vi("hours"),An=Vi("days"),Hn=Vi("months"),Ln=Vi("years"),Wn=Math.round,Yn={s:45,m:45,h:22,d:26,M:11},Un=Math.abs,Vn=He.prototype;Vn.abs=Fi,Vn.add=ji,Vn.subtract=Ni,Vn.as=Li,Vn.asMilliseconds=Dn,Vn.asSeconds=Sn,Vn.asMinutes=Cn,Vn.asHours=Tn,Vn.asDays=Pn,Vn.asWeeks=Bn,Vn.asMonths=Fn,Vn.asYears=In,Vn.valueOf=Wi,Vn._bubble=Ri,Vn.get=Ui,Vn.milliseconds=jn,Vn.seconds=Nn,Vn.minutes=zn,Vn.hours=Rn,Vn.days=An,Vn.weeks=qi,Vn.months=Hn,Vn.years=Ln,Vn.humanize=Zi,Vn.toISOString=Qi,Vn.toString=Qi,Vn.toJSON=Qi,Vn.locale=Dt,Vn.localeData=St,Vn.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Qi),Vn.lang=sn,U("X",0,0,"unix"),U("x",0,0,"valueOf"),K("x",ko),K("X",Eo),J("X",function(e,t,i){i._d=new Date(1e3*parseFloat(e,10))}),J("x",function(e,t,i){i._d=new Date(b(e))}),t.version="2.12.0",i(Ne),t.fn=bn,t.min=Re,t.max=Ae,t.now=$o,t.utc=h,t.unix=gi,t.months=Si,t.isDate=n,t.locale=P,t.invalid=u,t.duration=ot,t.isMoment=y,t.weekdays=Ti,t.parseZone=bi,t.localeData=I,t.isDuration=Le,t.monthsShort=Ci,t.weekdaysMin=Bi,t.defineLocale=B,t.updateLocale=F,t.locales=j,t.weekdaysShort=Pi,t.normalizeUnits=z,t.relativeTimeThreshold=Ki,t.prototype=bn;var qn=t;return qn})}).call(t,i(4)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){function i(e){throw new Error("Cannot find module '"+e+"'.")}i.keys=function(){return[]},i.resolve=i,e.exports=i,i.id=5},function(e,t){(function(t){function i(e,t,i){var o=t&&i||0,n=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,function(e){16>n&&(t[o+n++]=c[e])});16>n;)t[o+n++]=0;return t}function o(e,t){var i=t||0,o=l;return o[e[i++]]+o[e[i++]]+o[e[i++]]+o[e[i++]]+"-"+o[e[i++]]+o[e[i++]]+"-"+o[e[i++]]+o[e[i++]]+"-"+o[e[i++]]+o[e[i++]]+"-"+o[e[i++]]+o[e[i++]]+o[e[i++]]+o[e[i++]]+o[e[i++]]+o[e[i++]]}function n(e,t,i){var n=t&&i||0,s=t||[];e=e||{};var r=void 0!==e.clockseq?e.clockseq:v,a=void 0!==e.msecs?e.msecs:(new Date).getTime(),h=void 0!==e.nsecs?e.nsecs:g+1,d=a-y+(h-g)/1e4;if(0>d&&void 0===e.clockseq&&(r=r+1&16383),(0>d||a>y)&&void 0===e.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");y=a,g=h,v=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var c=a/4294967296*1e4&268435455;s[n++]=c>>>8&255,s[n++]=255&c,s[n++]=c>>>24&15|16,s[n++]=c>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var u=e.node||p,f=0;6>f;f++)s[n+f]=u[f];return t?t:o(s)}function s(e,t,i){var n=t&&i||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null),e=e||{};var s=e.random||(e.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;16>a;a++)t[n+a]=s[a];return t||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof t?t:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var e,t=0;16>t;t++)0===(3&t)&&(e=4294967296*Math.random()),d[t]=e>>>((3&t)<<3)&255;return d}}for(var l=[],c={},u=0;256>u;u++)l[u]=(u+256).toString(16).substr(1),c[l[u]]=u;var f=r(),p=[1|f[0],f[1],f[2],f[3],f[4],f[5]],v=16383&(f[6]<<8|f[7]),y=0,g=0,b=s;b.v1=n,b.v4=s,b.parse=i,b.unparse=o,e.exports=b}).call(t,function(){return this}())},function(e,t){t.prepareElements=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t].redundant=e[t].used,e[t].used=[])},t.cleanupElements=function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t].redundant){for(var i=0;i0?(o=t[e].redundant[0],t[e].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",e),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",e),t[e]={used:[],redundant:[]},i.appendChild(o)),t[e].used.push(o),o},t.getDOMElement=function(e,t,i,o){var n;return t.hasOwnProperty(e)?t[e].redundant.length>0?(n=t[e].redundant[0],t[e].redundant.shift()):(n=document.createElement(e),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(e),t[e]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),t[e].used.push(n),n},t.drawPoint=function(e,i,o,n,s,r){var a;if("circle"==o.style?(a=t.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",e),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=t.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",e-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=t.getSVGElement("text",n,s);r.xOffset&&(e+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",e),h.setAttributeNS(null,"y",i)}return a},t.drawBar=function(e,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=t.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",e-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(e,t,i){function o(e,t){if(e&&!Array.isArray(e)&&(t=e,e=null),this._options=t||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i=Object.keys(this._options.type),o=0,n=i.length;n>o;o++){var s=i[o],r=this._options.type[s];"Date"==r||"ISODate"==r||"ASPDate"==r?this._type[s]="Date":this._type[s]=r}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},e&&this.add(e),this.setOptions(t)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},s=i(1),r=i(9);o.prototype.setOptions=function(e){e&&void 0!==e.queue&&(e.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=r.extend(this,{replace:["add","update","remove"]})),"object"===n(e.queue)&&this._queue.setOptions(e.queue)))},o.prototype.on=function(e,t){var i=this._subscribers[e];i||(i=[],this._subscribers[e]=i),i.push({callback:t})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(e,t){var i=this._subscribers[e];i&&(this._subscribers[e]=i.filter(function(e){return e.callback!=t}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(e,t,i){if("*"==e)throw new Error("Cannot trigger event *");var o=[];e in this._subscribers&&(o=o.concat(this._subscribers[e])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0,s=o.length;s>n;n++){var r=o[n];r.callback&&r.callback(e,t,i||null)}},o.prototype.add=function(e,t){var i,o=[],n=this;if(Array.isArray(e))for(var s=0,r=e.length;r>s;s++)i=n._addItem(e[s]),o.push(i);else{if(!(e instanceof Object))throw new Error("Unknown dataType");i=n._addItem(e),o.push(i)}return o.length&&this._trigger("add",{items:o},t),o},o.prototype.update=function(e,t){var i=[],o=[],n=[],r=[],a=this,h=a._fieldId,d=function(e){var t=e[h];if(a._data[t]){var d=s.extend({},a._data[t]);t=a._updateItem(e),o.push(t),r.push(e),n.push(d)}else t=a._addItem(e),i.push(t)};if(Array.isArray(e))for(var l=0,c=e.length;c>l;l++)e[l]instanceof Object?d(e[l]):console.warn("Ignoring input item, which is not an object at index "+l);else{if(!(e instanceof Object))throw new Error("Unknown dataType");d(e)}if(i.length&&this._trigger("add",{items:i},t),o.length){var u={items:o,oldData:n,data:r};this._trigger("update",u,t)}return i.concat(o)},o.prototype.get=function(e){var t,i,o,n=this,r=s.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,c,u,f,p=o&&o.type||this._options.type,v=o&&o.filter,y=[];if(void 0!=t)d=n._getItem(t,p),d&&v&&!v(d)&&(d=null);else if(void 0!=i)for(u=0,f=i.length;f>u;u++)d=n._getItem(i[u],p),v&&!v(d)||y.push(d);else for(l=Object.keys(this._data),u=0,f=l.length;f>u;u++)c=l[u],d=n._getItem(c,p),v&&!v(d)||y.push(d);if(o&&o.order&&void 0==t&&this._sort(y,o.order),o&&o.fields){var g=o.fields;if(void 0!=t)d=this._filterFields(d,g);else for(u=0,f=y.length;f>u;u++)y[u]=this._filterFields(y[u],g)}if("Object"==a){var b,m={};for(u=0,f=y.length;f>u;u++)b=y[u],m[b.id]=b;return m}return void 0!=t?d:y},o.prototype.getIds=function(e){var t,i,o,n,s,r=this._data,a=e&&e.filter,h=e&&e.order,d=e&&e.type||this._options.type,l=Object.keys(r),c=[];if(a)if(h){for(s=[],t=0,i=l.length;i>t;t++)o=l[t],n=this._getItem(o,d),a(n)&&s.push(n);for(this._sort(s,h),t=0,i=s.length;i>t;t++)c.push(s[t][this._fieldId])}else for(t=0,i=l.length;i>t;t++)o=l[t],n=this._getItem(o,d),a(n)&&c.push(n[this._fieldId]);else if(h){for(s=[],t=0,i=l.length;i>t;t++)o=l[t],s.push(r[o]);for(this._sort(s,h),t=0,i=s.length;i>t;t++)c.push(s[t][this._fieldId])}else for(t=0,i=l.length;i>t;t++)o=l[t],n=r[o],c.push(n[this._fieldId]);return c},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(e,t){var i,o,n,s,r=t&&t.filter,a=t&&t.type||this._options.type,h=this._data,d=Object.keys(h); -if(t&&t.order){var l=this.get(t);for(i=0,o=l.length;o>i;i++)n=l[i],s=n[this._fieldId],e(n,s)}else for(i=0,o=d.length;o>i;i++)s=d[i],n=this._getItem(s,a),r&&!r(n)||e(n,s)},o.prototype.map=function(e,t){var i,o,n,s,r=t&&t.filter,a=t&&t.type||this._options.type,h=[],d=this._data,l=Object.keys(d);for(i=0,o=l.length;o>i;i++)n=l[i],s=this._getItem(n,a),r&&!r(s)||h.push(e(s,n));return t&&t.order&&this._sort(h,t.order),h},o.prototype._filterFields=function(e,t){if(!e)return e;var i,o,n={},s=Object.keys(e),r=s.length;if(Array.isArray(t))for(i=0;r>i;i++)o=s[i],-1!=t.indexOf(o)&&(n[o]=e[o]);else for(i=0;r>i;i++)o=s[i],t.hasOwnProperty(o)&&(n[t[o]]=e[o]);return n},o.prototype._sort=function(e,t){if(s.isString(t)){var i=t;e.sort(function(e,t){var o=e[i],n=t[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof t)throw new TypeError("Order must be a function or a string");e.sort(t)}},o.prototype.remove=function(e,t){var i,o,n,s=[];if(Array.isArray(e))for(i=0,o=e.length;o>i;i++)n=this._remove(e[i]),null!=n&&s.push(n);else n=this._remove(e),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},t),s},o.prototype._remove=function(e){if(s.isNumber(e)||s.isString(e)){if(this._data[e])return delete this._data[e],this.length--,e}else if(e instanceof Object){var t=e[this._fieldId];if(void 0!==t&&this._data[t])return delete this._data[t],this.length--,t}return null},o.prototype.clear=function(e){var t=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:t},e),t},o.prototype.max=function(e){var t,i,o=this._data,n=Object.keys(o),s=null,r=null;for(t=0,i=n.length;i>t;t++){var a=n[t],h=o[a],d=h[e];null!=d&&(!s||d>r)&&(s=h,r=d)}return s},o.prototype.min=function(e){var t,i,o=this._data,n=Object.keys(o),s=null,r=null;for(t=0,i=n.length;i>t;t++){var a=n[t],h=o[a],d=h[e];null!=d&&(!s||r>d)&&(s=h,r=d)}return s},o.prototype.distinct=function(e){var t,i,o,n=this._data,r=Object.keys(n),a=[],h=this._options.type&&this._options.type[e]||null,d=0;for(t=0,o=r.length;o>t;t++){var l=r[t],c=n[l],u=c[e],f=!1;for(i=0;d>i;i++)if(a[i]==u){f=!0;break}f||void 0===u||(a[d]=u,d++)}if(h)for(t=0,o=a.length;o>t;t++)a[t]=s.convert(a[t],h);return a},o.prototype._addItem=function(e){var t=e[this._fieldId];if(void 0!=t){if(this._data[t])throw new Error("Cannot add item: item with id "+t+" already exists")}else t=s.randomUUID(),e[this._fieldId]=t;var i,o,n={},r=Object.keys(e);for(i=0,o=r.length;o>i;i++){var a=r[i],h=this._type[a];n[a]=s.convert(e[a],h)}return this._data[t]=n,this.length++,t},o.prototype._getItem=function(e,t){var i,o,n,r,a=this._data[e];if(!a)return null;var h={},d=Object.keys(a);if(t)for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=s.convert(o,t[i]);else for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=o;return h},o.prototype._updateItem=function(e){var t=e[this._fieldId];if(void 0==t)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(e)+")");var i=this._data[t];if(!i)throw new Error("Cannot update item: no item with id "+t+" found");for(var o=Object.keys(e),n=0,r=o.length;r>n;n++){var a=o[n],h=this._type[a];i[a]=s.convert(e[a],h)}return t},e.exports=o},function(e,t){function i(e){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(e)}i.prototype.setOptions=function(e){e&&"undefined"!=typeof e.delay&&(this.delay=e.delay),e&&"undefined"!=typeof e.max&&(this.max=e.max),this._flushIfNeeded()},i.extend=function(e,t){var o=new i(t);if(void 0!==e.flush)throw new Error("Target object already has a property flush");e.flush=function(){o.flush()};var n=[{name:"flush",original:void 0}];if(t&&t.replace)for(var s=0;sthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var e=this;this._timeout=setTimeout(function(){e.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var e=this._queue.shift();e.fn.apply(e.context||e.fn,e.args||[])}},e.exports=i},function(e,t,i){function o(e,t){this._data=null,this._ids={},this.length=0,this._options=t||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(e)}var n=i(1),s=i(8);o.prototype.setData=function(e){var t,i,o,n;if(this._data&&(this._data.off&&this._data.off("*",this.listener),t=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:t})),this._data=e,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",t=this._data.getIds({filter:this._options&&this._options.filter}),o=0,n=t.length;n>o;o++)i=t[o],this._ids[i]=!0;this.length=t.length,this._trigger("add",{items:t}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){var e,t,i,o=this._data.getIds({filter:this._options&&this._options.filter}),n=Object.keys(this._ids),s={},r=[],a=[];for(t=0,i=o.length;i>t;t++)e=o[t],s[e]=!0,this._ids[e]||(r.push(e),this._ids[e]=!0);for(t=0,i=n.length;i>t;t++)e=n[t],s[e]||(a.push(e),delete this._ids[e]);this.length+=r.length-a.length,r.length&&this._trigger("add",{items:r}),a.length&&this._trigger("remove",{items:a})},o.prototype.get=function(e){var t,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r||"Array"==r?(t=arguments[0],i=arguments[1],o=arguments[2]):(i=arguments[0],o=arguments[1]);var a=n.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(e){return s._options.filter(e)&&i.filter(e)});var h=[];return void 0!=t&&h.push(t),h.push(a),h.push(o),this._data&&this._data.get.apply(this._data,h)},o.prototype.getIds=function(e){var t;if(this._data){var i,o=this._options.filter;i=e&&e.filter?o?function(t){return o(t)&&e.filter(t)}:e.filter:o,t=this._data.getIds({filter:i,order:e&&e.order})}else t=[];return t},o.prototype.map=function(e,t){var i=[];if(this._data){var o,n=this._options.filter;o=t&&t.filter?n?function(e){return n(e)&&t.filter(e)}:t.filter:n,i=this._data.map(e,{filter:o,order:t&&t.order})}else i=[];return i},o.prototype.getDataSet=function(){for(var e=this;e instanceof o;)e=e._data;return e||null},o.prototype._onEvent=function(e,t,i){var o,n,s,r,a=t&&t.items,h=this._data,d=[],l=[],c=[],u=[];if(a&&h){switch(e){case"add":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(c.push(s),d.push(t.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],u.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],u.push(s))}this.length+=l.length-u.length,l.length&&this._trigger("add",{items:l},i),c.length&&this._trigger("update",{items:c,data:d},i),u.length&&this._trigger("remove",{items:u},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,e.exports=o},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t,i){var o=this;if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:Y,clickToUse:!1},A.extend(this.options,this.defaultOptions),this.body={container:e,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners(),this.images=new r["default"](function(){return o.body.emitter.emit("_requestRedraw")}),this.groups=new h["default"],this.canvas=new _["default"](this.body),this.selectionHandler=new M["default"](this.body,this.canvas),this.interactionHandler=new O["default"](this.body,this.canvas,this.selectionHandler),this.view=new k["default"](this.body,this.canvas),this.renderer=new b["default"](this.body,this.canvas),this.physics=new p["default"](this.body),this.layoutEngine=new S["default"](this.body),this.clustering=new y["default"](this.body),this.manipulation=new T["default"](this.body,this.canvas,this.selectionHandler),this.nodesHandler=new l["default"](this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new u["default"](this.body,this.images,this.groups),this.body.modules.kamadaKawai=new z["default"](this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(t)}var s=i(12),r=o(s),a=i(13),h=o(a),d=i(14),l=o(d),c=i(35),u=o(c),f=i(44),p=o(f),v=i(53),y=o(v),g=i(56),b=o(g),m=i(57),_=o(m),w=i(62),k=o(w),x=i(63),O=o(x),E=i(67),M=o(E),D=i(68),S=o(D),C=i(69),T=o(C),P=i(70),B=o(P),F=i(34),I=o(F),j=i(72),N=i(73),z=o(N);i(75);var R=i(76),A=i(1),H=(i(8),i(10),i(77)),L=i(78),W=i(79),Y=i(80);R(n.prototype),n.prototype.setOptions=function(e){var t=this;if(void 0!==e){var i=I["default"].validate(e,j.allOptions);i===!0&&console.log("%cErrors have been found in the supplied options object.",F.printStyle);var o=["locale","locales","clickToUse"];if(A.selectiveDeepExtend(o,this.options,e),e=this.layoutEngine.setOptions(e.layout,e),this.canvas.setOptions(e),this.groups.setOptions(e.groups),this.nodesHandler.setOptions(e.nodes),this.edgesHandler.setOptions(e.edges),this.physics.setOptions(e.physics),this.manipulation.setOptions(e.manipulation,e,this.options),this.interactionHandler.setOptions(e.interaction),this.renderer.setOptions(e.interaction),this.selectionHandler.setOptions(e.interaction),void 0!==e.groups&&this.body.emitter.emit("refreshNodes"),"configure"in e&&(this.configurator||(this.configurator=new B["default"](this,this.body.container,j.configureOptions,this.canvas.pixelRatio)),this.configurator.setOptions(e.configure)),this.configurator&&this.configurator.options.enabled===!0){var n={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};A.deepExtend(n.nodes,this.nodesHandler.options),A.deepExtend(n.edges,this.edgesHandler.options),A.deepExtend(n.layout,this.layoutEngine.options),A.deepExtend(n.interaction,this.selectionHandler.options),A.deepExtend(n.interaction,this.renderer.options),A.deepExtend(n.interaction,this.interactionHandler.options),A.deepExtend(n.manipulation,this.manipulation.options),A.deepExtend(n.physics,this.physics.options),A.deepExtend(n.global,this.canvas.options),A.deepExtend(n.global,this.options),this.configurator.setModuleOptions(n)}void 0!==e.clickToUse?e.clickToUse===!0?void 0===this.activator&&(this.activator=new W(this.canvas.frame),this.activator.on("change",function(){t.body.emitter.emit("activate")})):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},n.prototype._updateVisibleIndices=function(){var e=this.body.nodes,t=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in e)e.hasOwnProperty(i)&&e[i].options.hidden===!1&&this.body.nodeIndices.push(e[i].id);for(var o in t)t.hasOwnProperty(o)&&t[o].options.hidden===!1&&this.body.edgeIndices.push(t[o].id)},n.prototype.bindEventListeners=function(){var e=this;this.body.emitter.on("_dataChanged",function(){e._updateVisibleIndices(),e.body.emitter.emit("_requestRedraw"),e.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){e._updateValueRange(e.body.nodes),e._updateValueRange(e.body.edges),e.body.emitter.emit("startSimulation"),e.body.emitter.emit("_requestRedraw")})},n.prototype.setData=function(e){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),e&&e.dot&&(e.nodes||e.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(e&&e.options),e&&e.dot){console.log("The dot property has been depricated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var t=H.DOTToGraph(e.dot);return void this.setData(t)}if(e&&e.gephi){console.log("The gephi property has been depricated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=L.parseGephi(e.gephi);return void this.setData(i)}this.nodesHandler.setData(e&&e.nodes,!0),this.edgesHandler.setData(e&&e.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},n.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images;for(var e in this.body.nodes)delete this.body.nodes[e];for(var t in this.body.edges)delete this.body.edges[t];A.recursiveDOMDelete(this.body.container)},n.prototype._updateValueRange=function(e){var t,i=void 0,o=void 0,n=0;for(t in e)if(e.hasOwnProperty(t)){var s=e[t].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(t in e)e.hasOwnProperty(t)&&e[t].setValueRange(i,o,n)},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},n.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},n.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},n.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},n.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},n.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},n.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},n.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},n.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},n.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},n.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},n.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},n.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},n.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},n.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},n.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},n.prototype.editNodeMode=function(){return console.log("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},n.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},n.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},n.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},n.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},n.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},n.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},n.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},n.prototype.getConnectedNodes=function(e){return void 0!==this.body.nodes[e]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},n.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},n.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},n.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},n.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},n.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},n.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},n.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},n.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},n.prototype.getNodeAt=function(){var e=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==e&&void 0!==e.id?e.id:e},n.prototype.getEdgeAt=function(){var e=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==e&&void 0!==e.id?e.id:e},n.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},n.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},n.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.redraw()},n.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},n.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},n.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},n.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},n.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},n.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},n.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},n.prototype.getOptionsFromConfigurator=function(){var e={};return this.configurator&&(e=this.configurator.getOptions.apply(this.configurator)),e},e.exports=n},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;i0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,t={},t.color=this.groups[this.groupsArray[i]],this.groups[e]=t}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,t={},t.color=this.defaultGroups[o],this.groups[e]=t}return t}},{key:"add",value:function(e,t){return this.groups[e]=t,this.groupsArray.push(e),t}}]),e}();t["default"]=r},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var i=0;ie.left&&this.shape.tope.top}},{key:"isBoundingBoxOverlappingWith",value:function(e){return this.shape.boundingBox.lefte.left&&this.shape.boundingBox.tope.top}}],[{key:"parseOptions",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["color","font","fixed","shadow"];if(z.selectiveNotDeepExtend(n,e,t,i),z.mergeOptions(e,t,"shadow",i,o),void 0!==t.color&&null!==t.color){var s=z.parseColor(t.color);z.fillIfDefined(e.color,s)}else i===!0&&null===t.color&&(e.color=z.bridgeObject(o.color));void 0!==t.fixed&&null!==t.fixed&&("boolean"==typeof t.fixed?(e.fixed.x=t.fixed,e.fixed.y=t.fixed):(void 0!==t.fixed.x&&"boolean"==typeof t.fixed.x&&(e.fixed.x=t.fixed.x),void 0!==t.fixed.y&&"boolean"==typeof t.fixed.y&&(e.fixed.y=t.fixed.y))),void 0!==t.font&&null!==t.font?a["default"].parseOptions(e.font,t):i===!0&&null===t.font&&(e.font=z.bridgeObject(o.font)),void 0!==t.scaling&&z.mergeOptions(e.scaling,t.scaling,"label",i,o.scaling)}}]),e}();t["default"]=R},function(e,t,i){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=e[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},r=function(){function e(e,t){for(var i=0;i=this.nodeOptions.scaling.label.maxVisible&&(r=Number(this.nodeOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=n(d,2),c=l[0],u=l[1],f=this._setAlignment(e,i,h,s),p=n(f,2);i=p[0],h=p[1],e.font=(t&&this.nodeOptions.labelHighlightBold?"bold ":"")+r+"px "+this.fontOptions.face,e.fillStyle=c,this.isEdgeLabel||"left"!==this.fontOptions.align?e.textAlign="center":(e.textAlign=this.fontOptions.align,i-=.5*this.size.width),this.fontOptions.strokeWidth>0&&(e.lineWidth=this.fontOptions.strokeWidth,e.strokeStyle=u,e.lineJoin="round");for(var v=0;v0&&e.strokeText(this.lines[v],i,h),e.fillText(this.lines[v],i,h),h+=r}},{key:"_setAlignment",value:function(e,t,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){t=0,i=0;var n=2;"top"===this.fontOptions.align?(e.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(e.textBaseline="hanging",i+=2*n):e.textBaseline="middle"}else e.textBaseline=o;return[t,i]}},{key:"_getColor",value:function(e){var t=this.fontOptions.color||"#000000",i=this.fontOptions.strokeColor||"#ffffff";if(e<=this.nodeOptions.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.nodeOptions.scaling.label.drawThreshold-e)));t=a.overrideOpacity(t,o),i=a.overrideOpacity(i,o)}return[t,i]}},{key:"getTextSize",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(e,t),height:this.fontOptions.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?0:arguments[2],o=arguments.length<=3||void 0===arguments[3]?0:arguments[3],n=arguments.length<=4||void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(e,t)),this.size.height=this.fontOptions.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===n&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(e,t){var i=0,o=[""],n=0;if(void 0!==this.nodeOptions.label){o=String(this.nodeOptions.label).split("\n"),n=o.length,e.font=(t&&this.nodeOptions.labelHighlightBold?"bold ":"")+this.fontOptions.size+"px "+this.fontOptions.face,i=e.measureText(o[0]).width;for(var s=1;n>s;s++){var r=e.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];if("string"==typeof t.font){var o=t.font.split(" ");e.size=o[0].replace("px",""),e.face=o[1],e.color=o[2]}else"object"===s(t.font)&&a.fillIfDefined(e,t.font,i);e.size=Number(e.size)}}]),e}();t["default"]=h},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),this.updateBoundingBox(t,i,e,o),this.labelModule.draw(e,t,i,o)}},{key:"updateBoundingBox",value:function(e,t,i,o){this.resize(i,o),this.left=e-.5*this.width,this.top=t-.5*this.height;var n=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-n,this.boundingBox.top=this.top-n,this.boundingBox.bottom=this.top+this.height+n,this.boundingBox.right=this.left+this.width+n}},{key:"distanceToBorder",value:function(e,t){this.resize(e);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+i}}]),t}(d["default"]);t["default"]=l},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;ithis.imageObj.height?(o=this.imageObj.width/this.imageObj.height,t=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,t=2*this.options.size,i=2*this.options.size*o):(t=this.imageObj.width,i=this.imageObj.height),this.width=t,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(e,t,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;e.lineWidth=Math.min(this.width,h),e.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,e.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,e.circle(t,i,s),this.enableShadow(e),e.fill(),this.disableShadow(e),e.save(),h>0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore()}},{key:"_drawImageAtPosition",value:function(e){if(0!=this.imageObj.width){e.globalAlpha=1,this.enableShadow(e);var t=this.imageObj.width/this.width/this.body.view.scale;if(t>2&&this.options.shapeProperties.interpolation===!0){var i=this.imageObj.width,o=this.imageObj.height,n=document.createElement("canvas");n.width=i,n.height=i;var s=n.getContext("2d");t*=.5,i*=.5,o*=.5,s.drawImage(this.imageObj,0,0,i,o);for(var r=0,a=1;t>2&&4>a;)s.drawImage(n,r,0,i,o,r+i,0,i/2,o/2),r+=i,t*=.5,i*=.5,o*=.5,a+=1;e.drawImage(n,r,0,i,o,this.left,this.top,this.width,this.height)}else e.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(e)}}},{key:"_drawImageLabel",value:function(e,t,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(e);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(e,t,n,o,"hanging")}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),this.updateBoundingBox(t,i,e,o),this.labelModule.draw(e,t,i,o)}},{key:"updateBoundingBox",value:function(e,t,i,o){this.resize(i,o),this.left=e-.5*this.width,this.top=t-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(e,t){return this._distanceToBorder(e,t)}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),void 0!==this.options.label){var l=n+.5*this.height+3;this.labelModule.draw(e,o,l,s,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),this.updateBoundingBox(t,i,e,o),this.labelModule.draw(e,t,i,o)}},{key:"updateBoundingBox",value:function(e,t,i,o){this.resize(i,o),this.left=e-.5*this.width,this.top=t-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(e,t){this.resize(e);var i=.5*this.width,o=.5*this.height,n=Math.sin(t)*i,s=Math.cos(t)*o;return i*o/Math.sqrt(n*n+s*s)}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(e,t,i,o){var n=Number(this.options.icon.size);void 0!==this.options.icon.code?(e.font=(o?"bold ":"")+n+"px "+this.options.icon.face,e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",this.enableShadow(e),e.fillText(this.options.icon.code,t,i),this.disableShadow(e)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(e,t){return this._distanceToBorder(e,t)}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),e.closePath()}this._drawImageAtPosition(e),this._drawImageLabel(e,t,i,o||n),this.updateBoundingBox(t,i)}},{key:"updateBoundingBox",value:function(e,t){this.resize(),this.left=e-this.width/2,this.top=t-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(e,t){return this._distanceToBorder(e,t)}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+t+'" in '+e.printLocation(n.path,t,"")+"Perhaps it was misplaced? Matching option found at: "+e.printLocation(s.path,s.closestMatch,""),d):n.distance<=r?console.log('%cUnknown option detected: "'+t+'". Did you mean "'+n.closestMatch+'"?'+e.printLocation(n.path,t),d):console.log('%cUnknown option detected: "'+t+'". Did you mean one of these: '+e.print(Object.keys(i))+e.printLocation(o,t),d),a=!0}},{key:"findInOptions",value:function(t,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],s=1e9,a="",h=[],d=t.toLowerCase(),l=void 0;for(var c in i){var u=void 0;if(void 0!==i[c].__type__&&n===!0){var f=e.findInOptions(t,i[c],r.copyAndExtendArray(o,c));s>f.distance&&(a=f.closestMatch,h=f.path,s=f.distance,l=f.indexMatch)}else-1!==c.toLowerCase().indexOf(d)&&(l=c),u=e.levenshteinDistance(t,c),s>u&&(a=c,h=r.copyArray(o),s=u)}return{closestMatch:a,path:h,distance:s,indexMatch:l}}},{key:"printLocation",value:function(e,t){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=e[n]+": {\n"}for(var r=0;ri.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(e,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(e){if(this.connected){var t=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=e.left,a=e.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a); -return t>h}return!1}},{key:"_rotateForLabelAlignment",value:function(e){var t=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(t,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),e.rotate(o)}},{key:"_pointOnCircle",value:function(e,t,i,o){var n=2*o*Math.PI;return{x:e+i*Math.cos(n),y:t-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(g.selectiveDeepExtend(n,e,t,i),g.mergeOptions(e,t,"smooth",i,o),g.mergeOptions(e,t,"shadow",i,o),void 0!==t.dashes&&null!==t.dashes?e.dashes=t.dashes:i===!0&&null===t.dashes&&(e.dashes=Object.create(o.dashes)),void 0!==t.scaling&&null!==t.scaling?(void 0!==t.scaling.min&&(e.scaling.min=t.scaling.min),void 0!==t.scaling.max&&(e.scaling.max=t.scaling.max),g.mergeOptions(e.scaling,t.scaling,"label",i,o.scaling)):i===!0&&null===t.scaling&&(e.scaling=Object.create(o.scaling)),void 0!==t.arrows&&null!==t.arrows)if("string"==typeof t.arrows){var r=t.arrows.toLowerCase();-1!=r.indexOf("to")&&(e.arrows.to.enabled=!0),-1!=r.indexOf("middle")&&(e.arrows.middle.enabled=!0),-1!=r.indexOf("from")&&(e.arrows.from.enabled=!0)}else{if("object"!==s(t.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(t.arrows));g.mergeOptions(e.arrows,t.arrows,"to",i,o.arrows),g.mergeOptions(e.arrows,t.arrows,"middle",i,o.arrows),g.mergeOptions(e.arrows,t.arrows,"from",i,o.arrows)}else i===!0&&null===t.arrows&&(e.arrows=Object.create(o.arrows));if(void 0!==t.color&&null!==t.color)if(e.color=g.deepExtend({},e.color,!0),g.isString(t.color))e.color.color=t.color,e.color.highlight=t.color,e.color.hover=t.color,e.color.inherit=!1;else{var a=!1;void 0!==t.color.color&&(e.color.color=t.color.color,a=!0),void 0!==t.color.highlight&&(e.color.highlight=t.color.highlight,a=!0),void 0!==t.color.hover&&(e.color.hover=t.color.hover,a=!0),void 0!==t.color.inherit&&(e.color.inherit=t.color.inherit),void 0!==t.color.opacity&&(e.color.opacity=Math.min(1,Math.max(0,t.color.opacity))),void 0===t.color.inherit&&a===!0&&(e.color.inherit=!1)}else i===!0&&null===t.color&&(e.color=g.bridgeObject(o.color));void 0!==t.font&&null!==t.font?h["default"].parseOptions(e.font,t):i===!0&&null===t.font&&(e.font=g.bridgeObject(o.font))}}]),e}();t["default"]=b},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=e[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function(){function e(e,t){for(var i=0;iMath.abs(t)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*e,n=this.to.x+r*e):(o=this.from.y-r*t,s=this.to.y+r*t,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(e,t){return this._findBorderPositionBezier(e,t)}},{key:"_getDistanceToEdge",value:function(e,t,i,o,n,s){var r=arguments.length<=6||void 0===arguments[6]?this._getViaCoordinates():arguments[6],h=a(r,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(e,t,i,o,n,s,d,l)}},{key:"getPoint",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?this._getViaCoordinates():arguments[1],i=a(t,2),o=i[0],n=i[1],s=e,r=[];r[0]=Math.pow(1-s,3),r[1]=3*s*Math.pow(1-s,2),r[2]=3*Math.pow(s,2)*(1-s),r[3]=Math.pow(s,3);var h=r[0]*this.fromPoint.x+r[1]*o.x+r[2]*n.x+r[3]*this.toPoint.x,d=r[0]*this.fromPoint.y+r[1]*o.y+r[2]*n.y+r[3]*this.toPoint.y;return{x:h,y:d}}}]),t}(l["default"]);t["default"]=c},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;il;l++)c=.1*l,y[0]=Math.pow(1-c,3),y[1]=3*c*Math.pow(1-c,2),y[2]=3*Math.pow(c,2)*(1-c),y[3]=Math.pow(c,3),u=y[0]*e+y[1]*r.x+y[2]*a.x+y[3]*i,f=y[0]*t+y[1]*r.y+y[2]*a.y+y[3]*o,l>0&&(d=this._getDistanceToLine(p,v,u,f,n,s),h=h>d?d:h),p=u,v=f;return h}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i=l&&h>d;){var v=.5*(l+c);if(i=this.getPoint(v,a),o=Math.atan2(f.y-i.y,f.x-i.x),n=f.distanceToBorder(t,o),s=Math.sqrt(Math.pow(i.x-f.x,2)+Math.pow(i.y-f.y,2)),r=n-s,Math.abs(r)r?p===!1?l=v:c=v:p===!1?c=v:l=v,d++}return i.t=v,i}},{key:"_getDistanceToBezierEdge",value:function(e,t,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,c=void 0,u=void 0,f=e,p=t;for(d=1;10>d;d++)l=.1*d,c=Math.pow(1-l,2)*e+2*l*(1-l)*r.x+Math.pow(l,2)*i,u=Math.pow(1-l,2)*t+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(f,p,c,u,n,s),a=a>h?h:a),f=c,p=u;return a}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=e[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function e(e,t){for(var i=0;io.shape.height?(t=o.x+.5*o.shape.width,i=o.y-n):(t=o.x+n,i=o.y-.5*o.shape.height),[t,i,n]}},{key:"_pointOnCircle",value:function(e,t,i,o){var n=2*o*Math.PI;return{x:e+i*Math.cos(n),y:t-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(e,t,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,c=void 0,u=void 0,f=void 0,p=void 0,v=void 0,y=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),c=this._pointOnCircle(o,n,l,g),u=Math.atan2(e.y-c.y,e.x-c.x),f=e.distanceToBorder(t,u),p=Math.sqrt(Math.pow(c.x-e.x,2)+Math.pow(c.y-e.y,2)),v=f-p,!(Math.abs(v)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return c.t=g,c}},{key:"getLineWidth",value:function(e,t){return e===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):t===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(e,t,i){var o=this.options.color;if(o.inherit!==!1){if("both"===o.inherit&&this.from.id!==this.to.id){var n=e.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,a=void 0;return s=this.from.options.color.highlight.border,a=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),a=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?a=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,a),n}this.colorDirty===!0&&("to"===o.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,o.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,o.opacity)))}else this.colorDirty===!0&&(this.color.highlight=o.highlight,this.color.hover=o.hover,this.color.color=r.overrideOpacity(o.color,o.opacity));return this.colorDirty=!1,t===!0?this.color.highlight:i===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(e,t,i,o){this.enableShadow(e),e.beginPath(),e.arc(t,i,o,0,2*Math.PI,!1),e.stroke(),this.disableShadow(e)}},{key:"getDistanceToEdge",value:function(e,t,i,o,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(e,t,i,o,s,r,a);else{var d=this._getCircleData(),l=n(d,3),c=l[0],u=l[1],f=l[2],p=c-s,v=u-r;h=Math.abs(Math.sqrt(p*p+v*v)-f)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(e,t,i,o,n,s){var r=i-e,a=o-t,h=r*r+a*a,d=((n-e)*r+(s-t)*a)/h;d>1?d=1:0>d&&(d=0);var l=e+d*r,c=t+d*a,u=l-n,f=c-s;return Math.sqrt(u*u+f*f)}},{key:"getArrowData",value:function(e,t,i,o,s){var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,c=void 0,u=this.getLineWidth(o,s);if("from"===t?(h=this.from,d=this.to,l=.1,c=this.options.arrows.from.scaleFactor):"to"===t?(h=this.to,d=this.from,l=-.1,c=this.options.arrows.to.scaleFactor):(h=this.to,d=this.from,c=this.options.arrows.middle.scaleFactor),h!=d)if("middle"!==t)if(this.options.smooth.enabled===!0){a=this.findBorderPosition(h,e,{via:i});var f=this.getPoint(Math.max(0,Math.min(1,a.t+l)),i);r=Math.atan2(a.y-f.y,a.x-f.x)}else r=Math.atan2(h.y-d.y,h.x-d.x),a=this.findBorderPosition(h,e);else r=Math.atan2(h.y-d.y,h.x-d.x),a=this.getPoint(.5,i);else{var p=this._getCircleData(e),v=n(p,3),y=v[0],g=v[1],b=v[2];"from"===t?(a=this.findBorderPosition(this.from,e,{x:y,y:g,low:.25,high:.6,direction:-1}),r=-2*a.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===t?(a=this.findBorderPosition(this.from,e,{x:y,y:g,low:.6,high:1,direction:1}),r=-2*a.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(a=this._pointOnCircle(y,g,b,.175),r=3.9269908169872414)}var m=15*c+3*u,_=a.x-.9*m*Math.cos(r),w=a.y-.9*m*Math.sin(r),k={x:_,y:w};return{point:a,core:k,angle:r,length:m}}},{key:"drawArrowHead",value:function(e,t,i,o){e.strokeStyle=this.getColor(e,t,i),e.fillStyle=e.strokeStyle,e.lineWidth=this.getLineWidth(t,i),e.arrow(o.point.x,o.point.y,o.angle,o.length),this.enableShadow(e),e.fill(),this.disableShadow(e)}},{key:"enableShadow",value:function(e){this.options.shadow.enabled===!0&&(e.shadowColor=this.options.shadow.color,e.shadowBlur=this.options.shadow.size,e.shadowOffsetX=this.options.shadow.x,e.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(e){this.options.shadow.enabled===!0&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}}]),e}();t["default"]=a},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i=this.to.y?this.from.x<=this.to.x?(e=this.from.x+i*s,t=this.from.y-i*s):this.from.x>this.to.x&&(e=this.from.x-i*s,t=this.from.y-i*s):this.from.ythis.to.x&&(e=this.from.x-i*s,t=this.from.y+i*s)),"discrete"===o&&(e=i*s>n?this.from.x:e)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(e=this.from.x+i*n,t=this.from.y-i*n):this.from.x>this.to.x&&(e=this.from.x-i*n,t=this.from.y-i*n):this.from.ythis.to.x&&(e=this.from.x-i*n,t=this.from.y+i*n)),"discrete"===o&&(t=i*n>s?this.from.y:t));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(e=this.from.x,t=this.from.yMath.abs(this.from.y-this.to.y)&&(e=this.from.x=this.to.y?this.from.x<=this.to.x?(e=this.from.x+i*s,t=this.from.y-i*s,e=this.to.xthis.to.x&&(e=this.from.x-i*s,t=this.from.y-i*s,e=this.to.x>e?this.to.x:e):this.from.ythis.to.x&&(e=this.from.x-i*s,t=this.from.y+i*s,e=this.to.x>e?this.to.x:e)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(e=this.from.x+i*n,t=this.from.y-i*n,t=this.to.y>t?this.to.y:t):this.from.x>this.to.x&&(e=this.from.x-i*n,t=this.from.y-i*n,t=this.to.y>t?this.to.y:t):this.from.ythis.to.x&&(e=this.from.x-i*n,t=this.from.y+i*n,t=this.to.y1||this.startedStabilization===!0)&&setTimeout(function(){e.body.emitter.emit("stabilized",{iterations:t}),e.startedStabilization=!1,e.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var e=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=e*this.timestep:this.timestep/es))return!1;return!0}},{key:"moveNodes",value:function(){for(var e=this.physicsBody.physicsNodeIndices,t=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;st?s[e].x>0?t:-t:s[e].x,i.x+=s[e].x*o}else n[e].x=0,s[e].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[e].y,d=(n[e].y-h)/i.options.mass;s[e].y+=d*o,s[e].y=Math.abs(s[e].y)>t?s[e].y>0?t:-t:s[e].y,i.y+=s[e].y*o}else n[e].y=0,s[e].y=0;var l=Math.sqrt(Math.pow(s[e].x,2)+Math.pow(s[e].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var e=this.body.nodes;for(var t in e)e.hasOwnProperty(t)&&e[t].x&&e[t].y&&(this.freezeCache[t]={x:e[t].options.fixed.x,y:e[t].options.fixed.y},e[t].options.fixed.x=!0,e[t].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var e=this.body.nodes;for(var t in e)e.hasOwnProperty(t)&&void 0!==this.freezeCache[t]&&(e[t].options.fixed.x=this.freezeCache[t].x,e[t].options.fixed.y=this.freezeCache[t].y);this.freezeCache={}}},{key:"stabilize",value:function(){var e=this,t=arguments.length<=0||void 0===arguments[0]?this.options.stabilization.iterations:arguments[0];return"number"!=typeof t&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),t=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=t,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return e._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var e=0;this.stabilized===!1&&e0){var e=void 0,t=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(t,i);this.barnesHutTree=n;for(var s=0;o>s;s++)e=t[i[s]],e.options.mass>0&&(this._getForceContribution(n.root.children.NW,e),this._getForceContribution(n.root.children.NE,e),this._getForceContribution(n.root.children.SW,e),this._getForceContribution(n.root.children.SE,e))}}},{key:"_getForceContribution",value:function(e,t){if(e.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=e.centerOfMass.x-t.x,o=e.centerOfMass.y-t.y,n=Math.sqrt(i*i+o*o),n*e.calcSize>this.thetaInversed?this._calculateForces(n,i,o,t,e):4===e.childrenCount?(this._getForceContribution(e.children.NW,t),this._getForceContribution(e.children.NE,t),this._getForceContribution(e.children.SW,t),this._getForceContribution(e.children.SE,t)):e.children.data.id!=t.id&&this._calculateForces(n,i,o,t,e)}}},{key:"_calculateForces",value:function(e,t,i,o,n){0===e&&(e=.1,t=e),this.overlapAvoidanceFactor<1&&(e=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,e-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(e,3),r=t*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(e,t){for(var i=void 0,o=t.length,n=e[t[0]].x,s=e[t[0]].y,r=e[t[0]].x,a=e[t[0]].y,h=1;o>h;h++){var d=e[t[h]].x,l=e[t[h]].y;e[t[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var c=Math.abs(r-n)-Math.abs(a-s);c>0?(s-=.5*c,a+=.5*c):(n+=.5*c,r-=.5*c);var u=1e-5,f=Math.max(u,Math.abs(r-n)),p=.5*f,v=.5*(n+r),y=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:y-p,maxY:y+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var b=0;o>b;b++)i=e[t[b]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(e,t){var i=e.mass+t.options.mass,o=1/i;e.centerOfMass.x=e.centerOfMass.x*e.mass+t.x*t.options.mass,e.centerOfMass.x*=o,e.centerOfMass.y=e.centerOfMass.y*e.mass+t.y*t.options.mass,e.centerOfMass.y*=o,e.mass=i;var n=Math.max(Math.max(t.height,t.radius),t.width);e.maxWidth=e.maxWidtht.x?e.children.NW.range.maxY>t.y?this._placeInRegion(e,t,"NW"):this._placeInRegion(e,t,"SW"):e.children.NW.range.maxY>t.y?this._placeInRegion(e,t,"NE"):this._placeInRegion(e,t,"SE")}},{key:"_placeInRegion",value:function(e,t,i){switch(e.children[i].childrenCount){case 0:e.children[i].children.data=t,e.children[i].childrenCount=1,this._updateBranchMass(e.children[i],t);break;case 1:e.children[i].children.data.x===t.x&&e.children[i].children.data.y===t.y?(t.x+=this.seededRandom(),t.y+=this.seededRandom()):(this._splitBranch(e.children[i]),this._placeInTree(e.children[i],t));break;case 4:this._placeInTree(e.children[i],t)}}},{key:"_splitBranch",value:function(e){var t=null;1===e.childrenCount&&(t=e.children.data,e.mass=0,e.centerOfMass.x=0,e.centerOfMass.y=0),e.childrenCount=4,e.children.data=null,this._insertRegion(e,"NW"),this._insertRegion(e,"NE"),this._insertRegion(e,"SW"),this._insertRegion(e,"SE"),null!=t&&this._placeInTree(e,t)}},{key:"_insertRegion",value:function(e,t){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*e.size;switch(t){case"NW":i=e.range.minX,o=e.range.minX+r,n=e.range.minY,s=e.range.minY+r;break;case"NE":i=e.range.minX+r,o=e.range.maxX,n=e.range.minY,s=e.range.minY+r;break;case"SW":i=e.range.minX,o=e.range.minX+r,n=e.range.minY+r,s=e.range.maxY;break;case"SE":i=e.range.minX+r,o=e.range.maxX,n=e.range.minY+r,s=e.range.maxY}e.children[t]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*e.size,calcSize:2*e.calcSize,children:{data:null},maxWidth:0,level:e.level+1,childrenCount:0}}},{key:"_debug",value:function(e,t){void 0!==this.barnesHutTree&&(e.lineWidth=1,this._drawBranch(this.barnesHutTree.root,e,t))}},{key:"_drawBranch",value:function(e,t,i){void 0===i&&(i="#FF0000"),4===e.childrenCount&&(this._drawBranch(e.children.NW,t),this._drawBranch(e.children.NE,t),this._drawBranch(e.children.SE,t),this._drawBranch(e.children.SW,t)),t.strokeStyle=i,t.beginPath(),t.moveTo(e.range.minX,e.range.minY),t.lineTo(e.range.maxX,e.range.minY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.minY),t.lineTo(e.range.maxX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.maxY),t.lineTo(e.range.minX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.minX,e.range.maxY),t.lineTo(e.range.minX,e.range.minY),t.stroke()}}]),e}();t["default"]=n},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;ii&&(s=.5*c>i?1:u*i+f,s/=i,o=e*s,n=t*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),e}();t["default"]=n},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;ii?-Math.pow(p*i,2)+Math.pow(p*f,2):0,0===i?i=.01:s/=i,o=e*s,n=t*s,u[r.id].x-=o,u[r.id].y-=n,u[a.id].x+=o,u[a.id].y+=n}}}]),e}();t["default"]=n},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;i0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=t*r,o[n.id].y=i*r}}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},r=function(){function e(e,t){for(var i=0;i=e&&i.push(n.id)}for(var r=0;r0&&Object.keys(f).length>0&&v===!0&&o.push({nodes:u,edges:f})}}}for(var m=0;mo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!0:arguments[2];if(void 0===e)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[e])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[e].containedNodes)return void console.log("The node:"+e+" is not a cluster.");var o=this.body.nodes[e],n=o.containedNodes,s=o.containedEdges;if(void 0!==t&&void 0!==t.releaseFunction&&"function"==typeof t.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];r[d]={x:l.x,y:l.y}}var u=t.releaseFunction(a,r);for(var f in n)if(n.hasOwnProperty(f)){var p=this.body.nodes[f];void 0!==u[f]&&(p.x=void 0===u[f].x?o.x:u[f].x,p.y=void 0===u[f].y?o.y:u[f].y)}}else for(var v in n)if(n.hasOwnProperty(v)){var y=this.body.nodes[v];y=n[v],y.options.fixed.x===!1&&(y.x=o.x),y.options.fixed.y===!1&&(y.y=o.y)}for(var g in n)if(n.hasOwnProperty(g)){var b=this.body.nodes[g];b.vx=o.vx,b.vy=o.vy,b.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[g]}for(var m=[],_=0;_o;)t.push(this.body.nodes[e].id), -e=this.clusteredNodes[e].clusterId,o++;return t.push(this.body.nodes[e].id),t.reverse(),t}},{key:"_getConnectedId",value:function(e,t){return e.toId!=t?e.toId:e.fromId!=t?e.fromId:e.fromId}},{key:"_getHubSize",value:function(){for(var e=0,t=0,i=0,o=0,n=0;no&&(o=s.edges.length),e+=s.edges.length,t+=Math.pow(s.edges.length,2),i+=1}e/=i,t/=i;var r=t-Math.pow(e,2),a=Math.sqrt(r),h=Math.floor(e+2*a);return h>o&&(h=o),h}}]),e}();t["default"]=u},function(e,t,i){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var i=0;i0)for(var a=0;at.shape.boundingBox.left&&(s=t.shape.boundingBox.left),rt.shape.boundingBox.top&&(o=t.shape.boundingBox.top),n0)for(var a=0;at.x&&(s=t.x),rt.y&&(o=t.y),n0,e.renderTimer=void 0}),this.body.emitter.on("destroy",function(){e.renderRequests=0,e.allowRedraw=!1,e.renderingActive=!1,e.requiresTimeout===!0?clearTimeout(e.renderTimer):cancelAnimationFrame(e.renderTimer),e.body.emitter.off()})}},{key:"setOptions",value:function(e){if(void 0!==e){var t=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(t,this.options,e)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var e=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){e._redraw(!1)},0):window.requestAnimationFrame(function(){e._redraw(!1)}))}},{key:"_redraw",value:function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var t=this.canvas.frame.canvas.getContext("2d");0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(t.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale),t.beginPath(),this.body.emitter.emit("beforeDrawing",t),t.closePath(),e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(t),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(t,e),t.beginPath(),this.body.emitter.emit("afterDrawing",t),t.closePath(),t.restore(),e===!0&&t.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var e=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale);var t=this.body.nodes,i=void 0;for(var o in t)t.hasOwnProperty(o)&&(i=t[o],i.resize(e),i.updateBoundingBox(e,i.selected));e.restore()}},{key:"_drawNodes",value:function(e){for(var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0){var e=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,t=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=e&&1!=t?i=.5*this.cameraState.scale*(e+t):1!=e?i=this.cameraState.scale*e:1!=t&&(i=this.cameraState.scale*t),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(e){if("number"==typeof e)return e+"px";if("string"==typeof e){if(-1!==e.indexOf("%")||-1!==e.indexOf("px"))return e;if(-1===e.indexOf("%"))return e+"px"}throw new Error("Could not use the value supplied for width or height:"+e)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",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 e=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var e=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new s(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:s.DIRECTION_ALL}),r.onTouch(this.hammer,function(t){e.body.eventListeners.onTouch(t)}),this.hammer.on("tap",function(t){e.body.eventListeners.onTap(t)}),this.hammer.on("doubletap",function(t){e.body.eventListeners.onDoubleTap(t)}),this.hammer.on("press",function(t){e.body.eventListeners.onHold(t)}),this.hammer.on("panstart",function(t){e.body.eventListeners.onDragStart(t)}),this.hammer.on("panmove",function(t){e.body.eventListeners.onDrag(t)}),this.hammer.on("panend",function(t){e.body.eventListeners.onDragEnd(t)}),this.hammer.on("pinch",function(t){e.body.eventListeners.onPinch(t)}),this.frame.canvas.addEventListener("mousewheel",function(t){e.body.eventListeners.onMouseWheel(t)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(t){e.body.eventListeners.onMouseWheel(t)}),this.frame.canvas.addEventListener("mousemove",function(t){e.body.eventListeners.onMouseMove(t)}),this.frame.canvas.addEventListener("contextmenu",function(t){e.body.eventListeners.onContext(t)}),this.hammerFrame=new s(this.frame),r.onRelease(this.hammerFrame,function(t){e.body.eventListeners.onRelease(t)})}},{key:"setSize",value:function(){var e=arguments.length<=0||void 0===arguments[0]?this.options.width:arguments[0],t=arguments.length<=1||void 0===arguments[1]?this.options.height:arguments[1];e=this._prepareValue(e),t=this._prepareValue(t);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),e!=this.options.width||t!=this.options.height||this.frame.style.width!=e||this.frame.style.height!=t?(this._getCameraState(r),this.frame.style.width=e,this.frame.style.height=t,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=e,this.options.height=t,i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(e){return(e-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(e){return e*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(e){return(e-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(e){return e*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(e){return{x:this._XconvertCanvasToDOM(e.x),y:this._YconvertCanvasToDOM(e.y)}}},{key:"DOMtoCanvas",value:function(e){return{x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)}}}]),e}();t["default"]=h},function(e,t,i){if("undefined"!=typeof window){var o=i(59),n=window.Hammer||i(60);e.exports=o(n,{preventDefault:"mouse"})}else e.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(e,t,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(t,n):o,!(void 0!==s&&(e.exports=s))}(function(){var e=null;return function t(i,o){function n(e){return e.match(/[^ ]+/g)}function s(t){if("hammer.input"!==t.type){if(t.srcEvent._handled||(t.srcEvent._handled={}),t.srcEvent._handled[t.type])return;t.srcEvent._handled[t.type]=!0}var i=!1;t.stopPropagation=function(){i=!0};var o=t.srcEvent.stopPropagation.bind(t.srcEvent);"function"==typeof o&&(t.srcEvent.stopPropagation=function(){o(),t.stopPropagation()}),t.firstTarget=e;for(var n=e;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[e]=o:(i.off(e,s),delete d._handlers[e]))}),d},d.emit=function(t,o){e=o.target,i.emit(t,o)},d.destroy=function(){var e=i.element.hammer,t=e.indexOf(d);-1!==t&&e.splice(t,1),e.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(e,t,i){var o;/*! Hammer.JS - v2.0.6 - 2015-12-23 +"use strict";!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.vis=t():e.vis=t()}(this,function(){return function(e){function t(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return e[o].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){t.util=i(1),t.DOMutil=i(7),t.DataSet=i(8),t.DataView=i(10),t.Queue=i(9),t.Network=i(11),t.network={Images:i(12),dotparser:i(77),gephiParser:i(78),allOptions:i(72)},t.network.convertDot=function(e){return t.network.dotparser.DOTToGraph(e)},t.network.convertGephi=function(e,i){return t.network.gephiParser.parseGephi(e,i)},t.moment=i(2),t.Hammer=i(58),t.keycharm=i(65)},function(e,t,i){var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n=i(2),s=i(6);t.isNumber=function(e){return e instanceof Number||"number"==typeof e},t.recursiveDOMDelete=function(e){if(e)for(;e.hasChildNodes()===!0;)t.recursiveDOMDelete(e.firstChild),e.removeChild(e.firstChild)},t.giveRange=function(e,t,i,o){if(t==e)return.5;var n=1/(t-e);return Math.max(0,(o-e)*n)},t.isString=function(e){return e instanceof String||"string"==typeof e},t.isDate=function(e){if(e instanceof Date)return!0;if(t.isString(e)){var i=r.exec(e);if(i)return!0;if(!isNaN(Date.parse(e)))return!0}return!1},t.randomUUID=function(){return s.v4()},t.assignAllKeys=function(e,t){for(var i in e)e.hasOwnProperty(i)&&"object"!==o(e[i])&&(e[i]=t)},t.fillIfDefined=function(e,i){var n=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];for(var s in e)void 0!==i[s]&&("object"!==o(i[s])?void 0!==i[s]&&null!==i[s]||void 0===e[s]||n!==!0?e[s]=i[s]:delete e[s]:"object"===o(e[s])&&t.fillIfDefined(e[s],i[s],n))},t.protoExtend=function(e,t){for(var i=1;ii;i++)if(e[i]!=t[i])return!1;return!0},t.convert=function(e,i){var o;if(void 0!==e){if(null===e)return null;if(!i)return e;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(e);case"number":case"Number":return Number(e.valueOf());case"string":case"String":return String(e);case"Date":if(t.isNumber(e))return new Date(e);if(e instanceof Date)return new Date(e.valueOf());if(n.isMoment(e))return new Date(e.valueOf());if(t.isString(e))return o=r.exec(e),o?new Date(Number(o[1])):n(e).toDate();throw new Error("Cannot convert object of type "+t.getType(e)+" to type Date");case"Moment":if(t.isNumber(e))return n(e);if(e instanceof Date)return n(e.valueOf());if(n.isMoment(e))return n(e);if(t.isString(e))return o=r.exec(e),n(o?Number(o[1]):e);throw new Error("Cannot convert object of type "+t.getType(e)+" to type Date");case"ISODate":if(t.isNumber(e))return new Date(e);if(e instanceof Date)return e.toISOString();if(n.isMoment(e))return e.toDate().toISOString();if(t.isString(e))return o=r.exec(e),o?new Date(Number(o[1])).toISOString():new Date(e).toISOString();throw new Error("Cannot convert object of type "+t.getType(e)+" to type ISODate");case"ASPDate":if(t.isNumber(e))return"/Date("+e+")/";if(e instanceof Date)return"/Date("+e.valueOf()+")/";if(t.isString(e)){o=r.exec(e);var s;return s=o?new Date(Number(o[1])).valueOf():new Date(e).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+t.getType(e)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}}};var r=/^\/?Date\((\-?\d+)/i;t.getType=function(e){var t="undefined"==typeof e?"undefined":o(e);return"object"==t?null===e?"null":e instanceof Boolean?"Boolean":e instanceof Number?"Number":e instanceof String?"String":Array.isArray(e)?"Array":e instanceof Date?"Date":"Object":"number"==t?"Number":"boolean"==t?"Boolean":"string"==t?"String":void 0===t?"undefined":t},t.copyAndExtendArray=function(e,t){for(var i=[],o=0;oi;i++)t(e[i],i,e);else for(i in e)e.hasOwnProperty(i)&&t(e[i],i,e)},t.toArray=function(e){var t=[];for(var i in e)e.hasOwnProperty(i)&&t.push(e[i]);return t},t.updateProperty=function(e,t,i){return e[t]!==i?(e[t]=i,!0):!1},t.throttle=function(e,t){var i=null,o=!1;return function n(){i?o=!0:(o=!1,e(),i=setTimeout(function(){i=null,o&&n()},t))}},t.addEventListener=function(e,t,i,o){e.addEventListener?(void 0===o&&(o=!1),"mousewheel"===t&&navigator.userAgent.indexOf("Firefox")>=0&&(t="DOMMouseScroll"),e.addEventListener(t,i,o)):e.attachEvent("on"+t,i)},t.removeEventListener=function(e,t,i,o){e.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===t&&navigator.userAgent.indexOf("Firefox")>=0&&(t="DOMMouseScroll"),e.removeEventListener(t,i,o)):e.detachEvent("on"+t,i)},t.preventDefault=function(e){e||(e=window.event),e.preventDefault?e.preventDefault():e.returnValue=!1},t.getTarget=function(e){e||(e=window.event);var t;return e.target?t=e.target:e.srcElement&&(t=e.srcElement),void 0!=t.nodeType&&3==t.nodeType&&(t=t.parentNode),t},t.hasParent=function(e,t){for(var i=e;i;){if(i===t)return!0;i=i.parentNode}return!1},t.option={},t.option.asBoolean=function(e,t){return"function"==typeof e&&(e=e()),null!=e?0!=e:t||null},t.option.asNumber=function(e,t){return"function"==typeof e&&(e=e()),null!=e?Number(e)||t||null:t||null},t.option.asString=function(e,t){return"function"==typeof e&&(e=e()),null!=e?String(e):t||null},t.option.asSize=function(e,i){return"function"==typeof e&&(e=e()),t.isString(e)?e:t.isNumber(e)?e+"px":i||null},t.option.asElement=function(e,t){return"function"==typeof e&&(e=e()),e||t||null},t.hexToRGB=function(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(t,function(e,t,i,o){return t+t+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},t.overrideOpacity=function(e,i){if(-1!=e.indexOf("rgba"))return e;if(-1!=e.indexOf("rgb")){var o=e.substr(e.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=t.hexToRGB(e);return null==o?e:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},t.RGBToHex=function(e,t,i){return"#"+((1<<24)+(e<<16)+(t<<8)+i).toString(16).slice(1)},t.parseColor=function(e){var i;if(t.isString(e)===!0){if(t.isValidRGB(e)===!0){var o=e.substr(4).substr(0,e.length-5).split(",").map(function(e){return parseInt(e)});e=t.RGBToHex(o[0],o[1],o[2])}if(t.isValidHex(e)===!0){var n=t.hexToHSV(e),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=t.HSVToHex(r.h,r.s,r.v),h=t.HSVToHex(s.h,s.s,s.v);i={background:e,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:e,border:e,highlight:{background:e,border:e},hover:{background:e,border:e}}}else i={},i.background=e.background||void 0,i.border=e.border||void 0,t.isString(e.highlight)?i.highlight={border:e.highlight,background:e.highlight}:(i.highlight={},i.highlight.background=e.highlight&&e.highlight.background||void 0,i.highlight.border=e.highlight&&e.highlight.border||void 0),t.isString(e.hover)?i.hover={border:e.hover,background:e.hover}:(i.hover={},i.hover.background=e.hover&&e.hover.background||void 0,i.hover.border=e.hover&&e.hover.border||void 0);return i},t.RGBToHSV=function(e,t,i){e/=255,t/=255,i/=255;var o=Math.min(e,Math.min(t,i)),n=Math.max(e,Math.max(t,i));if(o==n)return{h:0,s:0,v:o};var s=e==o?t-i:i==o?e-t:i-e,r=e==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var a={split:function(e){var t={};return e.split(";").forEach(function(e){if(""!=e.trim()){var i=e.split(":"),o=i[0].trim(),n=i[1].trim();t[o]=n}}),t},join:function(e){return Object.keys(e).map(function(t){return t+": "+e[t]}).join("; ")}};t.addCssText=function(e,i){var o=a.split(e.style.cssText),n=a.split(i),s=t.extend(o,n);e.style.cssText=a.join(s)},t.removeCssText=function(e,t){var i=a.split(e.style.cssText),o=a.split(t);for(var n in o)o.hasOwnProperty(n)&&delete i[n];e.style.cssText=a.join(i)},t.HSVToRGB=function(e,t,i){var o,n,s,r=Math.floor(6*e),a=6*e-r,h=i*(1-t),d=i*(1-a*t),l=i*(1-(1-a)*t);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},t.HSVToHex=function(e,i,o){var n=t.HSVToRGB(e,i,o);return t.RGBToHex(n.r,n.g,n.b)},t.hexToHSV=function(e){var i=t.hexToRGB(e);return t.RGBToHSV(i.r,i.g,i.b)},t.isValidHex=function(e){var t=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e);return t},t.isValidRGB=function(e){e=e.replace(" ","");var t=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(e);return t},t.isValidRGBA=function(e){e=e.replace(" ","");var t=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(e);return t},t.selectiveBridgeObject=function(e,i){if("object"==("undefined"==typeof i?"undefined":o(i))){for(var n=Object.create(i),s=0;s0&&t(o,e[n-1])<0;n--)e[n]=e[n-1];e[n]=o}return e},t.mergeOptions=function(e,t,i){var o=(arguments.length<=3||void 0===arguments[3]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===t[i])e[i]=Object.create(o[i]);else if(void 0!==t[i])if("boolean"==typeof t[i])e[i].enabled=t[i];else{void 0===t[i].enabled&&(e[i].enabled=!0);for(var n in t[i])t[i].hasOwnProperty(n)&&(e[i][n]=t[i][n])}},t.binarySearchCustom=function(e,t,i,o){for(var n=1e4,s=0,r=0,a=e.length-1;a>=r&&n>s;){var h=Math.floor((r+a)/2),d=e[h],l=void 0===o?d[i]:d[i][o],c=t(l);if(0==c)return h;-1==c?r=h+1:a=h-1,s++}return-1},t.binarySearchValue=function(e,t,i,o,n){for(var s,r,a,h,d=1e4,l=0,c=0,u=e.length-1,n=void 0!=n?n:function(e,t){return e==t?0:t>e?-1:1};u>=c&&d>l;){if(h=Math.floor(.5*(u+c)),s=e[Math.max(0,h-1)][i],r=e[h][i],a=e[Math.min(e.length-1,h+1)][i],0==n(r,t))return h;if(n(s,t)<0&&n(r,t)>0)return"before"==o?Math.max(0,h-1):h;if(n(r,t)<0&&n(a,t)>0)return"before"==o?h:Math.min(e.length-1,h+1);n(r,t)<0?c=h+1:u=h-1,l++}return-1},t.easingFunctions={linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return e*(2-e)},easeInOutQuad:function(e){return.5>e?2*e*e:-1+(4-2*e)*e},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return--e*e*e+1},easeInOutCubic:function(e){return.5>e?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1- --e*e*e*e},easeInOutQuart:function(e){return.5>e?8*e*e*e*e:1-8*--e*e*e*e},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1+--e*e*e*e*e},easeInOutQuint:function(e){return.5>e?16*e*e*e*e*e:1+16*--e*e*e*e*e}}},function(e,t,i){e.exports="undefined"!=typeof window&&window.moment||i(3)},function(e,t,i){(function(e){!function(t,i){e.exports=i()}(this,function(){function t(){return ro.apply(null,arguments)}function i(e){ro=e}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function n(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function s(e,t){var i,o=[];for(i=0;i0)for(i in ho)o=ho[i],n=t[o],f(n)||(e[o]=n);return e}function v(e){p(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),lo===!1&&(lo=!0,t.updateOffset(this),lo=!1)}function y(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function g(e){return 0>e?Math.ceil(e):Math.floor(e)}function b(e){var t=+e,i=0;return 0!==t&&isFinite(t)&&(i=g(t)),i}function m(e,t,i){var o,n=Math.min(e.length,t.length),s=Math.abs(e.length-t.length),r=0;for(o=0;n>o;o++)(i&&e[o]!==t[o]||!i&&b(e[o])!==b(t[o]))&&r++;return r+s}function _(e){t.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function w(e,i){var o=!0;return a(function(){return null!=t.deprecationHandler&&t.deprecationHandler(null,e),o&&(_(e+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),o=!1),i.apply(this,arguments)},i)}function k(e,i){null!=t.deprecationHandler&&t.deprecationHandler(e,i),co[e]||(_(i),co[e]=!0)}function x(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function O(e){return"[object Object]"===Object.prototype.toString.call(e)}function E(e){var t,i;for(i in e)t=e[i],x(t)?this[i]=t:this["_"+i]=t;this._config=e,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function M(e,t){var i,o=a({},e);for(i in t)r(t,i)&&(O(e[i])&&O(t[i])?(o[i]={},a(o[i],e[i]),a(o[i],t[i])):null!=t[i]?o[i]=t[i]:delete o[i]);return o}function D(e){null!=e&&this.set(e)}function S(e){return e?e.toLowerCase().replace("_","-"):e}function C(e){for(var t,i,o,n,s=0;s0;){if(o=T(n.slice(0,t).join("-")))return o;if(i&&i.length>=t&&m(n,i,!0)>=t-1)break;t--}s++}return null}function T(t){var i=null;if(!vo[t]&&"undefined"!=typeof e&&e&&e.exports)try{i=fo._abbr,!function(){var e=new Error('Cannot find module "./locale"');throw e.code="MODULE_NOT_FOUND",e}(),P(i)}catch(o){}return vo[t]}function P(e,t){var i;return e&&(i=f(t)?I(e):B(e,t),i&&(fo=i)),fo._abbr}function B(e,t){return null!==t?(t.abbr=e,null!=vo[e]?(k("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),t=M(vo[e]._config,t)):null!=t.parentLocale&&(null!=vo[t.parentLocale]?t=M(vo[t.parentLocale]._config,t):k("parentLocaleUndefined","specified parentLocale is not defined yet")),vo[e]=new D(t),P(e),vo[e]):(delete vo[e],null)}function F(e,t){if(null!=t){var i;null!=vo[e]&&(t=M(vo[e]._config,t)),i=new D(t),i.parentLocale=vo[e],vo[e]=i,P(e)}else null!=vo[e]&&(null!=vo[e].parentLocale?vo[e]=vo[e].parentLocale:null!=vo[e]&&delete vo[e]);return vo[e]}function I(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return fo;if(!o(e)){if(t=T(e))return t;e=[e]}return C(e)}function j(){return uo(vo)}function N(e,t){var i=e.toLowerCase();yo[i]=yo[i+"s"]=yo[t]=e}function z(e){return"string"==typeof e?yo[e]||yo[e.toLowerCase()]:void 0}function R(e){var t,i,o={};for(i in e)r(e,i)&&(t=z(i),t&&(o[t]=e[i]));return o}function A(e,i){return function(o){return null!=o?(H(this,e,o),t.updateOffset(this,i),this):L(this,e)}}function L(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function H(e,t,i){e.isValid()&&e._d["set"+(e._isUTC?"UTC":"")+t](i)}function W(e,t){var i;if("object"==typeof e)for(i in e)this.set(i,e[i]);else if(e=z(e),x(this[e]))return this[e](t);return this}function Y(e,t,i){var o=""+Math.abs(e),n=t-o.length,s=e>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function U(e,t,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),e&&(_o[e]=n),t&&(_o[t[0]]=function(){return Y(n.apply(this,arguments),t[1],t[2])}),i&&(_o[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function V(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function q(e){var t,i,o=e.match(go);for(t=0,i=o.length;i>t;t++)_o[o[t]]?o[t]=_o[o[t]]:o[t]=V(o[t]);return function(t){var n,s="";for(n=0;i>n;n++)s+=o[n]instanceof Function?o[n].call(t,e):o[n];return s}}function G(e,t){return e.isValid()?(t=X(t,e.localeData()),mo[t]=mo[t]||q(t),mo[t](e)):e.localeData().invalidDate()}function X(e,t){function i(e){return t.longDateFormat(e)||e}var o=5;for(bo.lastIndex=0;o>=0&&bo.test(e);)e=e.replace(bo,i),bo.lastIndex=0,o-=1;return e}function K(e,t,i){Ro[e]=x(t)?t:function(e,o){return e&&i?i:t}}function Z(e,t){return r(Ro,e)?Ro[e](t._strict,t._locale):new RegExp(Q(e))}function Q(e){return J(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,i,o,n){return t||i||o||n}))}function J(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function $(e,t){var i,o=t;for("string"==typeof e&&(e=[e]),"number"==typeof t&&(o=function(e,i){i[t]=b(e)}),i=0;io;++o)s=h([2e3,o]),this._shortMonthsParse[o]=this.monthsShort(s,"").toLocaleLowerCase(),this._longMonthsParse[o]=this.months(s,"").toLocaleLowerCase();return i?"MMM"===t?(n=po.call(this._shortMonthsParse,r),-1!==n?n:null):(n=po.call(this._longMonthsParse,r),-1!==n?n:null):"MMM"===t?(n=po.call(this._shortMonthsParse,r),-1!==n?n:(n=po.call(this._longMonthsParse,r),-1!==n?n:null)):(n=po.call(this._longMonthsParse,r),-1!==n?n:(n=po.call(this._shortMonthsParse,r),-1!==n?n:null))}function re(e,t,i){var o,n,s;if(this._monthsParseExact)return se.call(this,e,t,i);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),o=0;12>o;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===t&&this._longMonthsParse[o].test(e))return o;if(i&&"MMM"===t&&this._shortMonthsParse[o].test(e))return o;if(!i&&this._monthsParse[o].test(e))return o}}function ae(e,t){var i;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=b(t);else if(t=e.localeData().monthsParse(t),"number"!=typeof t)return e;return i=Math.min(e.date(),ie(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,i),e}function he(e){return null!=e?(ae(this,e),t.updateOffset(this,!0),this):L(this,"Month")}function de(){return ie(this.year(),this.month())}function le(e){return this._monthsParseExact?(r(this,"_monthsRegex")||ue.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex}function ce(e){return this._monthsParseExact?(r(this,"_monthsRegex")||ue.call(this),e?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex}function ue(){function e(e,t){return t.length-e.length}var t,i,o=[],n=[],s=[];for(t=0;12>t;t++)i=h([2e3,t]),o.push(this.monthsShort(i,"")),n.push(this.months(i,"")),s.push(this.months(i,"")),s.push(this.monthsShort(i,""));for(o.sort(e),n.sort(e),s.sort(e),t=0;12>t;t++)o[t]=J(o[t]),n[t]=J(n[t]),s[t]=J(s[t]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+o.join("|")+")","i")}function fe(e){var t,i=e._a;return i&&-2===l(e).overflow&&(t=i[Ho]<0||i[Ho]>11?Ho:i[Wo]<1||i[Wo]>ie(i[Lo],i[Ho])?Wo:i[Yo]<0||i[Yo]>24||24===i[Yo]&&(0!==i[Uo]||0!==i[Vo]||0!==i[qo])?Yo:i[Uo]<0||i[Uo]>59?Uo:i[Vo]<0||i[Vo]>59?Vo:i[qo]<0||i[qo]>999?qo:-1,l(e)._overflowDayOfYear&&(Lo>t||t>Wo)&&(t=Wo),l(e)._overflowWeeks&&-1===t&&(t=Go),l(e)._overflowWeekday&&-1===t&&(t=Xo),l(e).overflow=t),e}function pe(e){var t,i,o,n,s,r,a=e._i,h=en.exec(a)||tn.exec(a);if(h){for(l(e).iso=!0,t=0,i=nn.length;i>t;t++)if(nn[t][1].exec(h[1])){n=nn[t][0],o=nn[t][2]!==!1;break}if(null==n)return void(e._isValid=!1);if(h[3]){for(t=0,i=sn.length;i>t;t++)if(sn[t][1].exec(h[3])){s=(h[2]||" ")+sn[t][0];break}if(null==s)return void(e._isValid=!1)}if(!o&&null!=s)return void(e._isValid=!1);if(h[4]){if(!on.exec(h[4]))return void(e._isValid=!1);r="Z"}e._f=n+(s||"")+(r||""),Ce(e)}else e._isValid=!1}function ve(e){var i=rn.exec(e._i);return null!==i?void(e._d=new Date(+i[1])):(pe(e),void(e._isValid===!1&&(delete e._isValid,t.createFromInputFallback(e))))}function ye(e,t,i,o,n,s,r){var a=new Date(e,t,i,o,n,s,r);return 100>e&&e>=0&&isFinite(a.getFullYear())&&a.setFullYear(e),a}function ge(e){var t=new Date(Date.UTC.apply(null,arguments));return 100>e&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function be(e){return me(e)?366:365}function me(e){return e%4===0&&e%100!==0||e%400===0}function _e(){return me(this.year())}function we(e,t,i){var o=7+t-i,n=(7+ge(e,0,o).getUTCDay()-t)%7;return-n+o-1}function ke(e,t,i,o,n){var s,r,a=(7+i-o)%7,h=we(e,o,n),d=1+7*(t-1)+a+h;return 0>=d?(s=e-1,r=be(s)+d):d>be(e)?(s=e+1,r=d-be(e)):(s=e,r=d),{year:s,dayOfYear:r}}function xe(e,t,i){var o,n,s=we(e.year(),t,i),r=Math.floor((e.dayOfYear()-s-1)/7)+1;return 1>r?(n=e.year()-1,o=r+Oe(n,t,i)):r>Oe(e.year(),t,i)?(o=r-Oe(e.year(),t,i),n=e.year()+1):(n=e.year(),o=r),{week:o,year:n}}function Oe(e,t,i){var o=we(e,t,i),n=we(e+1,t,i);return(be(e)-o+n)/7}function Ee(e,t,i){return null!=e?e:null!=t?t:i}function Me(e){var i=new Date(t.now());return e._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function De(e){var t,i,o,n,s=[];if(!e._d){for(o=Me(e),e._w&&null==e._a[Wo]&&null==e._a[Ho]&&Se(e),e._dayOfYear&&(n=Ee(e._a[Lo],o[Lo]),e._dayOfYear>be(n)&&(l(e)._overflowDayOfYear=!0),i=ge(n,0,e._dayOfYear),e._a[Ho]=i.getUTCMonth(),e._a[Wo]=i.getUTCDate()),t=0;3>t&&null==e._a[t];++t)e._a[t]=s[t]=o[t];for(;7>t;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Yo]&&0===e._a[Uo]&&0===e._a[Vo]&&0===e._a[qo]&&(e._nextDay=!0,e._a[Yo]=0),e._d=(e._useUTC?ge:ye).apply(null,s),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Yo]=24)}}function Se(e){var t,i,o,n,s,r,a,h;t=e._w,null!=t.GG||null!=t.W||null!=t.E?(s=1,r=4,i=Ee(t.GG,e._a[Lo],xe(ze(),1,4).year),o=Ee(t.W,1),n=Ee(t.E,1),(1>n||n>7)&&(h=!0)):(s=e._locale._week.dow,r=e._locale._week.doy,i=Ee(t.gg,e._a[Lo],xe(ze(),s,r).year),o=Ee(t.w,1),null!=t.d?(n=t.d,(0>n||n>6)&&(h=!0)):null!=t.e?(n=t.e+s,(t.e<0||t.e>6)&&(h=!0)):n=s),1>o||o>Oe(i,s,r)?l(e)._overflowWeeks=!0:null!=h?l(e)._overflowWeekday=!0:(a=ke(i,o,n,s,r),e._a[Lo]=a.year,e._dayOfYear=a.dayOfYear)}function Ce(e){if(e._f===t.ISO_8601)return void pe(e);e._a=[],l(e).empty=!0;var i,o,n,s,r,a=""+e._i,h=a.length,d=0;for(n=X(e._f,e._locale).match(go)||[],i=0;i0&&l(e).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),_o[s]?(o?l(e).empty=!1:l(e).unusedTokens.push(s),te(s,o,e)):e._strict&&!o&&l(e).unusedTokens.push(s);l(e).charsLeftOver=h-d,a.length>0&&l(e).unusedInput.push(a),l(e).bigHour===!0&&e._a[Yo]<=12&&e._a[Yo]>0&&(l(e).bigHour=void 0),l(e).parsedDateParts=e._a.slice(0),l(e).meridiem=e._meridiem,e._a[Yo]=Te(e._locale,e._a[Yo],e._meridiem),De(e),fe(e)}function Te(e,t,i){var o;return null==i?t:null!=e.meridiemHour?e.meridiemHour(t,i):null!=e.isPM?(o=e.isPM(i),o&&12>t&&(t+=12),o||12!==t||(t=0),t):t}function Pe(e){var t,i,o,n,s;if(0===e._f.length)return l(e).invalidFormat=!0,void(e._d=new Date(NaN));for(n=0;ns)&&(o=s,i=t));a(e,i||t)}function Be(e){if(!e._d){var t=R(e._i);e._a=s([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),De(e)}}function Fe(e){var t=new v(fe(Ie(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}function Ie(e){var t=e._i,i=e._f;return e._locale=e._locale||I(e._l),null===t||void 0===i&&""===t?u({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),y(t)?new v(fe(t)):(o(i)?Pe(e):i?Ce(e):n(t)?e._d=t:je(e),c(e)||(e._d=null),e))}function je(e){var i=e._i;void 0===i?e._d=new Date(t.now()):n(i)?e._d=new Date(i.valueOf()):"string"==typeof i?ve(e):o(i)?(e._a=s(i.slice(0),function(e){return parseInt(e,10)}),De(e)):"object"==typeof i?Be(e):"number"==typeof i?e._d=new Date(i):t.createFromInputFallback(e)}function Ne(e,t,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=e,s._f=t,s._strict=o,Fe(s)}function ze(e,t,i,o){return Ne(e,t,i,o,!1)}function Re(e,t){var i,n;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return ze();for(i=t[0],n=1;ne&&(e=-e,i="-"),i+Y(~~(e/60),2)+t+Y(~~e%60,2)})}function Ue(e,t){var i=(t||"").match(e)||[],o=i[i.length-1]||[],n=(o+"").match(cn)||["-",0,0],s=+(60*n[1])+b(n[2]);return"+"===n[0]?s:-s}function Ve(e,i){var o,s;return i._isUTC?(o=i.clone(),s=(y(e)||n(e)?e.valueOf():ze(e).valueOf())-o.valueOf(),o._d.setTime(o._d.valueOf()+s),t.updateOffset(o,!1),o):ze(e).local()}function qe(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Ge(e,i){var o,n=this._offset||0;return this.isValid()?null!=e?("string"==typeof e?e=Ue(jo,e):Math.abs(e)<16&&(e=60*e),!this._isUTC&&i&&(o=qe(this)),this._offset=e,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==e&&(!i||this._changeInProgress?lt(this,nt(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:qe(this):null!=e?this:NaN}function Xe(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function Ke(e){return this.utcOffset(0,e)}function Ze(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(qe(this),"m")),this}function Qe(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ue(Io,this._i)),this}function Je(e){return this.isValid()?(e=e?ze(e).utcOffset():0,(this.utcOffset()-e)%60===0):!1}function $e(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function et(){if(!f(this._isDSTShifted))return this._isDSTShifted;var e={};if(p(e,this),e=Ie(e),e._a){var t=e._isUTC?h(e._a):ze(e._a);this._isDSTShifted=this.isValid()&&m(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function tt(){return this.isValid()?!this._isUTC:!1}function it(){return this.isValid()?this._isUTC:!1}function ot(){return this.isValid()?this._isUTC&&0===this._offset:!1}function nt(e,t){var i,o,n,s=e,a=null;return We(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:"number"==typeof e?(s={},t?s[t]=e:s.milliseconds=e):(a=un.exec(e))?(i="-"===a[1]?-1:1,s={y:0,d:b(a[Wo])*i,h:b(a[Yo])*i,m:b(a[Uo])*i,s:b(a[Vo])*i,ms:b(a[qo])*i}):(a=fn.exec(e))?(i="-"===a[1]?-1:1,s={y:st(a[2],i),M:st(a[3],i),w:st(a[4],i),d:st(a[5],i),h:st(a[6],i),m:st(a[7],i),s:st(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=at(ze(s.from),ze(s.to)),s={}, +s.ms=n.milliseconds,s.M=n.months),o=new He(s),We(e)&&r(e,"_locale")&&(o._locale=e._locale),o}function st(e,t){var i=e&&parseFloat(e.replace(",","."));return(isNaN(i)?0:i)*t}function rt(e,t){var i={milliseconds:0,months:0};return i.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(i.months,"M").isAfter(t)&&--i.months,i.milliseconds=+t-+e.clone().add(i.months,"M"),i}function at(e,t){var i;return e.isValid()&&t.isValid()?(t=Ve(t,e),e.isBefore(t)?i=rt(e,t):(i=rt(t,e),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function ht(e){return 0>e?-1*Math.round(-1*e):Math.round(e)}function dt(e,t){return function(i,o){var n,s;return null===o||isNaN(+o)||(k(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=nt(i,o),lt(this,n,e),this}}function lt(e,i,o,n){var s=i._milliseconds,r=ht(i._days),a=ht(i._months);e.isValid()&&(n=null==n?!0:n,s&&e._d.setTime(e._d.valueOf()+s*o),r&&H(e,"Date",L(e,"Date")+r*o),a&&ae(e,L(e,"Month")+a*o),n&&t.updateOffset(e,r||a))}function ct(e,t){var i=e||ze(),o=Ve(i,this).startOf("day"),n=this.diff(o,"days",!0),s=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse",r=t&&(x(t[s])?t[s]():t[s]);return this.format(r||this.localeData().calendar(s,this,ze(i)))}function ut(){return new v(this)}function ft(e,t){var i=y(e)?e:ze(e);return this.isValid()&&i.isValid()?(t=z(f(t)?"millisecond":t),"millisecond"===t?this.valueOf()>i.valueOf():i.valueOf()t-s?(i=e.clone().add(n-1,"months"),o=(t-s)/(s-i)):(i=e.clone().add(n+1,"months"),o=(t-s)/(i-s)),-(n+o)||0}function wt(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function kt(){var e=this.clone().utc();return 0s&&(t=s),Xt.call(this,e,t,i,o,n))}function Xt(e,t,i,o,n){var s=ke(e,t,i,o,n),r=ge(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Kt(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Zt(e){return xe(e,this._week.dow,this._week.doy).week}function Qt(){return this._week.dow}function Jt(){return this._week.doy}function $t(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function ei(e){var t=xe(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function ti(e,t){return"string"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e,10)}function ii(e,t){return o(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]}function oi(e){return this._weekdaysShort[e.day()]}function ni(e){return this._weekdaysMin[e.day()]}function si(e,t,i){var o,n,s,r=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;7>o;++o)s=h([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===t?(n=po.call(this._weekdaysParse,r),-1!==n?n:null):"ddd"===t?(n=po.call(this._shortWeekdaysParse,r),-1!==n?n:null):(n=po.call(this._minWeekdaysParse,r),-1!==n?n:null):"dddd"===t?(n=po.call(this._weekdaysParse,r),-1!==n?n:(n=po.call(this._shortWeekdaysParse,r),-1!==n?n:(n=po.call(this._minWeekdaysParse,r),-1!==n?n:null))):"ddd"===t?(n=po.call(this._shortWeekdaysParse,r),-1!==n?n:(n=po.call(this._weekdaysParse,r),-1!==n?n:(n=po.call(this._minWeekdaysParse,r),-1!==n?n:null))):(n=po.call(this._minWeekdaysParse,r),-1!==n?n:(n=po.call(this._weekdaysParse,r),-1!==n?n:(n=po.call(this._shortWeekdaysParse,r),-1!==n?n:null)))}function ri(e,t,i){var o,n,s;if(this._weekdaysParseExact)return si.call(this,e,t,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;7>o;o++){if(n=h([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===t&&this._fullWeekdaysParse[o].test(e))return o;if(i&&"ddd"===t&&this._shortWeekdaysParse[o].test(e))return o;if(i&&"dd"===t&&this._minWeekdaysParse[o].test(e))return o;if(!i&&this._weekdaysParse[o].test(e))return o}}function ai(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=ti(e,this.localeData()),this.add(e-t,"d")):t}function hi(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function di(e){return this.isValid()?null==e?this.day()||7:this.day(this.day()%7?e:e-7):null!=e?this:NaN}function li(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||fi.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex}function ci(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||fi.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}function ui(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||fi.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}function fi(){function e(e,t){return t.length-e.length}var t,i,o,n,s,r=[],a=[],d=[],l=[];for(t=0;7>t;t++)i=h([2e3,1]).day(t),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),d.push(s),l.push(o),l.push(n),l.push(s);for(r.sort(e),a.sort(e),d.sort(e),l.sort(e),t=0;7>t;t++)a[t]=J(a[t]),d[t]=J(d[t]),l[t]=J(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function pi(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}function vi(){return this.hours()%12||12}function yi(){return this.hours()||24}function gi(e,t){U(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function bi(e,t){return t._meridiemParse}function mi(e){return"p"===(e+"").toLowerCase().charAt(0)}function _i(e,t,i){return e>11?i?"pm":"PM":i?"am":"AM"}function wi(e,t){t[qo]=b(1e3*("0."+e))}function ki(){return this._isUTC?"UTC":""}function xi(){return this._isUTC?"Coordinated Universal Time":""}function Oi(e){return ze(1e3*e)}function Ei(){return ze.apply(null,arguments).parseZone()}function Mi(e,t,i){var o=this._calendar[e];return x(o)?o.call(t,i):o}function Di(e){var t=this._longDateFormat[e],i=this._longDateFormat[e.toUpperCase()];return t||!i?t:(this._longDateFormat[e]=i.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])}function Si(){return this._invalidDate}function Ci(e){return this._ordinal.replace("%d",e)}function Ti(e){return e}function Pi(e,t,i,o){var n=this._relativeTime[i];return x(n)?n(e,t,i,o):n.replace(/%d/i,e)}function Bi(e,t){var i=this._relativeTime[e>0?"future":"past"];return x(i)?i(t):i.replace(/%s/i,t)}function Fi(e,t,i,o){var n=I(),s=h().set(o,t);return n[i](s,e)}function Ii(e,t,i){if("number"==typeof e&&(t=e,e=void 0),e=e||"",null!=t)return Fi(e,t,i,"month");var o,n=[];for(o=0;12>o;o++)n[o]=Fi(e,o,i,"month");return n}function ji(e,t,i,o){"boolean"==typeof e?("number"==typeof t&&(i=t,t=void 0),t=t||""):(t=e,i=t,e=!1,"number"==typeof t&&(i=t,t=void 0),t=t||"");var n=I(),s=e?n._week.dow:0;if(null!=i)return Fi(t,(i+s)%7,o,"day");var r,a=[];for(r=0;7>r;r++)a[r]=Fi(t,(r+s)%7,o,"day");return a}function Ni(e,t){return Ii(e,t,"months")}function zi(e,t){return Ii(e,t,"monthsShort")}function Ri(e,t,i){return ji(e,t,i,"weekdays")}function Ai(e,t,i){return ji(e,t,i,"weekdaysShort")}function Li(e,t,i){return ji(e,t,i,"weekdaysMin")}function Hi(){var e=this._data;return this._milliseconds=Ln(this._milliseconds),this._days=Ln(this._days),this._months=Ln(this._months),e.milliseconds=Ln(e.milliseconds),e.seconds=Ln(e.seconds),e.minutes=Ln(e.minutes),e.hours=Ln(e.hours),e.months=Ln(e.months),e.years=Ln(e.years),this}function Wi(e,t,i,o){var n=nt(t,i);return e._milliseconds+=o*n._milliseconds,e._days+=o*n._days,e._months+=o*n._months,e._bubble()}function Yi(e,t){return Wi(this,e,t,1)}function Ui(e,t){return Wi(this,e,t,-1)}function Vi(e){return 0>e?Math.floor(e):Math.ceil(e)}function qi(){var e,t,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||0>=s&&0>=r&&0>=a||(s+=864e5*Vi(Xi(a)+r),r=0,a=0),h.milliseconds=s%1e3,e=g(s/1e3),h.seconds=e%60,t=g(e/60),h.minutes=t%60,i=g(t/60),h.hours=i%24,r+=g(i/24),n=g(Gi(r)),a+=n,r-=Vi(Xi(n)),o=g(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function Gi(e){return 4800*e/146097}function Xi(e){return 146097*e/4800}function Ki(e){var t,i,o=this._milliseconds;if(e=z(e),"month"===e||"year"===e)return t=this._days+o/864e5,i=this._months+Gi(t),"month"===e?i:i/12;switch(t=this._days+Math.round(Xi(this._months)),e){case"week":return t/7+o/6048e5;case"day":return t+o/864e5;case"hour":return 24*t+o/36e5;case"minute":return 1440*t+o/6e4;case"second":return 86400*t+o/1e3;case"millisecond":return Math.floor(864e5*t)+o;default:throw new Error("Unknown unit "+e)}}function Zi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*b(this._months/12)}function Qi(e){return function(){return this.as(e)}}function Ji(e){return e=z(e),this[e+"s"]()}function $i(e){return function(){return this._data[e]}}function eo(){return g(this.days()/7)}function to(e,t,i,o,n){return n.relativeTime(t||1,!!i,e,o)}function io(e,t,i){var o=nt(e).abs(),n=is(o.as("s")),s=is(o.as("m")),r=is(o.as("h")),a=is(o.as("d")),h=is(o.as("M")),d=is(o.as("y")),l=n=s&&["m"]||s=r&&["h"]||r=a&&["d"]||a=h&&["M"]||h=d&&["y"]||["yy",d];return l[2]=t,l[3]=+e>0,l[4]=i,to.apply(null,l)}function oo(e,t){return void 0===os[e]?!1:void 0===t?os[e]:(os[e]=t,!0)}function no(e){var t=this.localeData(),i=io(this,!e,t);return e&&(i=t.pastFuture(+this,i)),t.postformat(i)}function so(){var e,t,i,o=ns(this._milliseconds)/1e3,n=ns(this._days),s=ns(this._months);e=g(o/60),t=g(e/60),o%=60,e%=60,i=g(s/12),s%=12;var r=i,a=s,h=n,d=t,l=e,c=o,u=this.asSeconds();return u?(0>u?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||c?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var ro,ao;ao=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),i=t.length>>>0,o=0;i>o;o++)if(o in t&&e.call(this,t[o],o,t))return!0;return!1};var ho=t.momentProperties=[],lo=!1,co={};t.suppressDeprecationWarnings=!1,t.deprecationHandler=null;var uo;uo=Object.keys?Object.keys:function(e){var t,i=[];for(t in e)r(e,t)&&i.push(t);return i};var fo,po,vo={},yo={},go=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,bo=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,mo={},_o={},wo=/\d/,ko=/\d\d/,xo=/\d{3}/,Oo=/\d{4}/,Eo=/[+-]?\d{6}/,Mo=/\d\d?/,Do=/\d\d\d\d?/,So=/\d\d\d\d\d\d?/,Co=/\d{1,3}/,To=/\d{1,4}/,Po=/[+-]?\d{1,6}/,Bo=/\d+/,Fo=/[+-]?\d+/,Io=/Z|[+-]\d\d:?\d\d/gi,jo=/Z|[+-]\d\d(?::?\d\d)?/gi,No=/[+-]?\d+(\.\d{1,3})?/,zo=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ro={},Ao={},Lo=0,Ho=1,Wo=2,Yo=3,Uo=4,Vo=5,qo=6,Go=7,Xo=8;po=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=e?""+e:"+"+e}),U(0,["YY",2],0,function(){return this.year()%100}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),N("year","y"),K("Y",Fo),K("YY",Mo,ko),K("YYYY",To,Oo),K("YYYYY",Po,Eo),K("YYYYYY",Po,Eo),$(["YYYYY","YYYYYY"],Lo),$("YYYY",function(e,i){i[Lo]=2===e.length?t.parseTwoDigitYear(e):b(e)}),$("YY",function(e,i){i[Lo]=t.parseTwoDigitYear(e)}),$("Y",function(e,t){t[Lo]=parseInt(e,10)}),t.parseTwoDigitYear=function(e){return b(e)+(b(e)>68?1900:2e3)};var an=A("FullYear",!0);t.ISO_8601=function(){};var hn=w("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var e=ze.apply(null,arguments);return this.isValid()&&e.isValid()?this>e?this:e:u()}),dn=w("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var e=ze.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:u()}),ln=function(){return Date.now?Date.now():+new Date};Ye("Z",":"),Ye("ZZ",""),K("Z",jo),K("ZZ",jo),$(["Z","ZZ"],function(e,t,i){i._useUTC=!0,i._tzm=Ue(jo,e)});var cn=/([\+\-]|\d\d)/gi;t.updateOffset=function(){};var un=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,fn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;nt.fn=He.prototype;var pn=dt(1,"add"),vn=dt(-1,"subtract");t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var yn=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Wt("gggg","weekYear"),Wt("ggggg","weekYear"),Wt("GGGG","isoWeekYear"),Wt("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),K("G",Fo),K("g",Fo),K("GG",Mo,ko),K("gg",Mo,ko),K("GGGG",To,Oo),K("gggg",To,Oo),K("GGGGG",Po,Eo),K("ggggg",Po,Eo),ee(["gggg","ggggg","GGGG","GGGGG"],function(e,t,i,o){t[o.substr(0,2)]=b(e)}),ee(["gg","GG"],function(e,i,o,n){i[n]=t.parseTwoDigitYear(e)}),U("Q",0,"Qo","quarter"),N("quarter","Q"),K("Q",wo),$("Q",function(e,t){t[Ho]=3*(b(e)-1)}),U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),K("w",Mo),K("ww",Mo,ko),K("W",Mo),K("WW",Mo,ko),ee(["w","ww","W","WW"],function(e,t,i,o){t[o.substr(0,1)]=b(e)});var gn={dow:0,doy:6};U("D",["DD",2],"Do","date"),N("date","D"),K("D",Mo),K("DD",Mo,ko),K("Do",function(e,t){return e?t._ordinalParse:t._ordinalParseLenient}),$(["D","DD"],Wo),$("Do",function(e,t){t[Wo]=b(e.match(Mo)[0],10)});var bn=A("Date",!0);U("d",0,"do","day"),U("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),U("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),U("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),K("d",Mo),K("e",Mo),K("E",Mo),K("dd",function(e,t){return t.weekdaysMinRegex(e)}),K("ddd",function(e,t){return t.weekdaysShortRegex(e)}),K("dddd",function(e,t){return t.weekdaysRegex(e)}),ee(["dd","ddd","dddd"],function(e,t,i,o){var n=i._locale.weekdaysParse(e,o,i._strict);null!=n?t.d=n:l(i).invalidWeekday=e}),ee(["d","e","E"],function(e,t,i,o){t[o]=b(e)});var mn="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),_n="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),wn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),kn=zo,xn=zo,On=zo;U("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),K("DDD",Co),K("DDDD",xo),$(["DDD","DDDD"],function(e,t,i){i._dayOfYear=b(e)}),U("H",["HH",2],0,"hour"),U("h",["hh",2],0,vi),U("k",["kk",2],0,yi),U("hmm",0,0,function(){return""+vi.apply(this)+Y(this.minutes(),2)}),U("hmmss",0,0,function(){return""+vi.apply(this)+Y(this.minutes(),2)+Y(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+Y(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+Y(this.minutes(),2)+Y(this.seconds(),2)}),gi("a",!0),gi("A",!1),N("hour","h"),K("a",bi),K("A",bi),K("H",Mo),K("h",Mo),K("HH",Mo,ko),K("hh",Mo,ko),K("hmm",Do),K("hmmss",So),K("Hmm",Do),K("Hmmss",So),$(["H","HH"],Yo),$(["a","A"],function(e,t,i){i._isPm=i._locale.isPM(e),i._meridiem=e}),$(["h","hh"],function(e,t,i){t[Yo]=b(e),l(i).bigHour=!0}),$("hmm",function(e,t,i){var o=e.length-2;t[Yo]=b(e.substr(0,o)),t[Uo]=b(e.substr(o)),l(i).bigHour=!0}),$("hmmss",function(e,t,i){var o=e.length-4,n=e.length-2;t[Yo]=b(e.substr(0,o)),t[Uo]=b(e.substr(o,2)),t[Vo]=b(e.substr(n)),l(i).bigHour=!0}),$("Hmm",function(e,t,i){var o=e.length-2;t[Yo]=b(e.substr(0,o)),t[Uo]=b(e.substr(o))}),$("Hmmss",function(e,t,i){var o=e.length-4,n=e.length-2;t[Yo]=b(e.substr(0,o)),t[Uo]=b(e.substr(o,2)),t[Vo]=b(e.substr(n))});var En=/[ap]\.?m?\.?/i,Mn=A("Hours",!0);U("m",["mm",2],0,"minute"),N("minute","m"),K("m",Mo),K("mm",Mo,ko),$(["m","mm"],Uo);var Dn=A("Minutes",!1);U("s",["ss",2],0,"second"),N("second","s"),K("s",Mo),K("ss",Mo,ko),$(["s","ss"],Vo);var Sn=A("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),K("S",Co,wo),K("SS",Co,ko),K("SSS",Co,xo);var Cn;for(Cn="SSSS";Cn.length<=9;Cn+="S")K(Cn,Bo);for(Cn="S";Cn.length<=9;Cn+="S")$(Cn,wi);var Tn=A("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var Pn=v.prototype;Pn.add=pn,Pn.calendar=ct,Pn.clone=ut,Pn.diff=mt,Pn.endOf=Pt,Pn.format=xt,Pn.from=Ot,Pn.fromNow=Et,Pn.to=Mt,Pn.toNow=Dt,Pn.get=W,Pn.invalidAt=Lt,Pn.isAfter=ft,Pn.isBefore=pt,Pn.isBetween=vt,Pn.isSame=yt,Pn.isSameOrAfter=gt,Pn.isSameOrBefore=bt,Pn.isValid=Rt,Pn.lang=yn,Pn.locale=St,Pn.localeData=Ct,Pn.max=dn,Pn.min=hn,Pn.parsingFlags=At,Pn.set=W,Pn.startOf=Tt,Pn.subtract=vn,Pn.toArray=jt,Pn.toObject=Nt,Pn.toDate=It,Pn.toISOString=kt,Pn.toJSON=zt,Pn.toString=wt,Pn.unix=Ft,Pn.valueOf=Bt,Pn.creationData=Ht,Pn.year=an,Pn.isLeapYear=_e,Pn.weekYear=Yt,Pn.isoWeekYear=Ut,Pn.quarter=Pn.quarters=Kt,Pn.month=he,Pn.daysInMonth=de,Pn.week=Pn.weeks=$t,Pn.isoWeek=Pn.isoWeeks=ei,Pn.weeksInYear=qt,Pn.isoWeeksInYear=Vt,Pn.date=bn,Pn.day=Pn.days=ai,Pn.weekday=hi,Pn.isoWeekday=di,Pn.dayOfYear=pi,Pn.hour=Pn.hours=Mn,Pn.minute=Pn.minutes=Dn,Pn.second=Pn.seconds=Sn,Pn.millisecond=Pn.milliseconds=Tn,Pn.utcOffset=Ge,Pn.utc=Ke,Pn.local=Ze,Pn.parseZone=Qe,Pn.hasAlignedHourOffset=Je,Pn.isDST=$e,Pn.isDSTShifted=et,Pn.isLocal=tt,Pn.isUtcOffset=it,Pn.isUtc=ot,Pn.isUTC=ot,Pn.zoneAbbr=ki,Pn.zoneName=xi,Pn.dates=w("dates accessor is deprecated. Use date instead.",bn),Pn.months=w("months accessor is deprecated. Use month instead",he),Pn.years=w("years accessor is deprecated. Use year instead",an),Pn.zone=w("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Xe);var Bn=Pn,Fn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},In={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},jn="Invalid date",Nn="%d",zn=/\d{1,2}/,Rn={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"},An=D.prototype;An._calendar=Fn,An.calendar=Mi,An._longDateFormat=In,An.longDateFormat=Di,An._invalidDate=jn,An.invalidDate=Si,An._ordinal=Nn,An.ordinal=Ci,An._ordinalParse=zn,An.preparse=Ti,An.postformat=Ti,An._relativeTime=Rn,An.relativeTime=Pi,An.pastFuture=Bi,An.set=E,An.months=oe,An._months=Zo,An.monthsShort=ne,An._monthsShort=Qo,An.monthsParse=re,An._monthsRegex=$o,An.monthsRegex=ce,An._monthsShortRegex=Jo,An.monthsShortRegex=le,An.week=Zt,An._week=gn,An.firstDayOfYear=Jt,An.firstDayOfWeek=Qt,An.weekdays=ii,An._weekdays=mn,An.weekdaysMin=ni,An._weekdaysMin=wn,An.weekdaysShort=oi,An._weekdaysShort=_n,An.weekdaysParse=ri,An._weekdaysRegex=kn,An.weekdaysRegex=li,An._weekdaysShortRegex=xn,An.weekdaysShortRegex=ci,An._weekdaysMinRegex=On,An.weekdaysMinRegex=ui,An.isPM=mi,An._meridiemParse=En,An.meridiem=_i,P("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,i=1===b(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+i}}),t.lang=w("moment.lang is deprecated. Use moment.locale instead.",P),t.langData=w("moment.langData is deprecated. Use moment.localeData instead.",I);var Ln=Math.abs,Hn=Qi("ms"),Wn=Qi("s"),Yn=Qi("m"),Un=Qi("h"),Vn=Qi("d"),qn=Qi("w"),Gn=Qi("M"),Xn=Qi("y"),Kn=$i("milliseconds"),Zn=$i("seconds"),Qn=$i("minutes"),Jn=$i("hours"),$n=$i("days"),es=$i("months"),ts=$i("years"),is=Math.round,os={s:45,m:45,h:22,d:26,M:11},ns=Math.abs,ss=He.prototype;ss.abs=Hi,ss.add=Yi,ss.subtract=Ui,ss.as=Ki,ss.asMilliseconds=Hn,ss.asSeconds=Wn,ss.asMinutes=Yn,ss.asHours=Un,ss.asDays=Vn,ss.asWeeks=qn,ss.asMonths=Gn,ss.asYears=Xn,ss.valueOf=Zi,ss._bubble=qi,ss.get=Ji,ss.milliseconds=Kn,ss.seconds=Zn,ss.minutes=Qn,ss.hours=Jn,ss.days=$n,ss.weeks=eo,ss.months=es,ss.years=ts,ss.humanize=no,ss.toISOString=so,ss.toString=so,ss.toJSON=so,ss.locale=St,ss.localeData=Ct,ss.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",so),ss.lang=yn,U("X",0,0,"unix"),U("x",0,0,"valueOf"),K("x",Fo),K("X",No),$("X",function(e,t,i){i._d=new Date(1e3*parseFloat(e,10))}),$("x",function(e,t,i){i._d=new Date(b(e))}),t.version="2.13.0",i(ze),t.fn=Bn,t.min=Ae,t.max=Le,t.now=ln,t.utc=h,t.unix=Oi,t.months=Ni,t.isDate=n,t.locale=P,t.invalid=u,t.duration=nt,t.isMoment=y,t.weekdays=Ri,t.parseZone=Ei,t.localeData=I,t.isDuration=We,t.monthsShort=zi,t.weekdaysMin=Li,t.defineLocale=B,t.updateLocale=F,t.locales=j,t.weekdaysShort=Ai,t.normalizeUnits=z,t.relativeTimeThreshold=oo,t.prototype=Bn;var rs=t;return rs})}).call(t,i(4)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){function i(e){throw new Error("Cannot find module '"+e+"'.")}i.keys=function(){return[]},i.resolve=i,e.exports=i,i.id=5},function(e,t){(function(t){function i(e,t,i){var o=t&&i||0,n=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,function(e){16>n&&(t[o+n++]=c[e])});16>n;)t[o+n++]=0;return t}function o(e,t){var i=t||0,o=l;return o[e[i++]]+o[e[i++]]+o[e[i++]]+o[e[i++]]+"-"+o[e[i++]]+o[e[i++]]+"-"+o[e[i++]]+o[e[i++]]+"-"+o[e[i++]]+o[e[i++]]+"-"+o[e[i++]]+o[e[i++]]+o[e[i++]]+o[e[i++]]+o[e[i++]]+o[e[i++]]}function n(e,t,i){var n=t&&i||0,s=t||[];e=e||{};var r=void 0!==e.clockseq?e.clockseq:v,a=void 0!==e.msecs?e.msecs:(new Date).getTime(),h=void 0!==e.nsecs?e.nsecs:g+1,d=a-y+(h-g)/1e4;if(0>d&&void 0===e.clockseq&&(r=r+1&16383),(0>d||a>y)&&void 0===e.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");y=a,g=h,v=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var c=a/4294967296*1e4&268435455;s[n++]=c>>>8&255,s[n++]=255&c,s[n++]=c>>>24&15|16,s[n++]=c>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var u=e.node||p,f=0;6>f;f++)s[n+f]=u[f];return t?t:o(s)}function s(e,t,i){var n=t&&i||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null),e=e||{};var s=e.random||(e.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;16>a;a++)t[n+a]=s[a];return t||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof t?t:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var e,t=0;16>t;t++)0===(3&t)&&(e=4294967296*Math.random()),d[t]=e>>>((3&t)<<3)&255;return d}}for(var l=[],c={},u=0;256>u;u++)l[u]=(u+256).toString(16).substr(1),c[l[u]]=u;var f=r(),p=[1|f[0],f[1],f[2],f[3],f[4],f[5]],v=16383&(f[6]<<8|f[7]),y=0,g=0,b=s;b.v1=n,b.v4=s,b.parse=i,b.unparse=o,e.exports=b}).call(t,function(){return this}())},function(e,t){t.prepareElements=function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t].redundant=e[t].used,e[t].used=[])},t.cleanupElements=function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t].redundant){for(var i=0;i0?(o=t[e].redundant[0],t[e].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",e),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",e),t[e]={used:[],redundant:[]},i.appendChild(o)),t[e].used.push(o),o},t.getDOMElement=function(e,t,i,o){var n;return t.hasOwnProperty(e)?t[e].redundant.length>0?(n=t[e].redundant[0],t[e].redundant.shift()):(n=document.createElement(e),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(e),t[e]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),t[e].used.push(n),n},t.drawPoint=function(e,i,o,n,s,r){var a;if("circle"==o.style?(a=t.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",e),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=t.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",e-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles), +a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=t.getSVGElement("text",n,s);r.xOffset&&(e+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",e),h.setAttributeNS(null,"y",i)}return a},t.drawBar=function(e,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=t.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",e-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(e,t,i){function o(e,t){if(e&&!Array.isArray(e)&&(t=e,e=null),this._options=t||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i=Object.keys(this._options.type),o=0,n=i.length;n>o;o++){var s=i[o],r=this._options.type[s];"Date"==r||"ISODate"==r||"ASPDate"==r?this._type[s]="Date":this._type[s]=r}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},e&&this.add(e),this.setOptions(t)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},s=i(1),r=i(9);o.prototype.setOptions=function(e){e&&void 0!==e.queue&&(e.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=r.extend(this,{replace:["add","update","remove"]})),"object"===n(e.queue)&&this._queue.setOptions(e.queue)))},o.prototype.on=function(e,t){var i=this._subscribers[e];i||(i=[],this._subscribers[e]=i),i.push({callback:t})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(e,t){var i=this._subscribers[e];i&&(this._subscribers[e]=i.filter(function(e){return e.callback!=t}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(e,t,i){if("*"==e)throw new Error("Cannot trigger event *");var o=[];e in this._subscribers&&(o=o.concat(this._subscribers[e])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0,s=o.length;s>n;n++){var r=o[n];r.callback&&r.callback(e,t,i||null)}},o.prototype.add=function(e,t){var i,o=[],n=this;if(Array.isArray(e))for(var s=0,r=e.length;r>s;s++)i=n._addItem(e[s]),o.push(i);else{if(!(e instanceof Object))throw new Error("Unknown dataType");i=n._addItem(e),o.push(i)}return o.length&&this._trigger("add",{items:o},t),o},o.prototype.update=function(e,t){var i=[],o=[],n=[],r=[],a=this,h=a._fieldId,d=function(e){var t=e[h];if(a._data[t]){var d=s.extend({},a._data[t]);t=a._updateItem(e),o.push(t),r.push(e),n.push(d)}else t=a._addItem(e),i.push(t)};if(Array.isArray(e))for(var l=0,c=e.length;c>l;l++)e[l]instanceof Object?d(e[l]):console.warn("Ignoring input item, which is not an object at index "+l);else{if(!(e instanceof Object))throw new Error("Unknown dataType");d(e)}if(i.length&&this._trigger("add",{items:i},t),o.length){var u={items:o,oldData:n,data:r};this._trigger("update",u,t)}return i.concat(o)},o.prototype.get=function(e){var t,i,o,n=this,r=s.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,c,u,f,p=o&&o.type||this._options.type,v=o&&o.filter,y=[];if(void 0!=t)d=n._getItem(t,p),d&&v&&!v(d)&&(d=null);else if(void 0!=i)for(u=0,f=i.length;f>u;u++)d=n._getItem(i[u],p),v&&!v(d)||y.push(d);else for(l=Object.keys(this._data),u=0,f=l.length;f>u;u++)c=l[u],d=n._getItem(c,p),v&&!v(d)||y.push(d);if(o&&o.order&&void 0==t&&this._sort(y,o.order),o&&o.fields){var g=o.fields;if(void 0!=t)d=this._filterFields(d,g);else for(u=0,f=y.length;f>u;u++)y[u]=this._filterFields(y[u],g)}if("Object"==a){var b,m={};for(u=0,f=y.length;f>u;u++)b=y[u],m[b.id]=b;return m}return void 0!=t?d:y},o.prototype.getIds=function(e){var t,i,o,n,s,r=this._data,a=e&&e.filter,h=e&&e.order,d=e&&e.type||this._options.type,l=Object.keys(r),c=[];if(a)if(h){for(s=[],t=0,i=l.length;i>t;t++)o=l[t],n=this._getItem(o,d),a(n)&&s.push(n);for(this._sort(s,h),t=0,i=s.length;i>t;t++)c.push(s[t][this._fieldId])}else for(t=0,i=l.length;i>t;t++)o=l[t],n=this._getItem(o,d),a(n)&&c.push(n[this._fieldId]);else if(h){for(s=[],t=0,i=l.length;i>t;t++)o=l[t],s.push(r[o]);for(this._sort(s,h),t=0,i=s.length;i>t;t++)c.push(s[t][this._fieldId])}else for(t=0,i=l.length;i>t;t++)o=l[t],n=r[o],c.push(n[this._fieldId]);return c},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(e,t){var i,o,n,s,r=t&&t.filter,a=t&&t.type||this._options.type,h=this._data,d=Object.keys(h);if(t&&t.order){var l=this.get(t);for(i=0,o=l.length;o>i;i++)n=l[i],s=n[this._fieldId],e(n,s)}else for(i=0,o=d.length;o>i;i++)s=d[i],n=this._getItem(s,a),r&&!r(n)||e(n,s)},o.prototype.map=function(e,t){var i,o,n,s,r=t&&t.filter,a=t&&t.type||this._options.type,h=[],d=this._data,l=Object.keys(d);for(i=0,o=l.length;o>i;i++)n=l[i],s=this._getItem(n,a),r&&!r(s)||h.push(e(s,n));return t&&t.order&&this._sort(h,t.order),h},o.prototype._filterFields=function(e,t){if(!e)return e;var i,o,n={},s=Object.keys(e),r=s.length;if(Array.isArray(t))for(i=0;r>i;i++)o=s[i],-1!=t.indexOf(o)&&(n[o]=e[o]);else for(i=0;r>i;i++)o=s[i],t.hasOwnProperty(o)&&(n[t[o]]=e[o]);return n},o.prototype._sort=function(e,t){if(s.isString(t)){var i=t;e.sort(function(e,t){var o=e[i],n=t[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof t)throw new TypeError("Order must be a function or a string");e.sort(t)}},o.prototype.remove=function(e,t){var i,o,n,s=[];if(Array.isArray(e))for(i=0,o=e.length;o>i;i++)n=this._remove(e[i]),null!=n&&s.push(n);else n=this._remove(e),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},t),s},o.prototype._remove=function(e){if(s.isNumber(e)||s.isString(e)){if(this._data[e])return delete this._data[e],this.length--,e}else if(e instanceof Object){var t=e[this._fieldId];if(void 0!==t&&this._data[t])return delete this._data[t],this.length--,t}return null},o.prototype.clear=function(e){var t=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:t},e),t},o.prototype.max=function(e){var t,i,o=this._data,n=Object.keys(o),s=null,r=null;for(t=0,i=n.length;i>t;t++){var a=n[t],h=o[a],d=h[e];null!=d&&(!s||d>r)&&(s=h,r=d)}return s},o.prototype.min=function(e){var t,i,o=this._data,n=Object.keys(o),s=null,r=null;for(t=0,i=n.length;i>t;t++){var a=n[t],h=o[a],d=h[e];null!=d&&(!s||r>d)&&(s=h,r=d)}return s},o.prototype.distinct=function(e){var t,i,o,n=this._data,r=Object.keys(n),a=[],h=this._options.type&&this._options.type[e]||null,d=0;for(t=0,o=r.length;o>t;t++){var l=r[t],c=n[l],u=c[e],f=!1;for(i=0;d>i;i++)if(a[i]==u){f=!0;break}f||void 0===u||(a[d]=u,d++)}if(h)for(t=0,o=a.length;o>t;t++)a[t]=s.convert(a[t],h);return a},o.prototype._addItem=function(e){var t=e[this._fieldId];if(void 0!=t){if(this._data[t])throw new Error("Cannot add item: item with id "+t+" already exists")}else t=s.randomUUID(),e[this._fieldId]=t;var i,o,n={},r=Object.keys(e);for(i=0,o=r.length;o>i;i++){var a=r[i],h=this._type[a];n[a]=s.convert(e[a],h)}return this._data[t]=n,this.length++,t},o.prototype._getItem=function(e,t){var i,o,n,r,a=this._data[e];if(!a)return null;var h={},d=Object.keys(a);if(t)for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=s.convert(o,t[i]);else for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=o;return h},o.prototype._updateItem=function(e){var t=e[this._fieldId];if(void 0==t)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(e)+")");var i=this._data[t];if(!i)throw new Error("Cannot update item: no item with id "+t+" found");for(var o=Object.keys(e),n=0,r=o.length;r>n;n++){var a=o[n],h=this._type[a];i[a]=s.convert(e[a],h)}return t},e.exports=o},function(e,t){function i(e){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(e)}i.prototype.setOptions=function(e){e&&"undefined"!=typeof e.delay&&(this.delay=e.delay),e&&"undefined"!=typeof e.max&&(this.max=e.max),this._flushIfNeeded()},i.extend=function(e,t){var o=new i(t);if(void 0!==e.flush)throw new Error("Target object already has a property flush");e.flush=function(){o.flush()};var n=[{name:"flush",original:void 0}];if(t&&t.replace)for(var s=0;sthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var e=this;this._timeout=setTimeout(function(){e.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var e=this._queue.shift();e.fn.apply(e.context||e.fn,e.args||[])}},e.exports=i},function(e,t,i){function o(e,t){this._data=null,this._ids={},this.length=0,this._options=t||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(e)}var n=i(1),s=i(8);o.prototype.setData=function(e){var t,i,o,n;if(this._data&&(this._data.off&&this._data.off("*",this.listener),t=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:t})),this._data=e,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",t=this._data.getIds({filter:this._options&&this._options.filter}),o=0,n=t.length;n>o;o++)i=t[o],this._ids[i]=!0;this.length=t.length,this._trigger("add",{items:t}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){var e,t,i,o=this._data.getIds({filter:this._options&&this._options.filter}),n=Object.keys(this._ids),s={},r=[],a=[];for(t=0,i=o.length;i>t;t++)e=o[t],s[e]=!0,this._ids[e]||(r.push(e),this._ids[e]=!0);for(t=0,i=n.length;i>t;t++)e=n[t],s[e]||(a.push(e),delete this._ids[e]);this.length+=r.length-a.length,r.length&&this._trigger("add",{items:r}),a.length&&this._trigger("remove",{items:a})},o.prototype.get=function(e){var t,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r||"Array"==r?(t=arguments[0],i=arguments[1],o=arguments[2]):(i=arguments[0],o=arguments[1]);var a=n.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(e){return s._options.filter(e)&&i.filter(e)});var h=[];return void 0!=t&&h.push(t),h.push(a),h.push(o),this._data&&this._data.get.apply(this._data,h)},o.prototype.getIds=function(e){var t;if(this._data){var i,o=this._options.filter;i=e&&e.filter?o?function(t){return o(t)&&e.filter(t)}:e.filter:o,t=this._data.getIds({filter:i,order:e&&e.order})}else t=[];return t},o.prototype.map=function(e,t){var i=[];if(this._data){var o,n=this._options.filter;o=t&&t.filter?n?function(e){return n(e)&&t.filter(e)}:t.filter:n,i=this._data.map(e,{filter:o,order:t&&t.order})}else i=[];return i},o.prototype.getDataSet=function(){for(var e=this;e instanceof o;)e=e._data;return e||null},o.prototype._onEvent=function(e,t,i){var o,n,s,r,a=t&&t.items,h=this._data,d=[],l=[],c=[],u=[];if(a&&h){switch(e){case"add":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(c.push(s),d.push(t.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],u.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],u.push(s))}this.length+=l.length-u.length,l.length&&this._trigger("add",{items:l},i),c.length&&this._trigger("update",{items:c,data:d},i),u.length&&this._trigger("remove",{items:u},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,e.exports=o},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t,i){var o=this;if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:Y,clickToUse:!1},A.extend(this.options,this.defaultOptions),this.body={container:e,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners(),this.images=new r["default"](function(){return o.body.emitter.emit("_requestRedraw")}),this.groups=new h["default"],this.canvas=new _["default"](this.body),this.selectionHandler=new M["default"](this.body,this.canvas),this.interactionHandler=new O["default"](this.body,this.canvas,this.selectionHandler),this.view=new k["default"](this.body,this.canvas),this.renderer=new b["default"](this.body,this.canvas),this.physics=new p["default"](this.body),this.layoutEngine=new S["default"](this.body),this.clustering=new y["default"](this.body),this.manipulation=new T["default"](this.body,this.canvas,this.selectionHandler),this.nodesHandler=new l["default"](this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new u["default"](this.body,this.images,this.groups),this.body.modules.kamadaKawai=new z["default"](this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(t)}var s=i(12),r=o(s),a=i(13),h=o(a),d=i(14),l=o(d),c=i(35),u=o(c),f=i(44),p=o(f),v=i(53),y=o(v),g=i(56),b=o(g),m=i(57),_=o(m),w=i(62),k=o(w),x=i(63),O=o(x),E=i(67),M=o(E),D=i(68),S=o(D),C=i(69),T=o(C),P=i(70),B=o(P),F=i(34),I=o(F),j=i(72),N=i(73),z=o(N);i(75);var R=i(76),A=i(1),L=(i(8),i(10),i(77)),H=i(78),W=i(79),Y=i(80);R(n.prototype),n.prototype.setOptions=function(e){var t=this;if(void 0!==e){var i=I["default"].validate(e,j.allOptions);i===!0&&console.log("%cErrors have been found in the supplied options object.",F.printStyle);var o=["locale","locales","clickToUse"];if(A.selectiveDeepExtend(o,this.options,e),e=this.layoutEngine.setOptions(e.layout,e),this.canvas.setOptions(e),this.groups.setOptions(e.groups),this.nodesHandler.setOptions(e.nodes),this.edgesHandler.setOptions(e.edges),this.physics.setOptions(e.physics),this.manipulation.setOptions(e.manipulation,e,this.options),this.interactionHandler.setOptions(e.interaction),this.renderer.setOptions(e.interaction),this.selectionHandler.setOptions(e.interaction),void 0!==e.groups&&this.body.emitter.emit("refreshNodes"),"configure"in e&&(this.configurator||(this.configurator=new B["default"](this,this.body.container,j.configureOptions,this.canvas.pixelRatio)),this.configurator.setOptions(e.configure)),this.configurator&&this.configurator.options.enabled===!0){var n={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};A.deepExtend(n.nodes,this.nodesHandler.options),A.deepExtend(n.edges,this.edgesHandler.options),A.deepExtend(n.layout,this.layoutEngine.options),A.deepExtend(n.interaction,this.selectionHandler.options),A.deepExtend(n.interaction,this.renderer.options),A.deepExtend(n.interaction,this.interactionHandler.options),A.deepExtend(n.manipulation,this.manipulation.options),A.deepExtend(n.physics,this.physics.options),A.deepExtend(n.global,this.canvas.options),A.deepExtend(n.global,this.options),this.configurator.setModuleOptions(n)}void 0!==e.clickToUse?e.clickToUse===!0?void 0===this.activator&&(this.activator=new W(this.canvas.frame),this.activator.on("change",function(){t.body.emitter.emit("activate")})):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},n.prototype._updateVisibleIndices=function(){var e=this.body.nodes,t=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in e)e.hasOwnProperty(i)&&e[i].options.hidden===!1&&this.body.nodeIndices.push(e[i].id);for(var o in t)t.hasOwnProperty(o)&&t[o].options.hidden===!1&&this.body.edgeIndices.push(t[o].id)},n.prototype.bindEventListeners=function(){var e=this;this.body.emitter.on("_dataChanged",function(){e._updateVisibleIndices(),e.body.emitter.emit("_requestRedraw"),e.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){e._updateValueRange(e.body.nodes),e._updateValueRange(e.body.edges),e.body.emitter.emit("startSimulation"),e.body.emitter.emit("_requestRedraw")})},n.prototype.setData=function(e){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),e&&e.dot&&(e.nodes||e.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(e&&e.options),e&&e.dot){console.log("The dot property has been depricated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var t=L.DOTToGraph(e.dot);return void this.setData(t)}if(e&&e.gephi){console.log("The gephi property has been depricated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=H.parseGephi(e.gephi);return void this.setData(i)}this.nodesHandler.setData(e&&e.nodes,!0),this.edgesHandler.setData(e&&e.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},n.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images;for(var e in this.body.nodes)delete this.body.nodes[e];for(var t in this.body.edges)delete this.body.edges[t];A.recursiveDOMDelete(this.body.container)},n.prototype._updateValueRange=function(e){var t,i=void 0,o=void 0,n=0;for(t in e)if(e.hasOwnProperty(t)){var s=e[t].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(t in e)e.hasOwnProperty(t)&&e[t].setValueRange(i,o,n)},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},n.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},n.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},n.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},n.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},n.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},n.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},n.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},n.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},n.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},n.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},n.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},n.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},n.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},n.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},n.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},n.prototype.editNodeMode=function(){return console.log("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},n.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},n.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},n.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},n.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},n.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},n.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},n.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},n.prototype.getConnectedNodes=function(e){return void 0!==this.body.nodes[e]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},n.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},n.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},n.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},n.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},n.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},n.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},n.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},n.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},n.prototype.getNodeAt=function(){var e=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==e&&void 0!==e.id?e.id:e},n.prototype.getEdgeAt=function(){var e=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==e&&void 0!==e.id?e.id:e},n.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},n.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},n.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.redraw()},n.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},n.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},n.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},n.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},n.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},n.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},n.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},n.prototype.getOptionsFromConfigurator=function(){var e={};return this.configurator&&(e=this.configurator.getOptions.apply(this.configurator)),e},e.exports=n},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;i0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,t={},t.color=this.groups[this.groupsArray[i]],this.groups[e]=t}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,t={},t.color=this.defaultGroups[o],this.groups[e]=t}return t}},{key:"add",value:function(e,t){return this.groups[e]=t,this.groupsArray.push(e),t}}]),e}();t["default"]=r},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var i=0;ie.left&&this.shape.tope.top}},{key:"isBoundingBoxOverlappingWith",value:function(e){return this.shape.boundingBox.lefte.left&&this.shape.boundingBox.tope.top}}],[{key:"parseOptions",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["color","font","fixed","shadow"];if(z.selectiveNotDeepExtend(n,e,t,i),z.mergeOptions(e,t,"shadow",i,o),void 0!==t.color&&null!==t.color){var s=z.parseColor(t.color);z.fillIfDefined(e.color,s)}else i===!0&&null===t.color&&(e.color=z.bridgeObject(o.color));void 0!==t.fixed&&null!==t.fixed&&("boolean"==typeof t.fixed?(e.fixed.x=t.fixed,e.fixed.y=t.fixed):(void 0!==t.fixed.x&&"boolean"==typeof t.fixed.x&&(e.fixed.x=t.fixed.x),void 0!==t.fixed.y&&"boolean"==typeof t.fixed.y&&(e.fixed.y=t.fixed.y))),void 0!==t.font&&null!==t.font?a["default"].parseOptions(e.font,t):i===!0&&null===t.font&&(e.font=z.bridgeObject(o.font)),void 0!==t.scaling&&z.mergeOptions(e.scaling,t.scaling,"label",i,o.scaling)}}]),e}();t["default"]=R},function(e,t,i){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=e[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},r=function(){function e(e,t){for(var i=0;i=this.nodeOptions.scaling.label.maxVisible&&(r=Number(this.nodeOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=n(d,2),c=l[0],u=l[1],f=this._setAlignment(e,i,h,s),p=n(f,2);i=p[0],h=p[1],e.font=(t&&this.nodeOptions.labelHighlightBold?"bold ":"")+r+"px "+this.fontOptions.face,e.fillStyle=c,this.isEdgeLabel||"left"!==this.fontOptions.align?e.textAlign="center":(e.textAlign=this.fontOptions.align,i-=.5*this.size.width),this.fontOptions.strokeWidth>0&&(e.lineWidth=this.fontOptions.strokeWidth,e.strokeStyle=u,e.lineJoin="round");for(var v=0;v0&&e.strokeText(this.lines[v],i,h),e.fillText(this.lines[v],i,h),h+=r}},{key:"_setAlignment",value:function(e,t,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){t=0,i=0;var n=2;"top"===this.fontOptions.align?(e.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(e.textBaseline="hanging",i+=2*n):e.textBaseline="middle"}else e.textBaseline=o;return[t,i]}},{key:"_getColor",value:function(e){var t=this.fontOptions.color||"#000000",i=this.fontOptions.strokeColor||"#ffffff";if(e<=this.nodeOptions.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.nodeOptions.scaling.label.drawThreshold-e)));t=a.overrideOpacity(t,o),i=a.overrideOpacity(i,o)}return[t,i]}},{key:"getTextSize",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(e,t),height:this.fontOptions.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?0:arguments[2],o=arguments.length<=3||void 0===arguments[3]?0:arguments[3],n=arguments.length<=4||void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(e,t)),this.size.height=this.fontOptions.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===n&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(e,t){var i=0,o=[""],n=0;if(void 0!==this.nodeOptions.label){o=String(this.nodeOptions.label).split("\n"),n=o.length,e.font=(t&&this.nodeOptions.labelHighlightBold?"bold ":"")+this.fontOptions.size+"px "+this.fontOptions.face,i=e.measureText(o[0]).width;for(var s=1;n>s;s++){var r=e.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];if("string"==typeof t.font){var o=t.font.split(" ");e.size=o[0].replace("px",""),e.face=o[1],e.color=o[2]}else"object"===s(t.font)&&a.fillIfDefined(e,t.font,i);e.size=Number(e.size)}}]),e}();t["default"]=h},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),this.updateBoundingBox(t,i,e,o),this.labelModule.draw(e,t,i,o)}},{key:"updateBoundingBox",value:function(e,t,i,o){this.resize(i,o),this.left=e-.5*this.width,this.top=t-.5*this.height;var n=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-n,this.boundingBox.top=this.top-n,this.boundingBox.bottom=this.top+this.height+n,this.boundingBox.right=this.left+this.width+n}},{key:"distanceToBorder",value:function(e,t){this.resize(e);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+i}}]),t}(d["default"]);t["default"]=l},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;ithis.imageObj.height?(o=this.imageObj.width/this.imageObj.height,t=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,t=2*this.options.size,i=2*this.options.size*o):(t=this.imageObj.width,i=this.imageObj.height),this.width=t,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(e,t,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;e.lineWidth=Math.min(this.width,h),e.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,e.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,e.circle(t,i,s),this.enableShadow(e),e.fill(),this.disableShadow(e),e.save(),h>0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore()}},{key:"_drawImageAtPosition",value:function(e){if(0!=this.imageObj.width){e.globalAlpha=1,this.enableShadow(e);var t=this.imageObj.width/this.width/this.body.view.scale;if(t>2&&this.options.shapeProperties.interpolation===!0){var i=this.imageObj.width,o=this.imageObj.height,n=document.createElement("canvas");n.width=i,n.height=i;var s=n.getContext("2d");t*=.5,i*=.5,o*=.5,s.drawImage(this.imageObj,0,0,i,o);for(var r=0,a=1;t>2&&4>a;)s.drawImage(n,r,0,i,o,r+i,0,i/2,o/2),r+=i,t*=.5,i*=.5,o*=.5,a+=1;e.drawImage(n,r,0,i,o,this.left,this.top,this.width,this.height)}else e.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(e)}}},{key:"_drawImageLabel",value:function(e,t,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(e);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(e,t,n,o,"hanging")}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),this.updateBoundingBox(t,i,e,o),this.labelModule.draw(e,t,i,o)}},{key:"updateBoundingBox",value:function(e,t,i,o){this.resize(i,o),this.left=e-.5*this.width,this.top=t-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height, +this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(e,t){return this._distanceToBorder(e,t)}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),void 0!==this.options.label){var l=n+.5*this.height+3;this.labelModule.draw(e,o,l,s,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),this.updateBoundingBox(t,i,e,o),this.labelModule.draw(e,t,i,o)}},{key:"updateBoundingBox",value:function(e,t,i,o){this.resize(i,o),this.left=e-.5*this.width,this.top=t-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(e,t){this.resize(e);var i=.5*this.width,o=.5*this.height,n=Math.sin(t)*i,s=Math.cos(t)*o;return i*o/Math.sqrt(n*n+s*s)}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(e,t,i,o){var n=Number(this.options.icon.size);void 0!==this.options.icon.code?(e.font=(o?"bold ":"")+n+"px "+this.options.icon.face,e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",this.enableShadow(e),e.fillText(this.options.icon.code,t,i),this.disableShadow(e)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(e,t){return this._distanceToBorder(e,t)}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i0&&(this.enableBorderDashes(e),e.stroke(),this.disableBorderDashes(e)),e.restore(),e.closePath()}this._drawImageAtPosition(e),this._drawImageLabel(e,t,i,o||n),this.updateBoundingBox(t,i)}},{key:"updateBoundingBox",value:function(e,t){this.resize(),this.left=e-this.width/2,this.top=t-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(e,t){return this._distanceToBorder(e,t)}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+t+'" in '+e.printLocation(n.path,t,"")+"Perhaps it was misplaced? Matching option found at: "+e.printLocation(s.path,s.closestMatch,""),d):n.distance<=r?console.log('%cUnknown option detected: "'+t+'". Did you mean "'+n.closestMatch+'"?'+e.printLocation(n.path,t),d):console.log('%cUnknown option detected: "'+t+'". Did you mean one of these: '+e.print(Object.keys(i))+e.printLocation(o,t),d),a=!0}},{key:"findInOptions",value:function(t,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],s=1e9,a="",h=[],d=t.toLowerCase(),l=void 0;for(var c in i){var u=void 0;if(void 0!==i[c].__type__&&n===!0){var f=e.findInOptions(t,i[c],r.copyAndExtendArray(o,c));s>f.distance&&(a=f.closestMatch,h=f.path,s=f.distance,l=f.indexMatch)}else-1!==c.toLowerCase().indexOf(d)&&(l=c),u=e.levenshteinDistance(t,c),s>u&&(a=c,h=r.copyArray(o),s=u)}return{closestMatch:a,path:h,distance:s,indexMatch:l}}},{key:"printLocation",value:function(e,t){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=e[n]+": {\n"}for(var r=0;ri.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(e,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(e){if(this.connected){var t=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=e.left,a=e.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return t>h}return!1}},{key:"_rotateForLabelAlignment",value:function(e){var t=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(t,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),e.rotate(o)}},{key:"_pointOnCircle",value:function(e,t,i,o){var n=2*o*Math.PI;return{x:e+i*Math.cos(n),y:t-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(g.selectiveDeepExtend(n,e,t,i),g.mergeOptions(e,t,"smooth",i,o),g.mergeOptions(e,t,"shadow",i,o),void 0!==t.dashes&&null!==t.dashes?e.dashes=t.dashes:i===!0&&null===t.dashes&&(e.dashes=Object.create(o.dashes)),void 0!==t.scaling&&null!==t.scaling?(void 0!==t.scaling.min&&(e.scaling.min=t.scaling.min),void 0!==t.scaling.max&&(e.scaling.max=t.scaling.max),g.mergeOptions(e.scaling,t.scaling,"label",i,o.scaling)):i===!0&&null===t.scaling&&(e.scaling=Object.create(o.scaling)),void 0!==t.arrows&&null!==t.arrows)if("string"==typeof t.arrows){var r=t.arrows.toLowerCase();e.arrows.to.enabled=-1!=r.indexOf("to"),e.arrows.middle.enabled=-1!=r.indexOf("middle"),e.arrows.from.enabled=-1!=r.indexOf("from")}else{if("object"!==s(t.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(t.arrows));g.mergeOptions(e.arrows,t.arrows,"to",i,o.arrows),g.mergeOptions(e.arrows,t.arrows,"middle",i,o.arrows),g.mergeOptions(e.arrows,t.arrows,"from",i,o.arrows)}else i===!0&&null===t.arrows&&(e.arrows=Object.create(o.arrows));if(void 0!==t.color&&null!==t.color)if(e.color=g.deepExtend({},e.color,!0),g.isString(t.color))e.color.color=t.color,e.color.highlight=t.color,e.color.hover=t.color,e.color.inherit=!1;else{var a=!1;void 0!==t.color.color&&(e.color.color=t.color.color,a=!0),void 0!==t.color.highlight&&(e.color.highlight=t.color.highlight,a=!0),void 0!==t.color.hover&&(e.color.hover=t.color.hover,a=!0),void 0!==t.color.inherit&&(e.color.inherit=t.color.inherit),void 0!==t.color.opacity&&(e.color.opacity=Math.min(1,Math.max(0,t.color.opacity))),void 0===t.color.inherit&&a===!0&&(e.color.inherit=!1)}else i===!0&&null===t.color&&(e.color=g.bridgeObject(o.color));void 0!==t.font&&null!==t.font?h["default"].parseOptions(e.font,t):i===!0&&null===t.font&&(e.font=g.bridgeObject(o.font))}}]),e}();t["default"]=b},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=e[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function(){function e(e,t){for(var i=0;iMath.abs(t)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*e,n=this.to.x+r*e):(o=this.from.y-r*t,s=this.to.y+r*t,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(e,t){return this._findBorderPositionBezier(e,t)}},{key:"_getDistanceToEdge",value:function(e,t,i,o,n,s){var r=arguments.length<=6||void 0===arguments[6]?this._getViaCoordinates():arguments[6],h=a(r,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(e,t,i,o,n,s,d,l)}},{key:"getPoint",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?this._getViaCoordinates():arguments[1],i=a(t,2),o=i[0],n=i[1],s=e,r=[];r[0]=Math.pow(1-s,3),r[1]=3*s*Math.pow(1-s,2),r[2]=3*Math.pow(s,2)*(1-s),r[3]=Math.pow(s,3);var h=r[0]*this.fromPoint.x+r[1]*o.x+r[2]*n.x+r[3]*this.toPoint.x,d=r[0]*this.fromPoint.y+r[1]*o.y+r[2]*n.y+r[3]*this.toPoint.y;return{x:h,y:d}}}]),t}(l["default"]);t["default"]=c},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;il;l++)c=.1*l,y[0]=Math.pow(1-c,3),y[1]=3*c*Math.pow(1-c,2),y[2]=3*Math.pow(c,2)*(1-c),y[3]=Math.pow(c,3),u=y[0]*e+y[1]*r.x+y[2]*a.x+y[3]*i,f=y[0]*t+y[1]*r.y+y[2]*a.y+y[3]*o,l>0&&(d=this._getDistanceToLine(p,v,u,f,n,s),h=h>d?d:h),p=u,v=f;return h}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i=l&&h>d;){var v=.5*(l+c);if(i=this.getPoint(v,a),o=Math.atan2(f.y-i.y,f.x-i.x),n=f.distanceToBorder(t,o),s=Math.sqrt(Math.pow(i.x-f.x,2)+Math.pow(i.y-f.y,2)),r=n-s,Math.abs(r)r?p===!1?l=v:c=v:p===!1?c=v:l=v,d++}return i.t=v,i}},{key:"_getDistanceToBezierEdge",value:function(e,t,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,c=void 0,u=void 0,f=e,p=t;for(d=1;10>d;d++)l=.1*d,c=Math.pow(1-l,2)*e+2*l*(1-l)*r.x+Math.pow(l,2)*i,u=Math.pow(1-l,2)*t+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(f,p,c,u,n,s),a=a>h?h:a),f=c,p=u;return a}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=e[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function e(e,t){for(var i=0;io.shape.height?(t=o.x+.5*o.shape.width,i=o.y-n):(t=o.x+n,i=o.y-.5*o.shape.height),[t,i,n]}},{key:"_pointOnCircle",value:function(e,t,i,o){var n=2*o*Math.PI;return{x:e+i*Math.cos(n),y:t-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(e,t,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,c=void 0,u=void 0,f=void 0,p=void 0,v=void 0,y=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),c=this._pointOnCircle(o,n,l,g),u=Math.atan2(e.y-c.y,e.x-c.x),f=e.distanceToBorder(t,u),p=Math.sqrt(Math.pow(c.x-e.x,2)+Math.pow(c.y-e.y,2)),v=f-p,!(Math.abs(v)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return c.t=g,c}},{key:"getLineWidth",value:function(e,t){return e===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):t===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(e,t,i){var o=this.options.color;if(o.inherit!==!1){if("both"===o.inherit&&this.from.id!==this.to.id){var n=e.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,a=void 0;return s=this.from.options.color.highlight.border,a=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),a=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?a=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,a),n}this.colorDirty===!0&&("to"===o.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,o.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,o.opacity)))}else this.colorDirty===!0&&(this.color.highlight=o.highlight,this.color.hover=o.hover,this.color.color=r.overrideOpacity(o.color,o.opacity));return this.colorDirty=!1,t===!0?this.color.highlight:i===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(e,t,i,o){this.enableShadow(e),e.beginPath(),e.arc(t,i,o,0,2*Math.PI,!1),e.stroke(),this.disableShadow(e)}},{key:"getDistanceToEdge",value:function(e,t,i,o,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(e,t,i,o,s,r,a);else{var d=this._getCircleData(),l=n(d,3),c=l[0],u=l[1],f=l[2],p=c-s,v=u-r;h=Math.abs(Math.sqrt(p*p+v*v)-f)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(e,t,i,o,n,s){var r=i-e,a=o-t,h=r*r+a*a,d=((n-e)*r+(s-t)*a)/h;d>1?d=1:0>d&&(d=0);var l=e+d*r,c=t+d*a,u=l-n,f=c-s;return Math.sqrt(u*u+f*f)}},{key:"getArrowData",value:function(e,t,i,o,s){var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,c=void 0,u=this.getLineWidth(o,s);if("from"===t?(h=this.from,d=this.to,l=.1,c=this.options.arrows.from.scaleFactor):"to"===t?(h=this.to,d=this.from,l=-.1,c=this.options.arrows.to.scaleFactor):(h=this.to,d=this.from,c=this.options.arrows.middle.scaleFactor),h!=d)if("middle"!==t)if(this.options.smooth.enabled===!0){a=this.findBorderPosition(h,e,{via:i});var f=this.getPoint(Math.max(0,Math.min(1,a.t+l)),i);r=Math.atan2(a.y-f.y,a.x-f.x)}else r=Math.atan2(h.y-d.y,h.x-d.x),a=this.findBorderPosition(h,e);else r=Math.atan2(h.y-d.y,h.x-d.x),a=this.getPoint(.5,i);else{var p=this._getCircleData(e),v=n(p,3),y=v[0],g=v[1],b=v[2];"from"===t?(a=this.findBorderPosition(this.from,e,{x:y,y:g,low:.25,high:.6,direction:-1}),r=-2*a.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===t?(a=this.findBorderPosition(this.from,e,{x:y,y:g,low:.6,high:1,direction:1}),r=-2*a.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(a=this._pointOnCircle(y,g,b,.175),r=3.9269908169872414)}var m=15*c+3*u,_=a.x-.9*m*Math.cos(r),w=a.y-.9*m*Math.sin(r),k={x:_,y:w};return{point:a,core:k,angle:r,length:m}}},{key:"drawArrowHead",value:function(e,t,i,o){e.strokeStyle=this.getColor(e,t,i),e.fillStyle=e.strokeStyle,e.lineWidth=this.getLineWidth(t,i),e.arrow(o.point.x,o.point.y,o.angle,o.length),this.enableShadow(e),e.fill(),this.disableShadow(e)}},{key:"enableShadow",value:function(e){this.options.shadow.enabled===!0&&(e.shadowColor=this.options.shadow.color,e.shadowBlur=this.options.shadow.size,e.shadowOffsetX=this.options.shadow.x,e.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(e){this.options.shadow.enabled===!0&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}}]),e}();t["default"]=a},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i=this.to.y?this.from.x<=this.to.x?(e=this.from.x+i*s,t=this.from.y-i*s):this.from.x>this.to.x&&(e=this.from.x-i*s,t=this.from.y-i*s):this.from.ythis.to.x&&(e=this.from.x-i*s,t=this.from.y+i*s)),"discrete"===o&&(e=i*s>n?this.from.x:e)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(e=this.from.x+i*n,t=this.from.y-i*n):this.from.x>this.to.x&&(e=this.from.x-i*n,t=this.from.y-i*n):this.from.ythis.to.x&&(e=this.from.x-i*n,t=this.from.y+i*n)),"discrete"===o&&(t=i*n>s?this.from.y:t));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(e=this.from.x,t=this.from.yMath.abs(this.from.y-this.to.y)&&(e=this.from.x=this.to.y?this.from.x<=this.to.x?(e=this.from.x+i*s,t=this.from.y-i*s,e=this.to.xthis.to.x&&(e=this.from.x-i*s,t=this.from.y-i*s,e=this.to.x>e?this.to.x:e):this.from.ythis.to.x&&(e=this.from.x-i*s,t=this.from.y+i*s,e=this.to.x>e?this.to.x:e)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(e=this.from.x+i*n,t=this.from.y-i*n,t=this.to.y>t?this.to.y:t):this.from.x>this.to.x&&(e=this.from.x-i*n,t=this.from.y-i*n,t=this.to.y>t?this.to.y:t):this.from.ythis.to.x&&(e=this.from.x-i*n,t=this.from.y+i*n,t=this.to.y1||this.startedStabilization===!0)&&setTimeout(function(){e.body.emitter.emit("stabilized",{iterations:t}),e.startedStabilization=!1,e.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var e=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=e*this.timestep:this.timestep/es))return!1;return!0}},{key:"moveNodes",value:function(){for(var e=this.physicsBody.physicsNodeIndices,t=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;st?s[e].x>0?t:-t:s[e].x,i.x+=s[e].x*o}else n[e].x=0,s[e].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[e].y,d=(n[e].y-h)/i.options.mass;s[e].y+=d*o,s[e].y=Math.abs(s[e].y)>t?s[e].y>0?t:-t:s[e].y,i.y+=s[e].y*o}else n[e].y=0,s[e].y=0;var l=Math.sqrt(Math.pow(s[e].x,2)+Math.pow(s[e].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var e=this.body.nodes;for(var t in e)e.hasOwnProperty(t)&&e[t].x&&e[t].y&&(this.freezeCache[t]={x:e[t].options.fixed.x,y:e[t].options.fixed.y},e[t].options.fixed.x=!0,e[t].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var e=this.body.nodes;for(var t in e)e.hasOwnProperty(t)&&void 0!==this.freezeCache[t]&&(e[t].options.fixed.x=this.freezeCache[t].x,e[t].options.fixed.y=this.freezeCache[t].y);this.freezeCache={}}},{key:"stabilize",value:function(){var e=this,t=arguments.length<=0||void 0===arguments[0]?this.options.stabilization.iterations:arguments[0];return"number"!=typeof t&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),t=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=t,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return e._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var e=0;this.stabilized===!1&&e0){var e=void 0,t=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(t,i);this.barnesHutTree=n;for(var s=0;o>s;s++)e=t[i[s]],e.options.mass>0&&(this._getForceContribution(n.root.children.NW,e),this._getForceContribution(n.root.children.NE,e),this._getForceContribution(n.root.children.SW,e),this._getForceContribution(n.root.children.SE,e))}}},{key:"_getForceContribution",value:function(e,t){if(e.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=e.centerOfMass.x-t.x,o=e.centerOfMass.y-t.y,n=Math.sqrt(i*i+o*o),n*e.calcSize>this.thetaInversed?this._calculateForces(n,i,o,t,e):4===e.childrenCount?(this._getForceContribution(e.children.NW,t),this._getForceContribution(e.children.NE,t),this._getForceContribution(e.children.SW,t),this._getForceContribution(e.children.SE,t)):e.children.data.id!=t.id&&this._calculateForces(n,i,o,t,e)}}},{key:"_calculateForces",value:function(e,t,i,o,n){0===e&&(e=.1,t=e),this.overlapAvoidanceFactor<1&&(e=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,e-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(e,3),r=t*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(e,t){for(var i=void 0,o=t.length,n=e[t[0]].x,s=e[t[0]].y,r=e[t[0]].x,a=e[t[0]].y,h=1;o>h;h++){var d=e[t[h]].x,l=e[t[h]].y;e[t[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var c=Math.abs(r-n)-Math.abs(a-s);c>0?(s-=.5*c,a+=.5*c):(n+=.5*c,r-=.5*c);var u=1e-5,f=Math.max(u,Math.abs(r-n)),p=.5*f,v=.5*(n+r),y=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:y-p,maxY:y+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var b=0;o>b;b++)i=e[t[b]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(e,t){var i=e.mass+t.options.mass,o=1/i;e.centerOfMass.x=e.centerOfMass.x*e.mass+t.x*t.options.mass,e.centerOfMass.x*=o,e.centerOfMass.y=e.centerOfMass.y*e.mass+t.y*t.options.mass,e.centerOfMass.y*=o,e.mass=i;var n=Math.max(Math.max(t.height,t.radius),t.width);e.maxWidth=e.maxWidtht.x?e.children.NW.range.maxY>t.y?this._placeInRegion(e,t,"NW"):this._placeInRegion(e,t,"SW"):e.children.NW.range.maxY>t.y?this._placeInRegion(e,t,"NE"):this._placeInRegion(e,t,"SE")}},{key:"_placeInRegion",value:function(e,t,i){switch(e.children[i].childrenCount){case 0:e.children[i].children.data=t,e.children[i].childrenCount=1,this._updateBranchMass(e.children[i],t);break;case 1:e.children[i].children.data.x===t.x&&e.children[i].children.data.y===t.y?(t.x+=this.seededRandom(),t.y+=this.seededRandom()):(this._splitBranch(e.children[i]),this._placeInTree(e.children[i],t));break;case 4:this._placeInTree(e.children[i],t)}}},{key:"_splitBranch",value:function(e){var t=null;1===e.childrenCount&&(t=e.children.data,e.mass=0,e.centerOfMass.x=0,e.centerOfMass.y=0),e.childrenCount=4,e.children.data=null,this._insertRegion(e,"NW"),this._insertRegion(e,"NE"),this._insertRegion(e,"SW"),this._insertRegion(e,"SE"),null!=t&&this._placeInTree(e,t)}},{key:"_insertRegion",value:function(e,t){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*e.size;switch(t){case"NW":i=e.range.minX,o=e.range.minX+r,n=e.range.minY,s=e.range.minY+r;break;case"NE":i=e.range.minX+r,o=e.range.maxX,n=e.range.minY,s=e.range.minY+r;break;case"SW":i=e.range.minX,o=e.range.minX+r,n=e.range.minY+r,s=e.range.maxY;break;case"SE":i=e.range.minX+r,o=e.range.maxX,n=e.range.minY+r,s=e.range.maxY}e.children[t]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*e.size,calcSize:2*e.calcSize,children:{data:null},maxWidth:0,level:e.level+1,childrenCount:0}}},{key:"_debug",value:function(e,t){void 0!==this.barnesHutTree&&(e.lineWidth=1,this._drawBranch(this.barnesHutTree.root,e,t))}},{key:"_drawBranch",value:function(e,t,i){void 0===i&&(i="#FF0000"),4===e.childrenCount&&(this._drawBranch(e.children.NW,t),this._drawBranch(e.children.NE,t),this._drawBranch(e.children.SE,t),this._drawBranch(e.children.SW,t)),t.strokeStyle=i,t.beginPath(),t.moveTo(e.range.minX,e.range.minY),t.lineTo(e.range.maxX,e.range.minY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.minY),t.lineTo(e.range.maxX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.maxY),t.lineTo(e.range.minX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.minX,e.range.maxY),t.lineTo(e.range.minX,e.range.minY),t.stroke()}}]),e}();t["default"]=n},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;ii&&(s=.5*c>i?1:u*i+f,s/=i,o=e*s,n=t*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),e}();t["default"]=n},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;ii?-Math.pow(p*i,2)+Math.pow(p*f,2):0,0===i?i=.01:s/=i,o=e*s,n=t*s,u[r.id].x-=o,u[r.id].y-=n,u[a.id].x+=o,u[a.id].y+=n}}}]),e}();t["default"]=n},function(e,t){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;i0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=t*r,o[n.id].y=i*r}}}]),t}(d["default"]);t["default"]=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},r=function(){function e(e,t){for(var i=0;i=e&&i.push(n.id)}for(var r=0;r0&&Object.keys(f).length>0&&v===!0&&o.push({nodes:u,edges:f})}}}for(var m=0;mo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!0:arguments[2];if(void 0===e)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[e])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[e].containedNodes)return void console.log("The node:"+e+" is not a cluster.");var o=this.body.nodes[e],n=o.containedNodes,s=o.containedEdges;if(void 0!==t&&void 0!==t.releaseFunction&&"function"==typeof t.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];r[d]={x:l.x,y:l.y}}var u=t.releaseFunction(a,r);for(var f in n)if(n.hasOwnProperty(f)){var p=this.body.nodes[f];void 0!==u[f]&&(p.x=void 0===u[f].x?o.x:u[f].x,p.y=void 0===u[f].y?o.y:u[f].y)}}else for(var v in n)if(n.hasOwnProperty(v)){var y=this.body.nodes[v];y=n[v],y.options.fixed.x===!1&&(y.x=o.x),y.options.fixed.y===!1&&(y.y=o.y)}for(var g in n)if(n.hasOwnProperty(g)){var b=this.body.nodes[g];b.vx=o.vx,b.vy=o.vy,b.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[g]}for(var m=[],_=0;_o;)t.push(this.body.nodes[e].id),e=this.clusteredNodes[e].clusterId,o++;return t.push(this.body.nodes[e].id),t.reverse(),t}},{key:"_getConnectedId",value:function(e,t){return e.toId!=t?e.toId:e.fromId!=t?e.fromId:e.fromId}},{key:"_getHubSize",value:function(){for(var e=0,t=0,i=0,o=0,n=0;no&&(o=s.edges.length),e+=s.edges.length,t+=Math.pow(s.edges.length,2),i+=1}e/=i,t/=i;var r=t-Math.pow(e,2),a=Math.sqrt(r),h=Math.floor(e+2*a);return h>o&&(h=o),h}}]),e}();t["default"]=u},function(e,t,i){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var i=0;i0)for(var a=0;at.shape.boundingBox.left&&(s=t.shape.boundingBox.left),rt.shape.boundingBox.top&&(o=t.shape.boundingBox.top),n0)for(var a=0;at.x&&(s=t.x),rt.y&&(o=t.y),n0,e.renderTimer=void 0}),this.body.emitter.on("destroy",function(){e.renderRequests=0,e.allowRedraw=!1,e.renderingActive=!1,e.requiresTimeout===!0?clearTimeout(e.renderTimer):cancelAnimationFrame(e.renderTimer),e.body.emitter.off()})}},{key:"setOptions",value:function(e){if(void 0!==e){var t=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(t,this.options,e)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var e=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){e._redraw(!1)},0):window.requestAnimationFrame(function(){e._redraw(!1)}))}},{key:"_redraw",value:function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var t=this.canvas.frame.canvas.getContext("2d");0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(t.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale),t.beginPath(),this.body.emitter.emit("beforeDrawing",t),t.closePath(),e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(t),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(t,e),t.beginPath(),this.body.emitter.emit("afterDrawing",t),t.closePath(),t.restore(),e===!0&&t.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var e=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale);var t=this.body.nodes,i=void 0;for(var o in t)t.hasOwnProperty(o)&&(i=t[o],i.resize(e),i.updateBoundingBox(e,i.selected));e.restore()}},{key:"_drawNodes",value:function(e){for(var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0){var e=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,t=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=e&&1!=t?i=.5*this.cameraState.scale*(e+t):1!=e?i=this.cameraState.scale*e:1!=t&&(i=this.cameraState.scale*t),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(e){if("number"==typeof e)return e+"px";if("string"==typeof e){if(-1!==e.indexOf("%")||-1!==e.indexOf("px"))return e;if(-1===e.indexOf("%"))return e+"px"}throw new Error("Could not use the value supplied for width or height:"+e)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",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 e=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var e=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new s(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:s.DIRECTION_ALL}),r.onTouch(this.hammer,function(t){e.body.eventListeners.onTouch(t)}),this.hammer.on("tap",function(t){e.body.eventListeners.onTap(t)}),this.hammer.on("doubletap",function(t){e.body.eventListeners.onDoubleTap(t)}),this.hammer.on("press",function(t){e.body.eventListeners.onHold(t)}),this.hammer.on("panstart",function(t){e.body.eventListeners.onDragStart(t)}),this.hammer.on("panmove",function(t){e.body.eventListeners.onDrag(t)}),this.hammer.on("panend",function(t){e.body.eventListeners.onDragEnd(t)}),this.hammer.on("pinch",function(t){e.body.eventListeners.onPinch(t)}),this.frame.canvas.addEventListener("mousewheel",function(t){e.body.eventListeners.onMouseWheel(t)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(t){e.body.eventListeners.onMouseWheel(t)}),this.frame.canvas.addEventListener("mousemove",function(t){e.body.eventListeners.onMouseMove(t)}),this.frame.canvas.addEventListener("contextmenu",function(t){e.body.eventListeners.onContext(t)}),this.hammerFrame=new s(this.frame),r.onRelease(this.hammerFrame,function(t){e.body.eventListeners.onRelease(t)})}},{key:"setSize",value:function(){var e=arguments.length<=0||void 0===arguments[0]?this.options.width:arguments[0],t=arguments.length<=1||void 0===arguments[1]?this.options.height:arguments[1];e=this._prepareValue(e),t=this._prepareValue(t);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),e!=this.options.width||t!=this.options.height||this.frame.style.width!=e||this.frame.style.height!=t?(this._getCameraState(r),this.frame.style.width=e,this.frame.style.height=t,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=e,this.options.height=t,i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(e){return(e-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(e){return e*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(e){return(e-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(e){return e*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(e){return{x:this._XconvertCanvasToDOM(e.x),y:this._YconvertCanvasToDOM(e.y)}}},{key:"DOMtoCanvas",value:function(e){return{x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)}}}]),e}();t["default"]=h},function(e,t,i){if("undefined"!=typeof window){var o=i(59),n=window.Hammer||i(60);e.exports=o(n,{preventDefault:"mouse"})}else e.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(e,t,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(t,n):o,!(void 0!==s&&(e.exports=s))}(function(){var e=null;return function t(i,o){function n(e){return e.match(/[^ ]+/g)}function s(t){if("hammer.input"!==t.type){if(t.srcEvent._handled||(t.srcEvent._handled={}),t.srcEvent._handled[t.type])return;t.srcEvent._handled[t.type]=!0}var i=!1;t.stopPropagation=function(){i=!0};var o=t.srcEvent.stopPropagation.bind(t.srcEvent);"function"==typeof o&&(t.srcEvent.stopPropagation=function(){o(),t.stopPropagation()}),t.firstTarget=e;for(var n=e;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[e]=o:(i.off(e,s),delete d._handlers[e]))}),d},d.emit=function(t,o){e=o.target,i.emit(t,o)},d.destroy=function(){var e=i.element.hammer,t=e.indexOf(d);-1!==t&&e.splice(t,1),e.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(e,t,i){var o;/*! Hammer.JS - v2.0.6 - 2015-12-23 * http://hammerjs.github.io/ * * Copyright (c) 2015 Jorik Tangelder; * Licensed under the license */ -!function(n,s,r,a){function h(e,t,i){return setTimeout(f(e,i),t)}function d(e,t,i){return Array.isArray(e)?(l(e,i[t],i),!0):!1}function l(e,t,i){var o;if(e)if(e.forEach)e.forEach(t,i);else if(e.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),e.apply(this,arguments)}}function u(e,t,i){var o,n=t.prototype;o=e.prototype=Object.create(n),o.constructor=e,o._super=n,i&&ce(o,i)}function f(e,t){return function(){return e.apply(t,arguments)}}function p(e,t){return typeof e==pe?e.apply(t?t[0]||a:a,t):e}function v(e,t){return e===a?t:e}function y(e,t,i){l(_(t),function(t){e.addEventListener(t,i,!1)})}function g(e,t,i){l(_(t),function(t){e.removeEventListener(t,i,!1)})}function b(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function m(e,t){return e.indexOf(t)>-1}function _(e){return e.trim().split(/\s+/g)}function w(e,t,i){if(e.indexOf&&!i)return e.indexOf(t);for(var o=0;oi[t]}):o.sort()),o}function O(e,t){for(var i,o,n=t[0].toUpperCase()+t.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=F(t):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=t.center=I(o);t.timeStamp=ge(),t.deltaTime=t.timeStamp-s.timeStamp,t.angle=R(a,h),t.distance=z(a,h),P(i,t),t.offsetDirection=N(t.deltaX,t.deltaY);var d=j(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=d.x,t.overallVelocityY=d.y,t.overallVelocity=ye(d.x)>ye(d.y)?d.x:d.y,t.scale=r?H(r.pointers,o):1,t.rotation=r?A(r.pointers,o):0,t.maxPointers=i.prevInput?t.pointers.length>i.prevInput.maxPointers?t.pointers.length:i.prevInput.maxPointers:t.pointers.length,B(i,t);var l=e.element;b(t.srcEvent.target,l)&&(l=t.srcEvent.target),t.target=l}function P(e,t){var i=t.center,o=e.offsetDelta||{},n=e.prevDelta||{},s=e.prevInput||{};t.eventType!==Te&&s.eventType!==Be||(n=e.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=e.offsetDelta={x:i.x,y:i.y}),t.deltaX=n.x+(i.x-o.x),t.deltaY=n.y+(i.y-o.y)}function B(e,t){var i,o,n,s,r=e.lastInterval||t,h=t.timeStamp-r.timeStamp;if(t.eventType!=Fe&&(h>Ce||r.velocity===a)){var d=t.deltaX-r.deltaX,l=t.deltaY-r.deltaY,c=j(h,d,l);o=c.x,n=c.y,i=ye(c.x)>ye(c.y)?c.x:c.y,s=N(d,l),e.lastInterval=t}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;t.velocity=i,t.velocityX=o,t.velocityY=n,t.direction=s}function F(e){for(var t=[],i=0;in;)i+=e[n].clientX,o+=e[n].clientY,n++;return{x:ve(i/t),y:ve(o/t)}}function j(e,t,i){return{x:t/e||0,y:i/e||0}}function N(e,t){return e===t?Ie:ye(e)>=ye(t)?0>e?je:Ne:0>t?ze:Re}function z(e,t,i){i||(i=We);var o=t[i[0]]-e[i[0]],n=t[i[1]]-e[i[1]];return Math.sqrt(o*o+n*n)}function R(e,t,i){i||(i=We);var o=t[i[0]]-e[i[0]],n=t[i[1]]-e[i[1]];return 180*Math.atan2(n,o)/Math.PI}function A(e,t){return R(t[1],t[0],Ye)+R(e[1],e[0],Ye)}function H(e,t){return z(t[0],t[1],Ye)/z(e[0],e[1],Ye)}function L(){this.evEl=Ve,this.evWin=qe,this.allow=!0,this.pressed=!1,D.apply(this,arguments)}function W(){this.evEl=Ke,this.evWin=Ze,D.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=$e,this.evWin=Je,this.started=!1,D.apply(this,arguments)}function U(e,t){var i=k(e.touches),o=k(e.changedTouches);return t&(Be|Fe)&&(i=x(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=tt,this.targetIds={},D.apply(this,arguments)}function q(e,t){var i=k(e.touches),o=this.targetIds;if(t&(Te|Pe)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(e.changedTouches),a=[],h=this.target;if(s=i.filter(function(e){return b(e.target,h)}),t===Te)for(n=0;na&&(t.push(e),a=t.length-1):n&(Be|Fe)&&(i=!0),0>a||(t[a]=e,this.callback(this.manager,n,{pointers:t,changedPointers:[e],pointerType:s,srcEvent:e}),i&&t.splice(a,1))}});var Qe={touchstart:Te,touchmove:Pe,touchend:Be,touchcancel:Fe},$e="touchstart",Je="touchstart touchmove touchend touchcancel";u(Y,D,{handler:function(e){var t=Qe[e.type];if(t===Te&&(this.started=!0),this.started){var i=U.call(this,e,t);t&(Be|Fe)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:Ee,srcEvent:e})}}});var et={touchstart:Te,touchmove:Pe,touchend:Be,touchcancel:Fe},tt="touchstart touchmove touchend touchcancel";u(V,D,{handler:function(e){var t=et[e.type],i=q.call(this,e,t);i&&this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:Ee,srcEvent:e})}}),u(G,D,{handler:function(e,t,i){var o=i.pointerType==Ee,n=i.pointerType==De;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;t&(Be|Fe)&&(this.mouse.allow=!0),this.callback(e,t,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var it=O(fe.style,"touchAction"),ot=it!==a,nt="compute",st="auto",rt="manipulation",at="none",ht="pan-x",dt="pan-y";X.prototype={set:function(e){e==nt&&(e=this.compute()),ot&&this.manager.element.style&&(this.manager.element.style[it]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return l(this.manager.recognizers,function(t){p(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))}),K(e.join(" "))},preventDefaults:function(e){if(!ot){var t=e.srcEvent,i=e.offsetDirection;if(this.manager.session.prevented)return void t.preventDefault();var o=this.actions,n=m(o,at),s=m(o,dt),r=m(o,ht);if(n){var a=1===e.pointers.length,h=e.distance<2,d=e.deltaTime<250;if(a&&h&&d)return}if(!r||!s)return n||s&&i&Ae||r&&i&He?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var lt=1,ct=2,ut=4,ft=8,pt=ft,vt=16,yt=32;Z.prototype={defaults:{},set:function(e){return ce(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(d(e,"recognizeWith",this))return this;var t=this.simultaneous;return e=J(e,this),t[e.id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return d(e,"dropRecognizeWith",this)?this:(e=J(e,this),delete this.simultaneous[e.id],this)},requireFailure:function(e){if(d(e,"requireFailure",this))return this;var t=this.requireFail;return e=J(e,this),-1===w(t,e)&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(d(e,"dropRequireFailure",this))return this;e=J(e,this);var t=w(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){function t(t){i.manager.emit(t,e)}var i=this,o=this.state;ft>o&&t(i.options.event+Q(o)),t(i.options.event),e.additionalEvent&&t(e.additionalEvent),o>=ft&&t(i.options.event+Q(o))},tryEmit:function(e){return this.canEmit()?this.emit(e):void(this.state=yt)},canEmit:function(){for(var e=0;es?je:Ne,i=s!=this.pX,o=Math.abs(e.deltaX)):(n=0===r?Ie:0>r?ze:Re,i=r!=this.pY,o=Math.abs(e.deltaY))),e.direction=n,i&&o>t.threshold&&n&t.direction},attrTest:function(e){return ee.prototype.attrTest.call(this,e)&&(this.state&ct||!(this.state&ct)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=$(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),u(ie,ee,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[at]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||this.state&ct)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),u(oe,Z,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[st]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,o=e.distancet.time;if(this._input=e,!o||!i||e.eventType&(Be|Fe)&&!n)this.reset();else if(e.eventType&Te)this.reset(),this._timer=h(function(){this.state=pt,this.tryEmit()},t.time,this);else if(e.eventType&Be)return pt;return yt},reset:function(){clearTimeout(this._timer)},emit:function(e){this.state===pt&&(e&&e.eventType&Be?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=ge(),this.manager.emit(this.options.event,this._input)))}}),u(ne,ee,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[at]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||this.state&ct)}}),u(se,ee,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Ae|He,pointers:1},getTouchAction:function(){return te.prototype.getTouchAction.call(this)},attrTest:function(e){var t,i=this.options.direction;return i&(Ae|He)?t=e.overallVelocity:i&Ae?t=e.overallVelocityX:i&He&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&i&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&ye(t)>this.options.velocity&&e.eventType&Be},emit:function(e){var t=$(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),u(re,Z,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rt]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,o=e.distance.5*this.body.nodeIndices.length)return void this.fit(e,!1);i=a["default"].getRange(this.body.nodes,e.nodes);var h=this.body.nodeIndices.length;o=12.662/(h+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=a["default"].getRange(this.body.nodes,e.nodes);var l=1.1*Math.abs(i.maxX-i.minX),c=1.1*Math.abs(i.maxY-i.minY),u=this.canvas.frame.canvas.clientWidth/l,f=this.canvas.frame.canvas.clientHeight/c;o=f>=u?u:f}o>1?o=1:0===o&&(o=1);var p=a["default"].findCenter(i),v={position:p,scale:o,animation:e.animation};this.moveTo(v)}},{key:"focus",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[e]){var i={x:this.body.nodes[e].x,y:this.body.nodes[e].y};t.position=i,t.lockedOnNode=e,this.moveTo(t)}else console.log("Node: "+e+" cannot be found.")}},{key:"moveTo",value:function(e){return void 0===e?void(e={}):(void 0===e.offset&&(e.offset={x:0,y:0}),void 0===e.offset.x&&(e.offset.x=0),void 0===e.offset.y&&(e.offset.y=0),void 0===e.scale&&(e.scale=this.body.view.scale),void 0===e.position&&(e.position=this.getViewPosition()),void 0===e.animation&&(e.animation={duration:0}),e.animation===!1&&(e.animation={duration:0}),e.animation===!0&&(e.animation={}),void 0===e.animation.duration&&(e.animation.duration=1e3),void 0===e.animation.easingFunction&&(e.animation.easingFunction="easeInOutQuad"),void this.animateView(e))}},{key:"animateView",value:function(e){if(void 0!==e){this.animationEasingFunction=e.animation.easingFunction,this.releaseNode(),e.locked===!0&&(this.lockedOnNodeId=e.lockedOnNode,this.lockedOnNodeOffset=e.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=e.scale,this.body.view.scale=this.targetScale;var t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:t.x-e.position.x,y:t.y-e.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+e.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+e.offset.y},0===e.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*e.animation.duration*.001)||1/60,this.animationEasingFunction=e.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var e={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:t.x-e.x,y:t.y-e.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=e===!0?1:this.easingTime;var t=h.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*t,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*t,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*t},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),e}();t["default"]=d},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var i=0;i50&&(this.drag.pointer=this.getPointer(e.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(e){var t=this.getPointer(e.center),i=this.selectionHandler.options.multiselect&&(e.changedPointers[0].ctrlKey||e.changedPointers[0].metaKey);this.checkSelectionChanges(t,e,i),this.selectionHandler._generateClickEvent("click",e,t)}},{key:"onDoubleTap",value:function(e){var t=this.getPointer(e.center);this.selectionHandler._generateClickEvent("doubleClick",e,t)}},{key:"onHold",value:function(e){var t=this.getPointer(e.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(t,e,i),this.selectionHandler._generateClickEvent("click",e,t),this.selectionHandler._generateClickEvent("hold",e,t)}},{key:"onRelease",value:function(e){if((new Date).valueOf()-this.touchTime>10){var t=this.getPointer(e.center);this.selectionHandler._generateClickEvent("release",e,t),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(e){var t=this.getPointer({x:e.clientX,y:e.clientY});this.selectionHandler._generateClickEvent("oncontext",e,t)}},{key:"checkSelectionChanges",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(e):this.selectionHandler.selectOnPoint(e);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),c=l.nodesChanged,u=l.edgesChanged,f=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",t,e),r=!0,f=!0):c===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",t,e,s),this.selectionHandler._generateClickEvent("selectNode",t,e),f=!0,r=!0):0>h-n&&(this.selectionHandler._generateClickEvent("deselectNode",t,e,s),r=!0),a-o>0&&f===!1?(this.selectionHandler._generateClickEvent("selectEdge",t,e),r=!0):a>0&&u===!0?(this.selectionHandler._generateClickEvent("deselectEdge",t,e,s),this.selectionHandler._generateClickEvent("selectEdge",t,e),r=!0):0>a-o&&(this.selectionHandler._generateClickEvent("deselectEdge",t,e,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",t,e)}},{key:"_determineIfDifferent",value:function(e,t){for(var i=!1,o=!1,n=0;n\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),e.apply(this,arguments)}}function u(e,t,i){var o,n=t.prototype;o=e.prototype=Object.create(n),o.constructor=e,o._super=n,i&&ce(o,i)}function f(e,t){return function(){return e.apply(t,arguments)}}function p(e,t){return typeof e==pe?e.apply(t?t[0]||a:a,t):e}function v(e,t){return e===a?t:e}function y(e,t,i){l(_(t),function(t){e.addEventListener(t,i,!1)})}function g(e,t,i){l(_(t),function(t){e.removeEventListener(t,i,!1)})}function b(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function m(e,t){return e.indexOf(t)>-1}function _(e){return e.trim().split(/\s+/g)}function w(e,t,i){if(e.indexOf&&!i)return e.indexOf(t);for(var o=0;oi[t]}):o.sort()),o}function O(e,t){for(var i,o,n=t[0].toUpperCase()+t.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=F(t):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=t.center=I(o);t.timeStamp=ge(),t.deltaTime=t.timeStamp-s.timeStamp,t.angle=R(a,h),t.distance=z(a,h),P(i,t),t.offsetDirection=N(t.deltaX,t.deltaY);var d=j(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=d.x,t.overallVelocityY=d.y,t.overallVelocity=ye(d.x)>ye(d.y)?d.x:d.y,t.scale=r?L(r.pointers,o):1,t.rotation=r?A(r.pointers,o):0,t.maxPointers=i.prevInput?t.pointers.length>i.prevInput.maxPointers?t.pointers.length:i.prevInput.maxPointers:t.pointers.length,B(i,t);var l=e.element;b(t.srcEvent.target,l)&&(l=t.srcEvent.target),t.target=l}function P(e,t){var i=t.center,o=e.offsetDelta||{},n=e.prevDelta||{},s=e.prevInput||{};t.eventType!==Te&&s.eventType!==Be||(n=e.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=e.offsetDelta={x:i.x,y:i.y}),t.deltaX=n.x+(i.x-o.x),t.deltaY=n.y+(i.y-o.y)}function B(e,t){var i,o,n,s,r=e.lastInterval||t,h=t.timeStamp-r.timeStamp;if(t.eventType!=Fe&&(h>Ce||r.velocity===a)){var d=t.deltaX-r.deltaX,l=t.deltaY-r.deltaY,c=j(h,d,l);o=c.x,n=c.y,i=ye(c.x)>ye(c.y)?c.x:c.y,s=N(d,l),e.lastInterval=t}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;t.velocity=i,t.velocityX=o,t.velocityY=n,t.direction=s}function F(e){for(var t=[],i=0;in;)i+=e[n].clientX,o+=e[n].clientY,n++;return{x:ve(i/t),y:ve(o/t)}}function j(e,t,i){return{x:t/e||0,y:i/e||0}}function N(e,t){return e===t?Ie:ye(e)>=ye(t)?0>e?je:Ne:0>t?ze:Re}function z(e,t,i){i||(i=We);var o=t[i[0]]-e[i[0]],n=t[i[1]]-e[i[1]];return Math.sqrt(o*o+n*n)}function R(e,t,i){i||(i=We);var o=t[i[0]]-e[i[0]],n=t[i[1]]-e[i[1]];return 180*Math.atan2(n,o)/Math.PI}function A(e,t){return R(t[1],t[0],Ye)+R(e[1],e[0],Ye)}function L(e,t){return z(t[0],t[1],Ye)/z(e[0],e[1],Ye)}function H(){this.evEl=Ve,this.evWin=qe,this.allow=!0,this.pressed=!1,D.apply(this,arguments)}function W(){this.evEl=Ke,this.evWin=Ze,D.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Je,this.evWin=$e,this.started=!1,D.apply(this,arguments)}function U(e,t){var i=k(e.touches),o=k(e.changedTouches);return t&(Be|Fe)&&(i=x(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=tt,this.targetIds={},D.apply(this,arguments)}function q(e,t){var i=k(e.touches),o=this.targetIds;if(t&(Te|Pe)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(e.changedTouches),a=[],h=this.target;if(s=i.filter(function(e){return b(e.target,h)}),t===Te)for(n=0;na&&(t.push(e),a=t.length-1):n&(Be|Fe)&&(i=!0),0>a||(t[a]=e,this.callback(this.manager,n,{pointers:t,changedPointers:[e],pointerType:s,srcEvent:e}),i&&t.splice(a,1))}});var Qe={touchstart:Te,touchmove:Pe,touchend:Be,touchcancel:Fe},Je="touchstart",$e="touchstart touchmove touchend touchcancel";u(Y,D,{handler:function(e){var t=Qe[e.type];if(t===Te&&(this.started=!0),this.started){var i=U.call(this,e,t);t&(Be|Fe)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:Ee,srcEvent:e})}}});var et={touchstart:Te,touchmove:Pe,touchend:Be,touchcancel:Fe},tt="touchstart touchmove touchend touchcancel";u(V,D,{handler:function(e){var t=et[e.type],i=q.call(this,e,t);i&&this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:Ee,srcEvent:e})}}),u(G,D,{handler:function(e,t,i){var o=i.pointerType==Ee,n=i.pointerType==De;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;t&(Be|Fe)&&(this.mouse.allow=!0),this.callback(e,t,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var it=O(fe.style,"touchAction"),ot=it!==a,nt="compute",st="auto",rt="manipulation",at="none",ht="pan-x",dt="pan-y";X.prototype={set:function(e){e==nt&&(e=this.compute()),ot&&this.manager.element.style&&(this.manager.element.style[it]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return l(this.manager.recognizers,function(t){p(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))}),K(e.join(" "))},preventDefaults:function(e){if(!ot){var t=e.srcEvent,i=e.offsetDirection;if(this.manager.session.prevented)return void t.preventDefault();var o=this.actions,n=m(o,at),s=m(o,dt),r=m(o,ht);if(n){var a=1===e.pointers.length,h=e.distance<2,d=e.deltaTime<250;if(a&&h&&d)return}if(!r||!s)return n||s&&i&Ae||r&&i&Le?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var lt=1,ct=2,ut=4,ft=8,pt=ft,vt=16,yt=32;Z.prototype={defaults:{},set:function(e){return ce(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(d(e,"recognizeWith",this))return this;var t=this.simultaneous;return e=$(e,this),t[e.id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return d(e,"dropRecognizeWith",this)?this:(e=$(e,this),delete this.simultaneous[e.id],this)},requireFailure:function(e){if(d(e,"requireFailure",this))return this;var t=this.requireFail;return e=$(e,this),-1===w(t,e)&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(d(e,"dropRequireFailure",this))return this;e=$(e,this);var t=w(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){function t(t){i.manager.emit(t,e)}var i=this,o=this.state;ft>o&&t(i.options.event+Q(o)),t(i.options.event),e.additionalEvent&&t(e.additionalEvent),o>=ft&&t(i.options.event+Q(o))},tryEmit:function(e){return this.canEmit()?this.emit(e):void(this.state=yt)},canEmit:function(){for(var e=0;es?je:Ne,i=s!=this.pX,o=Math.abs(e.deltaX)):(n=0===r?Ie:0>r?ze:Re,i=r!=this.pY,o=Math.abs(e.deltaY))),e.direction=n,i&&o>t.threshold&&n&t.direction},attrTest:function(e){return ee.prototype.attrTest.call(this,e)&&(this.state&ct||!(this.state&ct)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=J(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),u(ie,ee,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[at]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||this.state&ct)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),u(oe,Z,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[st]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,o=e.distancet.time;if(this._input=e,!o||!i||e.eventType&(Be|Fe)&&!n)this.reset();else if(e.eventType&Te)this.reset(),this._timer=h(function(){this.state=pt,this.tryEmit()},t.time,this);else if(e.eventType&Be)return pt;return yt},reset:function(){clearTimeout(this._timer)},emit:function(e){this.state===pt&&(e&&e.eventType&Be?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=ge(),this.manager.emit(this.options.event,this._input)))}}),u(ne,ee,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[at]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||this.state&ct)}}),u(se,ee,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Ae|Le,pointers:1},getTouchAction:function(){return te.prototype.getTouchAction.call(this)},attrTest:function(e){var t,i=this.options.direction;return i&(Ae|Le)?t=e.overallVelocity:i&Ae?t=e.overallVelocityX:i&Le&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&i&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&ye(t)>this.options.velocity&&e.eventType&Be},emit:function(e){var t=J(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),u(re,Z,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rt]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,o=e.distance.5*this.body.nodeIndices.length)return void this.fit(e,!1);i=a["default"].getRange(this.body.nodes,e.nodes);var h=this.body.nodeIndices.length;o=12.662/(h+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=a["default"].getRange(this.body.nodes,e.nodes);var l=1.1*Math.abs(i.maxX-i.minX),c=1.1*Math.abs(i.maxY-i.minY),u=this.canvas.frame.canvas.clientWidth/l,f=this.canvas.frame.canvas.clientHeight/c;o=f>=u?u:f}o>1?o=1:0===o&&(o=1);var p=a["default"].findCenter(i),v={position:p,scale:o,animation:e.animation};this.moveTo(v)}},{key:"focus",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[e]){var i={x:this.body.nodes[e].x,y:this.body.nodes[e].y};t.position=i,t.lockedOnNode=e,this.moveTo(t)}else console.log("Node: "+e+" cannot be found.")}},{key:"moveTo",value:function(e){return void 0===e?void(e={}):(void 0===e.offset&&(e.offset={x:0,y:0}),void 0===e.offset.x&&(e.offset.x=0),void 0===e.offset.y&&(e.offset.y=0),void 0===e.scale&&(e.scale=this.body.view.scale),void 0===e.position&&(e.position=this.getViewPosition()),void 0===e.animation&&(e.animation={duration:0}),e.animation===!1&&(e.animation={duration:0}),e.animation===!0&&(e.animation={}),void 0===e.animation.duration&&(e.animation.duration=1e3),void 0===e.animation.easingFunction&&(e.animation.easingFunction="easeInOutQuad"),void this.animateView(e))}},{key:"animateView",value:function(e){if(void 0!==e){this.animationEasingFunction=e.animation.easingFunction,this.releaseNode(),e.locked===!0&&(this.lockedOnNodeId=e.lockedOnNode,this.lockedOnNodeOffset=e.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=e.scale,this.body.view.scale=this.targetScale;var t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:t.x-e.position.x,y:t.y-e.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+e.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+e.offset.y},0===e.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*e.animation.duration*.001)||1/60,this.animationEasingFunction=e.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var e={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:t.x-e.x,y:t.y-e.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=e===!0?1:this.easingTime;var t=h.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*t,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*t,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*t},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),e}();t["default"]=d},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var i=0;i50&&(this.drag.pointer=this.getPointer(e.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(e){var t=this.getPointer(e.center),i=this.selectionHandler.options.multiselect&&(e.changedPointers[0].ctrlKey||e.changedPointers[0].metaKey);this.checkSelectionChanges(t,e,i),this.selectionHandler._generateClickEvent("click",e,t)}},{key:"onDoubleTap",value:function(e){var t=this.getPointer(e.center);this.selectionHandler._generateClickEvent("doubleClick",e,t)}},{key:"onHold",value:function(e){var t=this.getPointer(e.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(t,e,i),this.selectionHandler._generateClickEvent("click",e,t),this.selectionHandler._generateClickEvent("hold",e,t)}},{key:"onRelease",value:function(e){if((new Date).valueOf()-this.touchTime>10){var t=this.getPointer(e.center);this.selectionHandler._generateClickEvent("release",e,t),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(e){var t=this.getPointer({x:e.clientX,y:e.clientY});this.selectionHandler._generateClickEvent("oncontext",e,t)}},{key:"checkSelectionChanges",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(e):this.selectionHandler.selectOnPoint(e);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),c=l.nodesChanged,u=l.edgesChanged,f=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",t,e),r=!0,f=!0):c===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",t,e,s),this.selectionHandler._generateClickEvent("selectNode",t,e),f=!0,r=!0):0>h-n&&(this.selectionHandler._generateClickEvent("deselectNode",t,e,s),r=!0),a-o>0&&f===!1?(this.selectionHandler._generateClickEvent("selectEdge",t,e),r=!0):a>0&&u===!0?(this.selectionHandler._generateClickEvent("deselectEdge",t,e,s),this.selectionHandler._generateClickEvent("selectEdge",t,e),r=!0):0>a-o&&(this.selectionHandler._generateClickEvent("deselectEdge",t,e,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",t,e)}},{key:"_determineIfDifferent",value:function(e,t){for(var i=!1,o=!1,n=0;ne&&(e=1e-5),e>10&&(e=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=e/i,r=(1-s)*t.x+n.x*s,a=(1-s)*t.y+n.y*s;if(this.body.view.scale=e,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),e>i?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}}},{key:"onMouseWheel",value:function(e){if(this.options.zoomView===!0){var t=0;if(e.wheelDelta?t=e.wheelDelta/120:e.detail&&(t=-e.detail/3),0!==t){var i=this.body.view.scale,o=t/10;0>t&&(o/=1-o),i*=1+o;var n=this.getPointer({x:e.clientX,y:e.clientY});this.zoom(i,n)}e.preventDefault()}}},{key:"onMouseMove",value:function(e){var t=this,i=this.getPointer({x:e.clientX,y:e.clientY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return t._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(e){var t=this.canvas._XconvertDOMtoCanvas(e.x),i=this.canvas._YconvertDOMtoCanvas(e.y),o={left:t,top:i,right:t,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,c=[],u=0;u0&&(this.popupObj=h[c[c.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var f=this.body.edgeIndices,p=this.body.edges,v=void 0,y=[],g=0;g0&&(this.popupObj=p[y[y.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(e.x+3,e.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(e){var t=this.selectionHandler._pointerToPositionObject(e),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(t),i===!0)){var o=this.selectionHandler.getNodeAt(e);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(e)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(t));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),e}();t["default"]=c},function(e,t,i){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var e in this.boundFunctions)this.boundFunctions.hasOwnProperty(e)&&(this.body.emitter.off("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale})}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}},{key:"configureKeyboardBindings",value:function(){var e=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){e.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){e.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){e.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){e.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){e.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){e.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){e.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){e.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){e.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){e.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){e.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){e.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){e.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){e.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){e.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){e.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){e.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){e.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){e.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){e.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){e.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){e.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){e.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){e.unbindFromRedraw("_zoomOut")},"keyup")))}}]),e}();t["default"]=h},function(e,t,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(t,n):o,!(void 0!==s&&(e.exports=s))}(this,function(){function e(e){var t,i=e&&e.preventDefault||!1,o=e&&e.container||window,n={},s={keydown:{},keyup:{}},r={};for(t=97;122>=t;t++)r[String.fromCharCode(t)]={code:65+(t-97),shift:!1};for(t=65;90>=t;t++)r[String.fromCharCode(t)]={code:t,shift:!0};for(t=0;9>=t;t++)r[""+t]={code:48+t,shift:!1};for(t=1;12>=t;t++)r["F"+t]={code:111+t,shift:!1};for(t=0;9>=t;t++)r["num"+t]={code:96+t,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(e){d(e,"keydown")},h=function(e){d(e,"keyup")},d=function(e,t){if(void 0!==s[t][e.keyCode]){for(var o=s[t][e.keyCode],n=0;no&&(s=o-t-this.padding),sn&&(r=n-i-this.padding),r0?t===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(e,t){for(var i=this.body.edges,o=0;o0?t===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(e){e instanceof a["default"]?this.selectionObj.nodes[e.id]=e:this.selectionObj.edges[e.id]=e}},{key:"_addToHover",value:function(e){e instanceof a["default"]?this.hoverObj.nodes[e.id]=e:this.hoverObj.edges[e.id]=e}},{key:"_removeFromSelection",value:function(e){e instanceof a["default"]?(delete this.selectionObj.nodes[e.id],this._unselectConnectedEdges(e)):delete this.selectionObj.edges[e.id]}},{key:"unselectAll",value:function(){for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var t in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(t)&&this.selectionObj.edges[t].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var e=0;for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(e+=1);return e}},{key:"_getSelectedNode",value:function(){for(var e in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(e))return this.selectionObj.nodes[e]}},{key:"_getSelectedEdge",value:function(){for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return this.selectionObj.edges[e]}},{key:"_getSelectedEdgeCount",value:function(){var e=0;for(var t in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(t)&&(e+=1);return e}},{key:"_getSelectedObjectCount",value:function(){var e=0;for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(e+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(e+=1);return e}},{key:"_selectionIsEmpty",value:function(){for(var e in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(e))return!1;for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var e in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(e){for(var t=0;t0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(t);if(i===!0)return this.body.emitter.emit("refresh"),l.deepExtend(t,this.optionsBackup)}return t}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(e){if(this.options.hierarchical.enabled===!0){void 0===e.physics||e.physics===!0?(e.physics={enabled:void 0===this.optionsBackup.physics.enabled?!0:this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled?!0:this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===r(e.physics)?(this.optionsBackup.physics.enabled=void 0===e.physics.enabled?!0:e.physics.enabled,this.optionsBackup.physics.solver=e.physics.solver||"barnesHut",e.physics.solver="hierarchicalRepulsion"):e.physics!==!1&&(this.optionsBackup.physics.solver="barnesHut",e.physics={solver:"hierarchicalRepulsion"});var t="horizontal";"RL"!==this.options.hierarchical.direction&&"LR"!==this.options.hierarchical.direction||(t="vertical"),void 0===e.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges={smooth:!1}):void 0===e.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges.smooth=!1):"boolean"==typeof e.edges.smooth?(this.optionsBackup.edges={smooth:e.edges.smooth},e.edges.smooth={enabled:e.edges.smooth,type:t}):(void 0!==e.edges.smooth.type&&"dynamic"!==e.edges.smooth.type&&(t=e.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===e.edges.smooth.enabled?!0:e.edges.smooth.enabled,type:void 0===e.edges.smooth.type?"dynamic":e.edges.smooth.type,roundness:void 0===e.edges.smooth.roundness?.5:e.edges.smooth.roundness,forceDirection:void 0===e.edges.smooth.forceDirection?!1:e.edges.smooth.forceDirection},e.edges.smooth={enabled:void 0===e.edges.smooth.enabled?!0:e.edges.smooth.enabled,type:t,roundness:void 0===e.edges.smooth.roundness?.5:e.edges.smooth.roundness,forceDirection:void 0===e.edges.smooth.forceDirection?!1:e.edges.smooth.forceDirection}),this.body.emitter.emit("_forceDisableDynamicCurves",t)}return e}},{key:"seededRandom",value:function(){var e=1e4*Math.sin(this.randomSeed++);return e-Math.floor(e)}},{key:"positionInitially",value:function(e){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var t=0;ts){for(var r=this.body.nodeIndices.length;this.body.nodeIndices.length>s;){n+=1;var a=this.body.nodeIndices.length;n%3===0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();var h=this.body.nodeIndices.length;if(a==h&&n%3!==0||n>o)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*r)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var d=70,l=0;l0){var e=void 0,t=void 0,i=!1,o=!0,n=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&(e=this.body.nodes[t],void 0===e.options.x&&void 0===e.options.y&&(o=!1),void 0!==e.options.level?(i=!0,this.hierarchicalLevels[t]=e.options.level):n=!0);if(n===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes."); n===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback());for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&void 0===this.hierarchicalLevels[s]&&(this.hierarchicalLevels[s]=0);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var e=this,t=!1,i={},o=function(){for(var t=a(),i=0;i0)for(var n=0;n=l&&(r=Math.min(c,r),a=Math.max(c,a))}return[r,a,o,n]},l=function w(t){var i=e.hierarchicalLevels[t];if(e.hierarchicalChildrenReference[t]){var o=e.hierarchicalChildrenReference[t];if(o.length>0)for(var n=0;n1)for(var a=0;ae.options.hierarchical.nodeSpacing){var u={};u[i.id]=!0;var f={};f[o.id]=!0,h(i,u),h(o,f);var p=c(i,o),v=d(u,p),y=s(v,4),g=(y[0],y[1]),b=(y[2],y[3],d(f,p)),m=s(b,4),_=m[0],w=(m[1],m[2]),k=(m[3],Math.abs(g-_));if(k>e.options.hierarchical.nodeSpacing){var x=g-_+e.options.hierarchical.nodeSpacing;x<-w+e.options.hierarchical.nodeSpacing&&(x=-w+e.options.hierarchical.nodeSpacing),0>x&&(e._shiftBlock(o.id,x),t=!0,n===!0&&e._centerParent(o))}}},v=function(o,n){for(var r=n.id,a=n.edges,l=e.hierarchicalLevels[n.id],c=e.options.hierarchical.levelSeparation*e.options.hierarchical.levelSeparation,u={},f=[],p=0;pr;r++){var a=g(o,i),h=b(o,i),d=40,l=Math.max(-d,Math.min(d,Math.round(a/h)));if(o-=l,void 0!==s[o])break;s[o]=r}return o},_=function(o){var r=e._getPositionForHierarchy(n);if(void 0===i[n.id]){var a={};a[n.id]=!0,h(n,a),i[n.id]=a}var l=d(i[n.id]),c=s(l,4),u=(c[0],c[1],c[2]),f=c[3],p=o-r,v=0;p>0?v=Math.min(p,f-e.options.hierarchical.nodeSpacing):0>p&&(v=-Math.min(-p,u-e.options.hierarchical.nodeSpacing)),0!=v&&(e._shiftBlock(n.id,v),t=!0)},w=function(i){var o=e._getPositionForHierarchy(n),r=e._getSpaceAroundNode(n),a=s(r,2),h=a[0],d=a[1],l=i-o,c=o;l>0?c=Math.min(o+(d-e.options.hierarchical.nodeSpacing),i):0>l&&(c=Math.max(o-(h-e.options.hierarchical.nodeSpacing),i)),c!==o&&(e._setPositionForHierarchy(n,c,void 0,!0),t=!0)},k=m(o,f);_(k),k=m(o,a),w(k)},y=function(i){var o=Object.keys(e.distributionOrdering);o=o.reverse();for(var n=0;i>n;n++){t=!1;for(var s=0;sn&&(t=!1,f(p,o,!0),t===!0);n++);},b=function(){for(var t in e.body.nodes)e.body.nodes.hasOwnProperty(t)&&e._centerParent(e.body.nodes[t])},m=function(){var t=Object.keys(e.distributionOrdering);t=t.reverse();for(var i=0;i0)for(var d=0;dg&&Math.abs(g)0&&Math.abs(g)0&&(r=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(s,r,t),this._validataPositionAndContinue(s,t,r),o++}}}}},{key:"_placeBranchNodes",value:function(e,t){if(void 0!==this.hierarchicalChildrenReference[e]){for(var i=[],o=0;ot&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[e]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var h=1e9,d=-1e9,l=0;l0&&(t=this._getHubSize(),0!==t);)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===t&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var e=this,t=1e5,i=function(e,t,i){},o=function(o,n,s){var r=e.hierarchicalLevels[o.id];void 0===r&&(e.hierarchicalLevels[o.id]=t);var a=i(d["default"].cloneOptions(o,"node"),d["default"].cloneOptions(n,"node"),d["default"].cloneOptions(s,"edge"));e.hierarchicalLevels[n.id]=e.hierarchicalLevels[o.id]+a};this._crawlNetwork(o),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var e=this,t=1e4,i=function(i,o,n){var s=e.hierarchicalLevels[i.id];void 0===s&&(e.hierarchicalLevels[i.id]=t),n.toId==o.id?e.hierarchicalLevels[o.id]=e.hierarchicalLevels[i.id]+1:e.hierarchicalLevels[o.id]=e.hierarchicalLevels[i.id]-1};this._crawlNetwork(i),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var e=1e9;for(var t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&void 0!==this.hierarchicalLevels[t]&&(e=Math.min(this.hierarchicalLevels[t],e));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=e)}},{key:"_generateMap",value:function(){var e=this,t=function(t,i){if(e.hierarchicalLevels[i.id]>e.hierarchicalLevels[t.id]){var o=t.id,n=i.id;void 0===e.hierarchicalChildrenReference[o]&&(e.hierarchicalChildrenReference[o]=[]),e.hierarchicalChildrenReference[o].push(n),void 0===e.hierarchicalParentReference[n]&&(e.hierarchicalParentReference[n]=[]),e.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(t)}},{key:"_crawlNetwork",value:function(){var e=this,t=arguments.length<=0||void 0===arguments[0]?function(){}:arguments[0],i=arguments[1],o={},n=0,s=function d(i,n){if(void 0===o[i.id]){void 0===e.hierarchicalTrees[i.id]&&(e.hierarchicalTrees[i.id]=n,e.treeIndex=Math.max(n,e.treeIndex)),o[i.id]=!0;for(var s=void 0,r=0;r1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?e.sort(function(e,t){return e.x-t.x}):e.sort(function(e,t){return e.y-t.y}))}}]),e}();t["default"]=c},function(e,t,i){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var i=0;i0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===e&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var e=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var t=this.selectionHandler._getSelectedNode();if(void 0!==t){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(t.isCluster!==!0){var i=s.deepExtend({},t.options,!1);if(i.x=t.x,i.y=t.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(t){null!==t&&void 0!==t&&"editNode"===e.inMode&&e.body.data.nodes.getDataSet().update(t),e.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){var e=this;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId?!function(){var t=e.body.edges[e.edgeBeingEditedId],i=e._getNewTargetNode(t.from.x,t.from.y),o=e._getNewTargetNode(t.to.x,t.to.y);e.temporaryIds.nodes.push(i.id),e.temporaryIds.nodes.push(o.id),e.body.nodes[i.id]=i,e.body.nodeIndices.push(i.id),e.body.nodes[o.id]=o,e.body.nodeIndices.push(o.id),e._temporaryBindUI("onTouch",e._controlNodeTouch.bind(e)),e._temporaryBindUI("onTap",function(){}),e._temporaryBindUI("onHold",function(){}),e._temporaryBindUI("onDragStart",e._controlNodeDragStart.bind(e)),e._temporaryBindUI("onDrag",e._controlNodeDrag.bind(e)),e._temporaryBindUI("onDragEnd",e._controlNodeDragEnd.bind(e)),e._temporaryBindUI("onMouseMove",function(){}),e._temporaryBindEvent("beforeDrawing",function(e){var n=t.edgeType.findBorderPositions(e);i.selected===!1&&(i.x=n.from.x,i.y=n.from.y),o.selected===!1&&(o.x=n.to.x,o.y=n.to.y)}),e.body.emitter.emit("_redraw")}():this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var e=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var t=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(t.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:t,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(t){null!==t&&void 0!==t&&"delete"===e.inMode?(e.body.data.edges.getDataSet().remove(t.edges),e.body.data.nodes.getDataSet().remove(t.nodes),e.body.emitter.emit("startSimulation"),e.showManipulatorToolbar()):(e.body.emitter.emit("startSimulation"),e.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(t),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(e,t){var i=s.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=e,i.y=t;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:e,right:e,top:t,bottom:t},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var e=this.options.locales[this.options.locale],t=this._createButton("editMode","vis-button vis-edit vis-edit-mode",e.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(t),this._bindHammerToDiv(t,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var e=0;e=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(e){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(e.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var t=this.lastTouch,i=this.selectionHandler.getNodeAt(t);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(e){var t=this.body.functions.getPointer(e.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(t.x),i.y=this.canvas._YconvertDOMtoCanvas(t.y),this.body.emitter.emit("_redraw")}else{var o=t.x-this.lastTouch.x,n=t.y-this.lastTouch.y; -this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(e){var t=this.body.functions.getPointer(e.center),i=this.selectionHandler._pointerToPositionObject(t),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(e){var t=this,i={id:s.randomUUID(),x:e.pointer.canvas.x,y:e.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(e){null!==e&&void 0!==e&&"addNode"===t.inMode&&(t.body.data.nodes.getDataSet().add(e),t.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(e,t){var i=this,o={from:e,to:t};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(e){null!==e&&void 0!==e&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(e),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(e,t){var i=this,o={id:this.edgeBeingEditedId,from:e,to:t};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(e){null===e||void 0===e||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.getDataSet().update(e),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),e}();t["default"]=h},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},r=function(){function e(e,t){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var t=document.createElement("div");t.className="vis-configuration vis-config-button",t.innerHTML="generate options",t.onclick=function(){e._printOptions()},t.onmouseover=function(){t.className="vis-configuration vis-config-button hover"},t.onmouseout=function(){t.className="vis-configuration vis-config-button"},e.optionsContainer=document.createElement("div"),e.optionsContainer.className="vis-configuration vis-config-option-container",e.domElements.push(e.optionsContainer),e.domElements.push(t)}(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var e=0;e1?o-1:0),r=1;o>r;r++)n[r-1]=t[r];return n.forEach(function(e){s.appendChild(e)}),i.domElements.push(s),{v:i.domElements.length}}();if("object"===("undefined"==typeof a?"undefined":s(a)))return a.v}return 0}},{key:"_makeHeader",value:function(e){var t=document.createElement("div");t.className="vis-configuration vis-config-header",t.innerHTML=e,this._makeItem([],t)}},{key:"_makeLabel",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+t.length,i===!0?o.innerHTML=""+e+":":o.innerHTML=e+":",o}},{key:"_makeDropdown",value:function(e,t,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==t&&-1!==e.indexOf(t)&&(n=e.indexOf(t));for(var s=0;st&&n>t*c?(a.min=Math.ceil(t*c),l=a.min,d="range increased"):n>t/c&&(a.min=Math.ceil(t/c),l=a.min,d="range increased"),t*c>s&&1!==s&&(a.max=Math.ceil(t*c),l=a.max,d="range increased"),a.value=t}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var f=this;a.onchange=function(){u.value=this.value,f._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var p=this._makeLabel(i[i.length-1],i),v=this._makeItem(i,p,a,u);""!==d&&this.popupHistory[v]!==l&&(this.popupHistory[v]=l,this._setupPopup(d,v))}},{key:"_setupPopup",value:function(e,t){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCountervar options = "+JSON.stringify(e,null,2)+""}},{key:"getOptions",value:function(){for(var e={},t=0;ts;s++)for(r=0;rf?f+1:f;var p=l/this.r,v=a.RGBToHSV(this.color.r,this.color.g,this.color.b);v.h=f,v.s=p;var y=a.HSVToRGB(v.h,v.s,v.v);y.a=this.color.a,this.color=y,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),e}();t["default"]=h},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="object",a="dom",h="any",d={configure:{enabled:{"boolean":o},filter:{"boolean":o,string:i,array:s,"function":"function"},container:{dom:a},showButton:{"boolean":o},__type__:{object:r,"boolean":o,string:i,array:s,"function":"function"}},edges:{arrows:{to:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},middle:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},from:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},__type__:{string:["from","to","middle"],object:r}},arrowStrikethrough:{"boolean":o},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],"boolean":o},opacity:{number:n},__type__:{object:r,string:i}},dashes:{"boolean":o,array:s},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:r,string:i}},hidden:{"boolean":o},hoverWidth:{"function":"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},length:{number:n,undefined:"undefined"},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},selectionWidth:{"function":"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},smooth:{enabled:{"boolean":o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],"boolean":o},__type__:{object:r,"boolean":o}},title:{string:i,undefined:"undefined"},width:{number:n},value:{number:n,undefined:"undefined"},__type__:{object:r}},groups:{useDefaultGroups:{"boolean":o},__any__:"get from nodes, will be overwritten below",__type__:{object:r}},interaction:{dragNodes:{"boolean":o},dragView:{"boolean":o},hideEdgesOnDrag:{"boolean":o},hideNodesOnDrag:{"boolean":o},hover:{"boolean":o},keyboard:{enabled:{"boolean":o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:r}},bindToWindow:{"boolean":o},__type__:{object:r,"boolean":o}},multiselect:{"boolean":o},navigationButtons:{"boolean":o},selectable:{"boolean":o},selectConnectedEdges:{"boolean":o},hoverConnectedEdges:{"boolean":o},tooltipDelay:{number:n},zoomView:{"boolean":o},__type__:{object:r}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{"boolean":o},hierarchical:{enabled:{"boolean":o},levelSeparation:{number:n},nodeSpacing:{number:n},treeSpacing:{number:n},blockShifting:{"boolean":o},edgeMinimization:{"boolean":o},parentCentralization:{"boolean":o},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:r,"boolean":o}},__type__:{object:r}},manipulation:{enabled:{"boolean":o},initiallyActive:{"boolean":o},addNode:{"boolean":o,"function":"function"},addEdge:{"boolean":o,"function":"function"},editNode:{"function":"function"},editEdge:{"boolean":o,"function":"function"},deleteNode:{"boolean":o,"function":"function"},deleteEdge:{"boolean":o,"function":"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:r,"boolean":o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},__type__:{object:r,string:i}},fixed:{x:{"boolean":o},y:{"boolean":o},__type__:{object:r,"boolean":o}},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},__type__:{object:r,string:i}}, -group:{string:i,number:n,undefined:"undefined"},hidden:{"boolean":o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:r}},id:{string:i,number:n},image:{string:i,undefined:"undefined"},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},level:{number:n,undefined:"undefined"},mass:{number:n},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{"boolean":o,array:s},borderRadius:{number:n},interpolation:{"boolean":o},useImageSize:{"boolean":o},useBorderWithImage:{"boolean":o},__type__:{object:r}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},x:{number:n},y:{number:n},__type__:{object:r}},physics:{enabled:{"boolean":o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{"boolean":o},fit:{"boolean":o},__type__:{object:r,"boolean":o}},timestep:{number:n},adaptiveTimestep:{"boolean":o},__type__:{object:r,"boolean":o}},autoResize:{"boolean":o},clickToUse:{"boolean":o},locale:{string:i},locales:{__any__:{any:h},__type__:{object:r}},height:{string:i},width:{string:i},__type__:{object:r}};d.groups.__any__=d.nodes,d.manipulation.controlNodeStyle=d.nodes;var l={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};t.allOptions=d,t.configureOptions=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=e[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),r=function(){function e(e,t){for(var i=0;in&&h>a;){a+=1;var y=this._getHighestEnergyNode(i),g=s(y,4);for(c=g[0],l=g[1],u=g[2],f=g[3],p=l,v=0;p>r&&d>v;){v+=1,this._moveNode(c,u,f);var b=this._getEnergy(c),m=s(b,3);p=m[0],u=m[1],f=m[2]}}}},{key:"_getHighestEnergyNode",value:function(e){for(var t=this.body.nodeIndices,i=this.body.nodes,o=0,n=t[0],r=0,a=0,h=0;ho&&(o=u,n=d,r=f,a=p)}}return[n,o,r,a]}},{key:"_getEnergy",value:function(e){for(var t=this.body.nodeIndices,i=this.body.nodes,o=i[e].x,n=i[e].y,s=0,r=0,a=0;al;l++)for(var c=0;d-1>c;c++)for(var u=c+1;d>u;u++)o[t[c]][t[u]]=Math.min(o[t[c]][t[u]],o[t[c]][t[l]]+o[t[l]][t[u]]),o[t[u]][t[c]]=o[t[c]][t[u]];return o}}]),e}();t["default"]=n},function(e,t){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(e,t,i){this.beginPath(),this.arc(e,t,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(e,t,i){this.beginPath(),this.rect(e-i,t-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(e,t,i){this.beginPath(),i*=1.15,t+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(e,t-(r-s)),this.lineTo(e+n,t+s),this.lineTo(e-n,t+s),this.lineTo(e,t-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(e,t,i){this.beginPath(),i*=1.15,t-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(e,t+(r-s)),this.lineTo(e+n,t-s),this.lineTo(e-n,t-s),this.lineTo(e,t+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(e,t,i){this.beginPath(),i*=.82,t+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(e+n*Math.sin(2*o*Math.PI/10),t-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(e,t,i){this.beginPath(),this.lineTo(e,t+i),this.lineTo(e+i,t),this.lineTo(e,t-i),this.lineTo(e-i,t),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(e,t,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(e+n,t),this.lineTo(e+i-n,t),this.arc(e+i-n,t+n,n,270*s,360*s,!1),this.lineTo(e+i,t+o-n),this.arc(e+i-n,t+o-n,n,0,90*s,!1),this.lineTo(e+n,t+o),this.arc(e+n,t+o-n,n,90*s,180*s,!1),this.lineTo(e,t+n),this.arc(e+n,t+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse=function(e,t,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=e+i,h=t+o,d=e+i/2,l=t+o/2;this.beginPath(),this.moveTo(e,l),this.bezierCurveTo(e,l-r,d-s,t,d,t),this.bezierCurveTo(d+s,t,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,e,l+r,e,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(e,t,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=e+s,c=t+r,u=e+s/2,f=t+r/2,p=t+(o-r/2),v=t+o;this.beginPath(),this.moveTo(l,f),this.bezierCurveTo(l,f+d,u+h,c,u,c),this.bezierCurveTo(u-h,c,e,f+d,e,f),this.bezierCurveTo(e,f-d,u-h,t,u,t),this.bezierCurveTo(u+h,t,l,f-d,l,f),this.lineTo(l,p),this.bezierCurveTo(l,p+d,u+h,v,u,v),this.bezierCurveTo(u-h,v,e,p+d,e,p),this.lineTo(e,f)},CanvasRenderingContext2D.prototype.arrow=function(e,t,i,o){var n=e-o*Math.cos(i),s=t-o*Math.sin(i),r=e-.9*o*Math.cos(i),a=t-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),c=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(e,t),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(e,t,i,o,n){this.beginPath(),this.moveTo(e,t);for(var s=n.length,r=i-e,a=o-t,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0,u=0,f=n[0];d>=.1;)f=n[l++%s],f>d&&(f=d),u=Math.sqrt(f*f/(1+h*h)),u=0>r?-u:u,e+=u,t+=h*u,c===!0?this.lineTo(e,t):this.moveTo(e,t),d-=f,c=!c})},function(e,t){function i(e){return e?o(e):void 0}function o(e){for(var t in i.prototype)e[t]=i.prototype[t];return e}e.exports=i,i.prototype.on=i.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks[e]=this._callbacks[e]||[]).push(t),this},i.prototype.once=function(e,t){function i(){o.off(e,i),t.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=t,this.on(e,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[e];if(!i)return this;if(1==arguments.length)return delete this._callbacks[e],this;for(var o,n=0;no;++o)i[o].apply(this,t)}return this},i.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[e]||[]},i.prototype.hasListeners=function(e){return!!this.listeners(e).length}},function(e,t){function i(e){return P=e,f()}function o(){B=0,F=P.charAt(0)}function n(){B++,F=P.charAt(B)}function s(){return P.charAt(B+1)}function r(e){return N.test(e)}function a(e,t){if(e||(e={}),t)for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e}function h(e,t,i){for(var o=t.split("."),n=e;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function d(e,t){for(var i,o,n=null,s=[e],r=e;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(t.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:t.id},e.node&&(n.attr=a(n.attr,e.node))),i=s.length-1;i>=0;i--){var h=s[i];h.nodes||(h.nodes=[]),-1===h.nodes.indexOf(n)&&h.nodes.push(n)}t.attr&&(n.attr=a(n.attr,t.attr))}function l(e,t){if(e.edges||(e.edges=[]),e.edges.push(t),e.edge){var i=a({},e.edge);t.attr=a(i,t.attr)}}function c(e,t,i,o,n){var s={from:t,to:i,type:o};return e.edge&&(s.attr=a({},e.edge)),s.attr=a(s.attr||{},n),s}function u(){for(j=C.NULL,I="";" "===F||" "===F||"\n"===F||"\r"===F;)n();do{var e=!1;if("#"===F){for(var t=B-1;" "===P.charAt(t)||" "===P.charAt(t);)t--;if("\n"===P.charAt(t)||""===P.charAt(t)){for(;""!=F&&"\n"!=F;)n();e=!0}}if("/"===F&&"/"===s()){for(;""!=F&&"\n"!=F;)n();e=!0}if("/"===F&&"*"===s()){for(;""!=F;){if("*"===F&&"/"===s()){n(),n();break}n()}e=!0}for(;" "===F||" "===F||"\n"===F||"\r"===F;)n()}while(e);if(""===F)return void(j=C.DELIMITER);var i=F+s();if(T[i])return j=C.DELIMITER,I=i,n(),void n();if(T[F])return j=C.DELIMITER,I=F,void n();if(r(F)||"-"===F){for(I+=F,n();r(F);)I+=F,n();return"false"===I?I=!1:"true"===I?I=!0:isNaN(Number(I))||(I=Number(I)),void(j=C.IDENTIFIER)}if('"'===F){for(n();""!=F&&('"'!=F||'"'===F&&'"'===s());)I+=F,'"'===F&&n(),n();if('"'!=F)throw w('End of string " expected');return n(),void(j=C.IDENTIFIER)}for(j=C.UNKNOWN;""!=F;)I+=F,n();throw new SyntaxError('Syntax error in part "'+k(I,30)+'"')}function f(){var e={};if(o(),u(),"strict"===I&&(e.strict=!0,u()),"graph"!==I&&"digraph"!==I||(e.type=I,u()),j===C.IDENTIFIER&&(e.id=I,u()),"{"!=I)throw w("Angle bracket { expected");if(u(),p(e),"}"!=I)throw w("Angle bracket } expected");if(u(),""!==I)throw w("End of file expected");return u(),delete e.node,delete e.edge,delete e.graph,e}function p(e){for(;""!==I&&"}"!=I;)v(e),";"===I&&u()}function v(e){var t=y(e);if(t)return void m(e,t);var i=g(e);if(!i){if(j!=C.IDENTIFIER)throw w("Identifier expected");var o=I;if(u(),"="===I){if(u(),j!=C.IDENTIFIER)throw w("Identifier expected");e[o]=I,u()}else b(e,o)}}function y(e){var t=null;if("subgraph"===I&&(t={},t.type="subgraph",u(),j===C.IDENTIFIER&&(t.id=I,u())),"{"===I){if(u(),t||(t={}),t.parent=e,t.node=e.node,t.edge=e.edge,t.graph=e.graph,p(t),"}"!=I)throw w("Angle bracket } expected");u(),delete t.node,delete t.edge,delete t.graph,delete t.parent,e.subgraphs||(e.subgraphs=[]),e.subgraphs.push(t)}return t}function g(e){return"node"===I?(u(),e.node=_(),"node"):"edge"===I?(u(),e.edge=_(),"edge"):"graph"===I?(u(),e.graph=_(),"graph"):null}function b(e,t){var i={id:t},o=_();o&&(i.attr=o),d(e,i),m(e,t)}function m(e,t){for(;"->"===I||"--"===I;){var i,o=I;u();var n=y(e);if(n)i=n;else{if(j!=C.IDENTIFIER)throw w("Identifier or subgraph expected");i=I,d(e,{id:i}),u()}var s=_(),r=c(e,t,i,o,s);l(e,r),t=i}}function _(){for(var e=null;"["===I;){for(u(),e={};""!==I&&"]"!=I;){if(j!=C.IDENTIFIER)throw w("Attribute name expected");var t=I;if(u(),"="!=I)throw w("Equal sign = expected");if(u(),j!=C.IDENTIFIER)throw w("Attribute value expected");var i=I;h(e,t,i),u(),","==I&&u()}if("]"!=I)throw w("Bracket ] expected");u()}return e}function w(e){return new SyntaxError(e+', got "'+k(I,30)+'" (char '+B+")")}function k(e,t){return e.length<=t?e:e.substr(0,27)+"..."}function x(e,t,i){Array.isArray(e)?e.forEach(function(e){Array.isArray(t)?t.forEach(function(t){i(e,t)}):i(e,t)}):Array.isArray(t)?t.forEach(function(t){i(e,t)}):i(e,t)}function O(e,t,i){for(var o=t.split("."),n=o.pop(),s=e,r=0;r":!0,"--":!0},P="",B=0,F="",I="",j=C.NULL,N=/[a-zA-Z_0-9.:#]/;t.parseDOT=i,t.DOTToGraph=M},function(e,t){function i(e,t){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==t&&(void 0!==t.fixed&&(n.nodes.fixed=t.fixed),void 0!==t.parseColor&&(n.nodes.parseColor=t.parseColor),void 0!==t.inheritColor&&(n.edges.inheritColor=t.inheritColor));for(var s=e.edges,r=e.nodes,a=0;a=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(e){var t=this,i={id:s.randomUUID(),x:e.pointer.canvas.x,y:e.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(e){null!==e&&void 0!==e&&"addNode"===t.inMode&&(t.body.data.nodes.getDataSet().add(e),t.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(e,t){var i=this,o={from:e,to:t};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(e){null!==e&&void 0!==e&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(e),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(e,t){var i=this,o={id:this.edgeBeingEditedId,from:e,to:t};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(e){null===e||void 0===e||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.getDataSet().update(e),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),e}();t["default"]=h},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},r=function(){function e(e,t){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var t=document.createElement("div");t.className="vis-configuration vis-config-button",t.innerHTML="generate options",t.onclick=function(){e._printOptions()},t.onmouseover=function(){t.className="vis-configuration vis-config-button hover"},t.onmouseout=function(){t.className="vis-configuration vis-config-button"},e.optionsContainer=document.createElement("div"),e.optionsContainer.className="vis-configuration vis-config-option-container",e.domElements.push(e.optionsContainer),e.domElements.push(t)}(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var e=0;e1?o-1:0),r=1;o>r;r++)n[r-1]=t[r];return n.forEach(function(e){s.appendChild(e)}),i.domElements.push(s),{v:i.domElements.length}}();if("object"===("undefined"==typeof a?"undefined":s(a)))return a.v}return 0}},{key:"_makeHeader",value:function(e){var t=document.createElement("div");t.className="vis-configuration vis-config-header",t.innerHTML=e,this._makeItem([],t)}},{key:"_makeLabel",value:function(e,t){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+t.length,i===!0?o.innerHTML=""+e+":":o.innerHTML=e+":",o}},{key:"_makeDropdown",value:function(e,t,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==t&&-1!==e.indexOf(t)&&(n=e.indexOf(t));for(var s=0;st&&n>t*c?(a.min=Math.ceil(t*c),l=a.min,d="range increased"):n>t/c&&(a.min=Math.ceil(t/c),l=a.min,d="range increased"),t*c>s&&1!==s&&(a.max=Math.ceil(t*c),l=a.max,d="range increased"),a.value=t}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var f=this;a.onchange=function(){u.value=this.value,f._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var p=this._makeLabel(i[i.length-1],i),v=this._makeItem(i,p,a,u);""!==d&&this.popupHistory[v]!==l&&(this.popupHistory[v]=l,this._setupPopup(d,v))}},{key:"_setupPopup",value:function(e,t){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCountervar options = "+JSON.stringify(e,null,2)+""}},{key:"getOptions",value:function(){for(var e={},t=0;ts;s++)for(r=0;rf?f+1:f;var p=l/this.r,v=a.RGBToHSV(this.color.r,this.color.g,this.color.b);v.h=f,v.s=p;var y=a.HSVToRGB(v.h,v.s,v.v);y.a=this.color.a,this.color=y,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),e}();t["default"]=h},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="object",a="dom",h="any",d={configure:{enabled:{"boolean":o},filter:{"boolean":o,string:i,array:s,"function":"function"},container:{dom:a},showButton:{"boolean":o},__type__:{object:r,"boolean":o,string:i,array:s,"function":"function"}},edges:{arrows:{to:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},middle:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},from:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},__type__:{string:["from","to","middle"],object:r}},arrowStrikethrough:{"boolean":o},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],"boolean":o},opacity:{number:n},__type__:{object:r,string:i}},dashes:{"boolean":o,array:s},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:r,string:i}},hidden:{"boolean":o},hoverWidth:{"function":"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},length:{number:n,undefined:"undefined"},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},selectionWidth:{"function":"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},smooth:{enabled:{"boolean":o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],"boolean":o},__type__:{object:r,"boolean":o}},title:{string:i,undefined:"undefined"},width:{number:n},value:{number:n,undefined:"undefined"},__type__:{object:r}},groups:{useDefaultGroups:{"boolean":o},__any__:"get from nodes, will be overwritten below",__type__:{object:r}},interaction:{dragNodes:{"boolean":o},dragView:{"boolean":o},hideEdgesOnDrag:{"boolean":o},hideNodesOnDrag:{"boolean":o},hover:{"boolean":o},keyboard:{enabled:{"boolean":o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:r}},bindToWindow:{"boolean":o},__type__:{object:r,"boolean":o}},multiselect:{"boolean":o},navigationButtons:{"boolean":o},selectable:{"boolean":o},selectConnectedEdges:{"boolean":o},hoverConnectedEdges:{"boolean":o},tooltipDelay:{number:n},zoomView:{"boolean":o},__type__:{object:r}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{"boolean":o},hierarchical:{enabled:{"boolean":o},levelSeparation:{number:n},nodeSpacing:{number:n},treeSpacing:{number:n},blockShifting:{"boolean":o},edgeMinimization:{"boolean":o},parentCentralization:{"boolean":o},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:r,"boolean":o}},__type__:{object:r}},manipulation:{enabled:{"boolean":o},initiallyActive:{"boolean":o},addNode:{"boolean":o,"function":"function"},addEdge:{"boolean":o,"function":"function"},editNode:{"function":"function"},editEdge:{"boolean":o,"function":"function"},deleteNode:{"boolean":o,"function":"function"},deleteEdge:{"boolean":o,"function":"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:r,"boolean":o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},__type__:{object:r,string:i}},fixed:{x:{"boolean":o},y:{"boolean":o},__type__:{object:r,"boolean":o}},font:{align:{string:i},color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},__type__:{object:r, +string:i}},group:{string:i,number:n,undefined:"undefined"},hidden:{"boolean":o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:r}},id:{string:i,number:n},image:{string:i,undefined:"undefined"},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},level:{number:n,undefined:"undefined"},mass:{number:n},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{"boolean":o,array:s},borderRadius:{number:n},interpolation:{"boolean":o},useImageSize:{"boolean":o},useBorderWithImage:{"boolean":o},__type__:{object:r}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},x:{number:n},y:{number:n},__type__:{object:r}},physics:{enabled:{"boolean":o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{"boolean":o},fit:{"boolean":o},__type__:{object:r,"boolean":o}},timestep:{number:n},adaptiveTimestep:{"boolean":o},__type__:{object:r,"boolean":o}},autoResize:{"boolean":o},clickToUse:{"boolean":o},locale:{string:i},locales:{__any__:{any:h},__type__:{object:r}},height:{string:i},width:{string:i},__type__:{object:r}};d.groups.__any__=d.nodes,d.manipulation.controlNodeStyle=d.nodes;var l={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};t.allOptions=d,t.configureOptions=l},function(e,t,i){function o(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=e[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),r=function(){function e(e,t){for(var i=0;in&&h>a;){a+=1;var y=this._getHighestEnergyNode(i),g=s(y,4);for(c=g[0],l=g[1],u=g[2],f=g[3],p=l,v=0;p>r&&d>v;){v+=1,this._moveNode(c,u,f);var b=this._getEnergy(c),m=s(b,3);p=m[0],u=m[1],f=m[2]}}}},{key:"_getHighestEnergyNode",value:function(e){for(var t=this.body.nodeIndices,i=this.body.nodes,o=0,n=t[0],r=0,a=0,h=0;ho&&(o=u,n=d,r=f,a=p)}}return[n,o,r,a]}},{key:"_getEnergy",value:function(e){for(var t=this.body.nodeIndices,i=this.body.nodes,o=i[e].x,n=i[e].y,s=0,r=0,a=0;al;l++)for(var c=0;d-1>c;c++)for(var u=c+1;d>u;u++)o[t[c]][t[u]]=Math.min(o[t[c]][t[u]],o[t[c]][t[l]]+o[t[l]][t[u]]),o[t[u]][t[c]]=o[t[c]][t[u]];return o}}]),e}();t["default"]=n},function(e,t){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(e,t,i){this.beginPath(),this.arc(e,t,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(e,t,i){this.beginPath(),this.rect(e-i,t-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(e,t,i){this.beginPath(),i*=1.15,t+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(e,t-(r-s)),this.lineTo(e+n,t+s),this.lineTo(e-n,t+s),this.lineTo(e,t-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(e,t,i){this.beginPath(),i*=1.15,t-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(e,t+(r-s)),this.lineTo(e+n,t-s),this.lineTo(e-n,t-s),this.lineTo(e,t+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(e,t,i){this.beginPath(),i*=.82,t+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(e+n*Math.sin(2*o*Math.PI/10),t-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(e,t,i){this.beginPath(),this.lineTo(e,t+i),this.lineTo(e+i,t),this.lineTo(e,t-i),this.lineTo(e-i,t),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(e,t,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(e+n,t),this.lineTo(e+i-n,t),this.arc(e+i-n,t+n,n,270*s,360*s,!1),this.lineTo(e+i,t+o-n),this.arc(e+i-n,t+o-n,n,0,90*s,!1),this.lineTo(e+n,t+o),this.arc(e+n,t+o-n,n,90*s,180*s,!1),this.lineTo(e,t+n),this.arc(e+n,t+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse=function(e,t,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=e+i,h=t+o,d=e+i/2,l=t+o/2;this.beginPath(),this.moveTo(e,l),this.bezierCurveTo(e,l-r,d-s,t,d,t),this.bezierCurveTo(d+s,t,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,e,l+r,e,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(e,t,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=e+s,c=t+r,u=e+s/2,f=t+r/2,p=t+(o-r/2),v=t+o;this.beginPath(),this.moveTo(l,f),this.bezierCurveTo(l,f+d,u+h,c,u,c),this.bezierCurveTo(u-h,c,e,f+d,e,f),this.bezierCurveTo(e,f-d,u-h,t,u,t),this.bezierCurveTo(u+h,t,l,f-d,l,f),this.lineTo(l,p),this.bezierCurveTo(l,p+d,u+h,v,u,v),this.bezierCurveTo(u-h,v,e,p+d,e,p),this.lineTo(e,f)},CanvasRenderingContext2D.prototype.arrow=function(e,t,i,o){var n=e-o*Math.cos(i),s=t-o*Math.sin(i),r=e-.9*o*Math.cos(i),a=t-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),c=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(e,t),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(e,t,i,o,n){this.beginPath(),this.moveTo(e,t);for(var s=n.length,r=i-e,a=o-t,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0,u=0,f=n[0];d>=.1;)f=n[l++%s],f>d&&(f=d),u=Math.sqrt(f*f/(1+h*h)),u=0>r?-u:u,e+=u,t+=h*u,c===!0?this.lineTo(e,t):this.moveTo(e,t),d-=f,c=!c})},function(e,t){function i(e){return e?o(e):void 0}function o(e){for(var t in i.prototype)e[t]=i.prototype[t];return e}e.exports=i,i.prototype.on=i.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks[e]=this._callbacks[e]||[]).push(t),this},i.prototype.once=function(e,t){function i(){o.off(e,i),t.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=t,this.on(e,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[e];if(!i)return this;if(1==arguments.length)return delete this._callbacks[e],this;for(var o,n=0;no;++o)i[o].apply(this,t)}return this},i.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[e]||[]},i.prototype.hasListeners=function(e){return!!this.listeners(e).length}},function(e,t){function i(e){return P=e,f()}function o(){B=0,F=P.charAt(0)}function n(){B++,F=P.charAt(B)}function s(){return P.charAt(B+1)}function r(e){return N.test(e)}function a(e,t){if(e||(e={}),t)for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e}function h(e,t,i){for(var o=t.split("."),n=e;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function d(e,t){for(var i,o,n=null,s=[e],r=e;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(t.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:t.id},e.node&&(n.attr=a(n.attr,e.node))),i=s.length-1;i>=0;i--){var h=s[i];h.nodes||(h.nodes=[]),-1===h.nodes.indexOf(n)&&h.nodes.push(n)}t.attr&&(n.attr=a(n.attr,t.attr))}function l(e,t){if(e.edges||(e.edges=[]),e.edges.push(t),e.edge){var i=a({},e.edge);t.attr=a(i,t.attr)}}function c(e,t,i,o,n){var s={from:t,to:i,type:o};return e.edge&&(s.attr=a({},e.edge)),s.attr=a(s.attr||{},n),s}function u(){for(j=C.NULL,I="";" "===F||" "===F||"\n"===F||"\r"===F;)n();do{var e=!1;if("#"===F){for(var t=B-1;" "===P.charAt(t)||" "===P.charAt(t);)t--;if("\n"===P.charAt(t)||""===P.charAt(t)){for(;""!=F&&"\n"!=F;)n();e=!0}}if("/"===F&&"/"===s()){for(;""!=F&&"\n"!=F;)n();e=!0}if("/"===F&&"*"===s()){for(;""!=F;){if("*"===F&&"/"===s()){n(),n();break}n()}e=!0}for(;" "===F||" "===F||"\n"===F||"\r"===F;)n()}while(e);if(""===F)return void(j=C.DELIMITER);var i=F+s();if(T[i])return j=C.DELIMITER,I=i,n(),void n();if(T[F])return j=C.DELIMITER,I=F,void n();if(r(F)||"-"===F){for(I+=F,n();r(F);)I+=F,n();return"false"===I?I=!1:"true"===I?I=!0:isNaN(Number(I))||(I=Number(I)),void(j=C.IDENTIFIER)}if('"'===F){for(n();""!=F&&('"'!=F||'"'===F&&'"'===s());)I+=F,'"'===F&&n(),n();if('"'!=F)throw w('End of string " expected');return n(),void(j=C.IDENTIFIER)}for(j=C.UNKNOWN;""!=F;)I+=F,n();throw new SyntaxError('Syntax error in part "'+k(I,30)+'"')}function f(){var e={};if(o(),u(),"strict"===I&&(e.strict=!0,u()),"graph"!==I&&"digraph"!==I||(e.type=I,u()),j===C.IDENTIFIER&&(e.id=I,u()),"{"!=I)throw w("Angle bracket { expected");if(u(),p(e),"}"!=I)throw w("Angle bracket } expected");if(u(),""!==I)throw w("End of file expected");return u(),delete e.node,delete e.edge,delete e.graph,e}function p(e){for(;""!==I&&"}"!=I;)v(e),";"===I&&u()}function v(e){var t=y(e);if(t)return void m(e,t);var i=g(e);if(!i){if(j!=C.IDENTIFIER)throw w("Identifier expected");var o=I;if(u(),"="===I){if(u(),j!=C.IDENTIFIER)throw w("Identifier expected");e[o]=I,u()}else b(e,o)}}function y(e){var t=null;if("subgraph"===I&&(t={},t.type="subgraph",u(),j===C.IDENTIFIER&&(t.id=I,u())),"{"===I){if(u(),t||(t={}),t.parent=e,t.node=e.node,t.edge=e.edge,t.graph=e.graph,p(t),"}"!=I)throw w("Angle bracket } expected");u(),delete t.node,delete t.edge,delete t.graph,delete t.parent,e.subgraphs||(e.subgraphs=[]),e.subgraphs.push(t)}return t}function g(e){return"node"===I?(u(),e.node=_(),"node"):"edge"===I?(u(),e.edge=_(),"edge"):"graph"===I?(u(),e.graph=_(),"graph"):null}function b(e,t){var i={id:t},o=_();o&&(i.attr=o),d(e,i),m(e,t)}function m(e,t){for(;"->"===I||"--"===I;){var i,o=I;u();var n=y(e);if(n)i=n;else{if(j!=C.IDENTIFIER)throw w("Identifier or subgraph expected");i=I,d(e,{id:i}),u()}var s=_(),r=c(e,t,i,o,s);l(e,r),t=i}}function _(){for(var e=null;"["===I;){for(u(),e={};""!==I&&"]"!=I;){if(j!=C.IDENTIFIER)throw w("Attribute name expected");var t=I;if(u(),"="!=I)throw w("Equal sign = expected");if(u(),j!=C.IDENTIFIER)throw w("Attribute value expected");var i=I;h(e,t,i),u(),","==I&&u()}if("]"!=I)throw w("Bracket ] expected");u()}return e}function w(e){return new SyntaxError(e+', got "'+k(I,30)+'" (char '+B+")")}function k(e,t){return e.length<=t?e:e.substr(0,27)+"..."}function x(e,t,i){Array.isArray(e)?e.forEach(function(e){Array.isArray(t)?t.forEach(function(t){i(e,t)}):i(e,t)}):Array.isArray(t)?t.forEach(function(t){i(e,t)}):i(e,t)}function O(e,t,i){for(var o=t.split("."),n=o.pop(),s=e,r=0;r":!0,"--":!0},P="",B=0,F="",I="",j=C.NULL,N=/[a-zA-Z_0-9.:#]/;t.parseDOT=i,t.DOTToGraph=M},function(e,t){function i(e,t){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==t&&(void 0!==t.fixed&&(n.nodes.fixed=t.fixed),void 0!==t.parseColor&&(n.nodes.parseColor=t.parseColor),void 0!==t.inheritColor&&(n.edges.inheritColor=t.inheritColor));for(var s=e.edges,r=e.nodes,a=0;ai;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var o;if(void 0!==t){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(n.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return o=r.exec(t),o?new Date(Number(o[1])):n(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return n(t);if(t instanceof Date)return n(t.valueOf());if(n.isMoment(t))return n(t);if(e.isString(t))return o=r.exec(t),n(o?Number(o[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(n.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return o=r.exec(t),o?new Date(Number(o[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)){o=r.exec(t);var s;return s=o?new Date(Number(o[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}}};var r=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e="undefined"==typeof t?"undefined":o(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":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;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.throttle=function(t,e){var i=null,o=!1;return function n(){i?o=!0:(o=!1,t(),i=setTimeout(function(){i=null,o&&n()},e))}},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):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,o){return e+e+i+i+o+o});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("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.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)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.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||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var a={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=a.split(t.style.cssText),n=a.split(i),s=e.extend(o,n);t.style.cssText=a.join(s)},e.removeCssText=function(t,e){var i=a.split(t.style.cssText),o=a.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=a.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,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:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.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.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":o(i))){for(var n=Object.create(i),s=0;s0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length<=3||void 0===arguments[3]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===e[i])t[i]=Object.create(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;a>=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o,n){for(var s,r,a,h,d=1e4,l=0,u=0,p=t.length-1,n=void 0!=n?n:function(t,e){return t==e?0:e>t?-1:1};p>=u&&d>l;){if(h=Math.floor(.5*(p+u)),s=t[Math.max(0,h-1)][i],r=t[h][i],a=t[Math.min(t.length-1,h+1)][i],0==n(r,e))return h;if(n(s,e)<0&&n(r,e)>0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?u=h+1:p=h-1,l++}return-1},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,i){t.exports="undefined"!=typeof window&&window.moment||i(3)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return $i.apply(null,arguments)}function i(t){$i=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in Qi)o=Qi[i],n=e[o],c(n)||(t[o]=n);return t}function f(t){m(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),to===!1&&(to=!0,e.updateOffset(this),to=!1)}function g(t){return t instanceof f||null!=t&&null!=t._isAMomentObject}function v(t){return 0>t?Math.ceil(t):Math.floor(t)}function y(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=v(e)),i}function b(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&y(t[o])!==y(e[o]))&&r++;return r+s}function _(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function w(t,e){var i=!0;return a(function(){return i&&(_(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),i=!1),e.apply(this,arguments)},e)}function x(t,e){eo[t]||(_(e),eo[t]=!0)}function D(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function S(t){return"[object Object]"===Object.prototype.toString.call(t)}function k(t){var e,i;for(i in t)e=t[i],D(e)?this[i]=e:this["_"+i]=e;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function C(t,e){var i,o=a({},t);for(i in e)r(e,i)&&(S(t[i])&&S(e[i])?(o[i]={},a(o[i],t[i]),a(o[i],e[i])):null!=e[i]?o[i]=e[i]:delete o[i]);return o}function T(t){null!=t&&this.set(t)}function O(t){return t?t.toLowerCase().replace("_","-"):t}function M(t){for(var e,i,o,n,s=0;s0;){if(o=E(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&b(n,i,!0)>=e-1)break;e--}s++}return null}function E(e){var i=null;if(!oo[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=io._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),A(i)}catch(o){}return oo[e]}function A(t,e){var i;return t&&(i=c(e)?I(t):P(t,e),i&&(io=i)),io._abbr}function P(t,e){return null!==e?(e.abbr=t,null!=oo[t]?(x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),e=C(oo[t]._config,e)):null!=e.parentLocale&&(null!=oo[e.parentLocale]?e=C(oo[e.parentLocale]._config,e):x("parentLocaleUndefined","specified parentLocale is not defined yet")),oo[t]=new T(e),A(t),oo[t]):(delete oo[t],null)}function N(t,e){if(null!=e){var i;null!=oo[t]&&(e=C(oo[t]._config,e)),i=new T(e),i.parentLocale=oo[t],oo[t]=i,A(t)}else null!=oo[t]&&(null!=oo[t].parentLocale?oo[t]=oo[t].parentLocale:null!=oo[t]&&delete oo[t]);return oo[t]}function I(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return io;if(!o(t)){if(e=E(t))return e;t=[t]}return M(t)}function R(){return Object.keys(oo)}function L(t,e){var i=t.toLowerCase();no[i]=no[i+"s"]=no[e]=t}function F(t){return"string"==typeof t?no[t]||no[t.toLowerCase()]:void 0}function H(t){var e,i,o={};for(i in t)r(t,i)&&(e=F(i),e&&(o[e]=t[i]));return o}function Y(t,i){return function(o){return null!=o?(G(this,t,o),e.updateOffset(this,i),this):j(this,t)}}function j(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function G(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function z(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=F(t),D(this[t]))return this[t](e);return this}function W(t,e,i){var o=""+Math.abs(t),n=e-o.length,s=t>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function V(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(ho[t]=n),e&&(ho[e[0]]=function(){return W(n.apply(this,arguments),e[1],e[2])}),i&&(ho[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function B(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function U(t){var e,i,o=t.match(so);for(e=0,i=o.length;i>e;e++)ho[o[e]]?o[e]=ho[o[e]]:o[e]=B(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function q(t,e){return t.isValid()?(e=X(e,t.localeData()),ao[e]=ao[e]||U(e),ao[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(ro.lastIndex=0;o>=0&&ro.test(t);)t=t.replace(ro,i),ro.lastIndex=0,o-=1;return t}function Z(t,e,i){To[t]=D(e)?e:function(t,o){return t&&i?i:e}}function K(t,e){return r(To,t)?To[t](e._strict,e._locale):new RegExp(J(t))}function J(t){return $(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function $(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=y(t)}),i=0;io;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function rt(t,e){var i;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=y(e);else if(e=t.localeData().monthsParse(e),"number"!=typeof e)return t;return i=Math.min(t.date(),it(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t}function at(t){return null!=t?(rt(this,t),e.updateOffset(this,!0),this):j(this,"Month")}function ht(){return it(this.year(),this.month())}function dt(t){return this._monthsParseExact?(r(this,"_monthsRegex")||ut.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function lt(t){return this._monthsParseExact?(r(this,"_monthsRegex")||ut.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function ut(){function t(t,e){return e.length-t.length}var e,i,o=[],n=[],s=[];for(e=0;12>e;e++)i=h([2e3,e]),o.push(this.monthsShort(i,"")),n.push(this.months(i,"")),s.push(this.months(i,"")),s.push(this.monthsShort(i,""));for(o.sort(t),n.sort(t),s.sort(t),e=0;12>e;e++)o[e]=$(o[e]),n[e]=$(n[e]),s[e]=$(s[e]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")$","i"),this._monthsShortStrictRegex=new RegExp("^("+o.join("|")+")$","i")}function pt(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[Eo]<0||i[Eo]>11?Eo:i[Ao]<1||i[Ao]>it(i[Mo],i[Eo])?Ao:i[Po]<0||i[Po]>24||24===i[Po]&&(0!==i[No]||0!==i[Io]||0!==i[Ro])?Po:i[No]<0||i[No]>59?No:i[Io]<0||i[Io]>59?Io:i[Ro]<0||i[Ro]>999?Ro:-1,l(t)._overflowDayOfYear&&(Mo>e||e>Ao)&&(e=Ao),l(t)._overflowWeeks&&-1===e&&(e=Lo),l(t)._overflowWeekday&&-1===e&&(e=Fo),l(t).overflow=e),t}function ct(t){var e,i,o,n,s,r,a=t._i,h=Wo.exec(a)||Vo.exec(a);if(h){for(l(t).iso=!0,e=0,i=Uo.length;i>e;e++)if(Uo[e][1].exec(h[1])){n=Uo[e][0],o=Uo[e][2]!==!1;break}if(null==n)return void(t._isValid=!1);if(h[3]){for(e=0,i=qo.length;i>e;e++)if(qo[e][1].exec(h[3])){s=(h[2]||" ")+qo[e][0];break}if(null==s)return void(t._isValid=!1)}if(!o&&null!=s)return void(t._isValid=!1);if(h[4]){if(!Bo.exec(h[4]))return void(t._isValid=!1);r="Z"}t._f=n+(s||"")+(r||""),Ot(t)}else t._isValid=!1}function mt(t){var i=Xo.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(ct(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function ft(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 100>t&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function gt(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function vt(t){return yt(t)?366:365}function yt(t){return t%4===0&&t%100!==0||t%400===0}function bt(){return yt(this.year())}function _t(t,e,i){var o=7+e-i,n=(7+gt(t,0,o).getUTCDay()-e)%7;return-n+o-1}function wt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=_t(t,o,n),d=1+7*(e-1)+a+h;return 0>=d?(s=t-1,r=vt(s)+d):d>vt(t)?(s=t+1,r=d-vt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function xt(t,e,i){var o,n,s=_t(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return 1>r?(n=t.year()-1,o=r+Dt(n,e,i)):r>Dt(t.year(),e,i)?(o=r-Dt(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function Dt(t,e,i){var o=_t(t,e,i),n=_t(t+1,e,i);return(vt(t)-o+n)/7}function St(t,e,i){return null!=t?t:null!=e?e:i}function kt(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function Ct(t){var e,i,o,n,s=[];if(!t._d){for(o=kt(t),t._w&&null==t._a[Ao]&&null==t._a[Eo]&&Tt(t),t._dayOfYear&&(n=St(t._a[Mo],o[Mo]),t._dayOfYear>vt(n)&&(l(t)._overflowDayOfYear=!0),i=gt(n,0,t._dayOfYear),t._a[Eo]=i.getUTCMonth(),t._a[Ao]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Po]&&0===t._a[No]&&0===t._a[Io]&&0===t._a[Ro]&&(t._nextDay=!0,t._a[Po]=0),t._d=(t._useUTC?gt:ft).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Po]=24)}}function Tt(t){var e,i,o,n,s,r,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=St(e.GG,t._a[Mo],xt(Lt(),1,4).year),o=St(e.W,1),n=St(e.E,1),(1>n||n>7)&&(h=!0)):(s=t._locale._week.dow,r=t._locale._week.doy,i=St(e.gg,t._a[Mo],xt(Lt(),s,r).year),o=St(e.w,1),null!=e.d?(n=e.d,(0>n||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s),1>o||o>Dt(i,s,r)?l(t)._overflowWeeks=!0:null!=h?l(t)._overflowWeekday=!0:(a=wt(i,o,n,s,r),t._a[Mo]=a.year,t._dayOfYear=a.dayOfYear)}function Ot(t){if(t._f===e.ISO_8601)return void ct(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=X(t._f,t._locale).match(so)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),ho[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),et(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[Po]<=12&&t._a[Po]>0&&(l(t).bigHour=void 0),t._a[Po]=Mt(t._locale,t._a[Po],t._meridiem),Ct(t),pt(t)}function Mt(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function Et(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function At(t){if(!t._d){var e=H(t._i);t._a=s([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),Ct(t)}}function Pt(t){var e=new f(pt(Nt(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Nt(t){var e=t._i,i=t._f;return t._locale=t._locale||I(t._l),null===e||void 0===i&&""===e?p({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),g(e)?new f(pt(e)):(o(i)?Et(t):i?Ot(t):n(e)?t._d=e:It(t),u(t)||(t._d=null),t))}function It(t){var i=t._i;void 0===i?t._d=new Date(e.now()):n(i)?t._d=new Date(+i):"string"==typeof i?mt(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),Ct(t)):"object"==typeof i?At(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Rt(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,Pt(s)}function Lt(t,e,i,o){return Rt(t,e,i,o,!1)}function Ft(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Lt();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+W(~~(t/60),2)+e+W(~~t%60,2)})}function Wt(t,e){var i=(e||"").match(t)||[],o=i[i.length-1]||[],n=(o+"").match(Qo)||["-",0,0],s=+(60*n[1])+y(n[2]);return"+"===n[0]?s:-s}function Vt(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(g(t)||n(t)?+t:+Lt(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):Lt(t).local()}function Bt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ut(t,i){var o,n=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=Wt(So,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=Bt(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?de(this,oe(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:Bt(this):null!=t?this:NaN}function qt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Xt(t){return this.utcOffset(0,t)}function Zt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Bt(this),"m")),this}function Kt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Wt(Do,this._i)),this}function Jt(t){return this.isValid()?(t=t?Lt(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function $t(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Qt(){if(!c(this._isDSTShifted))return this._isDSTShifted;var t={};if(m(t,this),t=Nt(t),t._a){var e=t._isUTC?h(t._a):Lt(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function te(){return this.isValid()?!this._isUTC:!1}function ee(){return this.isValid()?this._isUTC:!1}function ie(){return this.isValid()?this._isUTC&&0===this._offset:!1}function oe(t,e){var i,o,n,s=t,a=null;return Gt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=tn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:y(a[Ao])*i,h:y(a[Po])*i,m:y(a[No])*i,s:y(a[Io])*i,ms:y(a[Ro])*i}):(a=en.exec(t))?(i="-"===a[1]?-1:1,s={y:ne(a[2],i),M:ne(a[3],i),w:ne(a[4],i),d:ne(a[5],i),h:ne(a[6],i),m:ne(a[7],i),s:ne(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=re(Lt(s.from),Lt(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new jt(s),Gt(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function ne(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function se(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function re(t,e){var i;return t.isValid()&&e.isValid()?(e=Vt(e,t),t.isBefore(e)?i=se(t,e):(i=se(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function ae(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function he(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(x(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=oe(i,o),de(this,n,t),this}}function de(t,i,o,n){ -var s=i._milliseconds,r=ae(i._days),a=ae(i._months);t.isValid()&&(n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&G(t,"Date",j(t,"Date")+r*o),a&&rt(t,j(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function le(t,e){var i=t||Lt(),o=Vt(i,this).startOf("day"),n=this.diff(o,"days",!0),s=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse",r=e&&(D(e[s])?e[s]():e[s]);return this.format(r||this.localeData().calendar(s,this,Lt(i)))}function ue(){return new f(this)}function pe(t,e){var i=g(t)?t:Lt(t);return this.isValid()&&i.isValid()?(e=F(c(e)?"millisecond":e),"millisecond"===e?+this>+i:+i<+this.clone().startOf(e)):!1}function ce(t,e){var i=g(t)?t:Lt(t);return this.isValid()&&i.isValid()?(e=F(c(e)?"millisecond":e),"millisecond"===e?+i>+this:+this.clone().endOf(e)<+i):!1}function me(t,e,i){return this.isAfter(t,i)&&this.isBefore(e,i)}function fe(t,e){var i,o=g(t)?t:Lt(t);return this.isValid()&&o.isValid()?(e=F(e||"millisecond"),"millisecond"===e?+this===+o:(i=+o,+this.clone().startOf(e)<=i&&i<=+this.clone().endOf(e))):!1}function ge(t,e){return this.isSame(t,e)||this.isAfter(t,e)}function ve(t,e){return this.isSame(t,e)||this.isBefore(t,e)}function ye(t,e,i){var o,n,s,r;return this.isValid()?(o=Vt(t,this),o.isValid()?(n=6e4*(o.utcOffset()-this.utcOffset()),e=F(e),"year"===e||"month"===e||"quarter"===e?(r=be(this,o),"quarter"===e?r/=3:"year"===e&&(r/=12)):(s=this-o,r="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-n)/864e5:"week"===e?(s-n)/6048e5:s),i?r:v(r)):NaN):NaN}function be(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function _e(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function we(){var t=this.clone().utc();return 0s&&(e=s),qe.call(this,t,e,i,o,n))}function qe(t,e,i,o,n){var s=wt(t,e,i,o,n),r=gt(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Xe(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ze(t){return xt(t,this._week.dow,this._week.doy).week}function Ke(){return this._week.dow}function Je(){return this._week.doy}function $e(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Qe(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ti(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function ei(t,e){return o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function ii(t){return this._weekdaysShort[t.day()]}function oi(t){return this._weekdaysMin[t.day()]}function ni(t,e,i){var o,n,s;for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;7>o;o++){if(n=Lt([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function si(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ti(t,this.localeData()),this.add(t-e,"d")):e}function ri(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function ai(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:NaN}function hi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function di(){return this.hours()%12||12}function li(t,e){V(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ui(t,e){return e._meridiemParse}function pi(t){return"p"===(t+"").toLowerCase().charAt(0)}function ci(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function mi(t,e){e[Ro]=y(1e3*("0."+t))}function fi(){return this._isUTC?"UTC":""}function gi(){return this._isUTC?"Coordinated Universal Time":""}function vi(t){return Lt(1e3*t)}function yi(){return Lt.apply(null,arguments).parseZone()}function bi(t,e,i){var o=this._calendar[t];return D(o)?o.call(e,i):o}function _i(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function wi(){return this._invalidDate}function xi(t){return this._ordinal.replace("%d",t)}function Di(t){return t}function Si(t,e,i,o){var n=this._relativeTime[i];return D(n)?n(t,e,i,o):n.replace(/%d/i,t)}function ki(t,e){var i=this._relativeTime[t>0?"future":"past"];return D(i)?i(e):i.replace(/%s/i,e)}function Ci(t,e,i,o){var n=I(),s=h().set(o,e);return n[i](s,t)}function Ti(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return Ci(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=Ci(t,s,i,n);return r}function Oi(t,e){return Ti(t,e,"months",12,"month")}function Mi(t,e){return Ti(t,e,"monthsShort",12,"month")}function Ei(t,e){return Ti(t,e,"weekdays",7,"day")}function Ai(t,e){return Ti(t,e,"weekdaysShort",7,"day")}function Pi(t,e){return Ti(t,e,"weekdaysMin",7,"day")}function Ni(){var t=this._data;return this._milliseconds=Cn(this._milliseconds),this._days=Cn(this._days),this._months=Cn(this._months),t.milliseconds=Cn(t.milliseconds),t.seconds=Cn(t.seconds),t.minutes=Cn(t.minutes),t.hours=Cn(t.hours),t.months=Cn(t.months),t.years=Cn(t.years),this}function Ii(t,e,i,o){var n=oe(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Ri(t,e){return Ii(this,t,e,1)}function Li(t,e){return Ii(this,t,e,-1)}function Fi(t){return 0>t?Math.floor(t):Math.ceil(t)}function Hi(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||0>=s&&0>=r&&0>=a||(s+=864e5*Fi(ji(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=v(s/1e3),h.seconds=t%60,e=v(t/60),h.minutes=e%60,i=v(e/60),h.hours=i%24,r+=v(i/24),n=v(Yi(r)),a+=n,r-=Fi(ji(n)),o=v(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function Yi(t){return 4800*t/146097}function ji(t){return 146097*t/4800}function Gi(t){var e,i,o=this._milliseconds;if(t=F(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+Yi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(ji(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function zi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*y(this._months/12)}function Wi(t){return function(){return this.as(t)}}function Vi(t){return t=F(t),this[t+"s"]()}function Bi(t){return function(){return this._data[t]}}function Ui(){return v(this.days()/7)}function qi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function Xi(t,e,i){var o=oe(t).abs(),n=zn(o.as("s")),s=zn(o.as("m")),r=zn(o.as("h")),a=zn(o.as("d")),h=zn(o.as("M")),d=zn(o.as("y")),l=n=s&&["m"]||s=r&&["h"]||r=a&&["d"]||a=h&&["M"]||h=d&&["y"]||["yy",d];return l[2]=e,l[3]=+t>0,l[4]=i,qi.apply(null,l)}function Zi(t,e){return void 0===Wn[t]?!1:void 0===e?Wn[t]:(Wn[t]=e,!0)}function Ki(t){var e=this.localeData(),i=Xi(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Ji(){var t,e,i,o=Vn(this._milliseconds)/1e3,n=Vn(this._days),s=Vn(this._months);t=v(o/60),e=v(t/60),o%=60,t%=60,i=v(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,p=this.asSeconds();return p?(0>p?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var $i,Qi=e.momentProperties=[],to=!1,eo={};e.suppressDeprecationWarnings=!1;var io,oo={},no={},so=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ro=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ao={},ho={},lo=/\d/,uo=/\d\d/,po=/\d{3}/,co=/\d{4}/,mo=/[+-]?\d{6}/,fo=/\d\d?/,go=/\d\d\d\d?/,vo=/\d\d\d\d\d\d?/,yo=/\d{1,3}/,bo=/\d{1,4}/,_o=/[+-]?\d{1,6}/,wo=/\d+/,xo=/[+-]?\d+/,Do=/Z|[+-]\d\d:?\d\d/gi,So=/Z|[+-]\d\d(?::?\d\d)?/gi,ko=/[+-]?\d+(\.\d{1,3})?/,Co=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,To={},Oo={},Mo=0,Eo=1,Ao=2,Po=3,No=4,Io=5,Ro=6,Lo=7,Fo=8;V("M",["MM",2],"Mo",function(){return this.month()+1}),V("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),V("MMMM",0,0,function(t){return this.localeData().months(this,t)}),L("month","M"),Z("M",fo),Z("MM",fo,uo),Z("MMM",function(t,e){return e.monthsShortRegex(t)}),Z("MMMM",function(t,e){return e.monthsRegex(t)}),Q(["M","MM"],function(t,e){e[Eo]=y(t)-1}),Q(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[Eo]=n:l(i).invalidMonth=t});var Ho=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,Yo="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),jo="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Go=Co,zo=Co,Wo=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Vo=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Bo=/Z|[+-]\d\d(?::?\d\d)?/,Uo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],qo=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Xo=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=w("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":""))}),V("Y",0,0,function(){var t=this.year();return 9999>=t?""+t:"+"+t}),V(0,["YY",2],0,function(){return this.year()%100}),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"year"),V(0,["YYYYYY",6,!0],0,"year"),L("year","y"),Z("Y",xo),Z("YY",fo,uo),Z("YYYY",bo,co),Z("YYYYY",_o,mo),Z("YYYYYY",_o,mo),Q(["YYYYY","YYYYYY"],Mo),Q("YYYY",function(t,i){i[Mo]=2===t.length?e.parseTwoDigitYear(t):y(t)}),Q("YY",function(t,i){i[Mo]=e.parseTwoDigitYear(t)}),Q("Y",function(t,e){e[Mo]=parseInt(t,10)}),e.parseTwoDigitYear=function(t){return y(t)+(y(t)>68?1900:2e3)};var Zo=Y("FullYear",!1);e.ISO_8601=function(){};var Ko=w("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Lt.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:p()}),Jo=w("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Lt.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:p()}),$o=function(){return Date.now?Date.now():+new Date};zt("Z",":"),zt("ZZ",""),Z("Z",So),Z("ZZ",So),Q(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Wt(So,t)});var Qo=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var tn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,en=/^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$/;oe.fn=jt.prototype;var on=he(1,"add"),nn=he(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var sn=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});V(0,["gg",2],0,function(){return this.weekYear()%100}),V(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ge("gggg","weekYear"),Ge("ggggg","weekYear"),Ge("GGGG","isoWeekYear"),Ge("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),Z("G",xo),Z("g",xo),Z("GG",fo,uo),Z("gg",fo,uo),Z("GGGG",bo,co),Z("gggg",bo,co),Z("GGGGG",_o,mo),Z("ggggg",_o,mo),tt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=y(t)}),tt(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),V("Q",0,"Qo","quarter"),L("quarter","Q"),Z("Q",lo),Q("Q",function(t,e){e[Eo]=3*(y(t)-1)}),V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),Z("w",fo),Z("ww",fo,uo),Z("W",fo),Z("WW",fo,uo),tt(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=y(t)});var rn={dow:0,doy:6};V("D",["DD",2],"Do","date"),L("date","D"),Z("D",fo),Z("DD",fo,uo),Z("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),Q(["D","DD"],Ao),Q("Do",function(t,e){e[Ao]=y(t.match(fo)[0],10)});var an=Y("Date",!0);V("d",0,"do","day"),V("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),V("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),V("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),Z("d",fo),Z("e",fo),Z("E",fo),Z("dd",Co),Z("ddd",Co),Z("dddd",Co),tt(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:l(i).invalidWeekday=t}),tt(["d","e","E"],function(t,e,i,o){e[o]=y(t)});var hn="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),dn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),ln="Su_Mo_Tu_We_Th_Fr_Sa".split("_");V("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),Z("DDD",yo),Z("DDDD",po),Q(["DDD","DDDD"],function(t,e,i){i._dayOfYear=y(t)}),V("H",["HH",2],0,"hour"),V("h",["hh",2],0,di),V("hmm",0,0,function(){return""+di.apply(this)+W(this.minutes(),2)}),V("hmmss",0,0,function(){return""+di.apply(this)+W(this.minutes(),2)+W(this.seconds(),2)}),V("Hmm",0,0,function(){return""+this.hours()+W(this.minutes(),2)}),V("Hmmss",0,0,function(){return""+this.hours()+W(this.minutes(),2)+W(this.seconds(),2)}),li("a",!0),li("A",!1),L("hour","h"),Z("a",ui),Z("A",ui),Z("H",fo),Z("h",fo),Z("HH",fo,uo),Z("hh",fo,uo),Z("hmm",go),Z("hmmss",vo),Z("Hmm",go),Z("Hmmss",vo),Q(["H","HH"],Po),Q(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),Q(["h","hh"],function(t,e,i){e[Po]=y(t),l(i).bigHour=!0}),Q("hmm",function(t,e,i){var o=t.length-2;e[Po]=y(t.substr(0,o)),e[No]=y(t.substr(o)),l(i).bigHour=!0}),Q("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Po]=y(t.substr(0,o)),e[No]=y(t.substr(o,2)),e[Io]=y(t.substr(n)),l(i).bigHour=!0}),Q("Hmm",function(t,e,i){var o=t.length-2;e[Po]=y(t.substr(0,o)),e[No]=y(t.substr(o))}),Q("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Po]=y(t.substr(0,o)),e[No]=y(t.substr(o,2)),e[Io]=y(t.substr(n))});var un=/[ap]\.?m?\.?/i,pn=Y("Hours",!0);V("m",["mm",2],0,"minute"),L("minute","m"),Z("m",fo),Z("mm",fo,uo),Q(["m","mm"],No);var cn=Y("Minutes",!1);V("s",["ss",2],0,"second"),L("second","s"),Z("s",fo),Z("ss",fo,uo),Q(["s","ss"],Io);var mn=Y("Seconds",!1);V("S",0,0,function(){return~~(this.millisecond()/100)}),V(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,function(){return 10*this.millisecond()}),V(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),V(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),V(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),V(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),V(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),Z("S",yo,lo),Z("SS",yo,uo),Z("SSS",yo,po);var fn;for(fn="SSSS";fn.length<=9;fn+="S")Z(fn,wo);for(fn="S";fn.length<=9;fn+="S")Q(fn,mi);var gn=Y("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var vn=f.prototype;vn.add=on,vn.calendar=le,vn.clone=ue,vn.diff=ye,vn.endOf=Ee,vn.format=xe,vn.from=De,vn.fromNow=Se,vn.to=ke,vn.toNow=Ce,vn.get=z,vn.invalidAt=Ye,vn.isAfter=pe,vn.isBefore=ce,vn.isBetween=me,vn.isSame=fe,vn.isSameOrAfter=ge,vn.isSameOrBefore=ve,vn.isValid=Fe,vn.lang=sn,vn.locale=Te,vn.localeData=Oe,vn.max=Jo,vn.min=Ko,vn.parsingFlags=He,vn.set=z,vn.startOf=Me,vn.subtract=nn,vn.toArray=Ie,vn.toObject=Re,vn.toDate=Ne,vn.toISOString=we,vn.toJSON=Le,vn.toString=_e,vn.unix=Pe,vn.valueOf=Ae,vn.creationData=je,vn.year=Zo,vn.isLeapYear=bt,vn.weekYear=ze,vn.isoWeekYear=We,vn.quarter=vn.quarters=Xe,vn.month=at,vn.daysInMonth=ht,vn.week=vn.weeks=$e,vn.isoWeek=vn.isoWeeks=Qe,vn.weeksInYear=Be,vn.isoWeeksInYear=Ve,vn.date=an,vn.day=vn.days=si,vn.weekday=ri,vn.isoWeekday=ai,vn.dayOfYear=hi,vn.hour=vn.hours=pn,vn.minute=vn.minutes=cn,vn.second=vn.seconds=mn,vn.millisecond=vn.milliseconds=gn,vn.utcOffset=Ut,vn.utc=Xt,vn.local=Zt,vn.parseZone=Kt,vn.hasAlignedHourOffset=Jt,vn.isDST=$t,vn.isDSTShifted=Qt,vn.isLocal=te,vn.isUtcOffset=ee,vn.isUtc=ie,vn.isUTC=ie,vn.zoneAbbr=fi,vn.zoneName=gi,vn.dates=w("dates accessor is deprecated. Use date instead.",an),vn.months=w("months accessor is deprecated. Use month instead",at),vn.years=w("years accessor is deprecated. Use year instead",Zo),vn.zone=w("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",qt);var yn=vn,bn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},_n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},wn="Invalid date",xn="%d",Dn=/\d{1,2}/,Sn={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"},kn=T.prototype;kn._calendar=bn,kn.calendar=bi,kn._longDateFormat=_n,kn.longDateFormat=_i,kn._invalidDate=wn,kn.invalidDate=wi,kn._ordinal=xn,kn.ordinal=xi,kn._ordinalParse=Dn,kn.preparse=Di,kn.postformat=Di,kn._relativeTime=Sn,kn.relativeTime=Si,kn.pastFuture=ki,kn.set=k,kn.months=ot,kn._months=Yo,kn.monthsShort=nt,kn._monthsShort=jo,kn.monthsParse=st,kn._monthsRegex=zo,kn.monthsRegex=lt,kn._monthsShortRegex=Go,kn.monthsShortRegex=dt,kn.week=Ze,kn._week=rn,kn.firstDayOfYear=Je,kn.firstDayOfWeek=Ke,kn.weekdays=ei,kn._weekdays=hn,kn.weekdaysMin=oi,kn._weekdaysMin=ln,kn.weekdaysShort=ii,kn._weekdaysShort=dn,kn.weekdaysParse=ni,kn.isPM=pi,kn._meridiemParse=un,kn.meridiem=ci,A("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===y(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=w("moment.lang is deprecated. Use moment.locale instead.",A),e.langData=w("moment.langData is deprecated. Use moment.localeData instead.",I);var Cn=Math.abs,Tn=Wi("ms"),On=Wi("s"),Mn=Wi("m"),En=Wi("h"),An=Wi("d"),Pn=Wi("w"),Nn=Wi("M"),In=Wi("y"),Rn=Bi("milliseconds"),Ln=Bi("seconds"),Fn=Bi("minutes"),Hn=Bi("hours"),Yn=Bi("days"),jn=Bi("months"),Gn=Bi("years"),zn=Math.round,Wn={s:45,m:45,h:22,d:26,M:11},Vn=Math.abs,Bn=jt.prototype;Bn.abs=Ni,Bn.add=Ri,Bn.subtract=Li,Bn.as=Gi,Bn.asMilliseconds=Tn,Bn.asSeconds=On,Bn.asMinutes=Mn,Bn.asHours=En,Bn.asDays=An,Bn.asWeeks=Pn,Bn.asMonths=Nn,Bn.asYears=In,Bn.valueOf=zi,Bn._bubble=Hi,Bn.get=Vi,Bn.milliseconds=Rn,Bn.seconds=Ln,Bn.minutes=Fn,Bn.hours=Hn,Bn.days=Yn,Bn.weeks=Ui,Bn.months=jn,Bn.years=Gn,Bn.humanize=Ki,Bn.toISOString=Ji,Bn.toString=Ji,Bn.toJSON=Ji,Bn.locale=Te,Bn.localeData=Oe,Bn.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ji),Bn.lang=sn,V("X",0,0,"unix"),V("x",0,0,"valueOf"),Z("x",xo),Z("X",ko),Q("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),Q("x",function(t,e,i){i._d=new Date(y(t))}),e.version="2.12.0",i(Lt),e.fn=yn,e.min=Ht,e.max=Yt,e.now=$o,e.utc=h,e.unix=vi,e.months=Oi,e.isDate=n,e.locale=A,e.invalid=p,e.duration=oe,e.isMoment=g,e.weekdays=Ei,e.parseZone=yi,e.localeData=I,e.isDuration=Gt,e.monthsShort=Mi,e.weekdaysMin=Pi,e.defineLocale=P,e.updateLocale=N,e.locales=R,e.weekdaysShort=Ai,e.normalizeUnits=F,e.relativeTimeThreshold=Zi,e.prototype=yn;var Un=e;return Un})}).call(e,i(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=5},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){16>n&&(e[o+n++]=u[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:f,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:v+1,d=a-g+(h-v)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>g)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,v=h,f=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var p=t.node||m,c=0;6>c;c++)s[n+c]=p[c];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},p=0;256>p;p++)l[p]=(p+256).toString(16).substr(1),u[l[p]]=p;var c=r(),m=[1|c[0],c[1],c[2],c[3],c[4],c[5]],f=16383&(c[6]<<8|c[7]),g=0,v=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(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=Object.keys(this._options.type),o=0,n=i.length;n>o;o++){var s=i[o],r=this._options.type[s];"Date"==r||"ISODate"==r||"ASPDate"==r?this._type[s]="Date":this._type[s]=r}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(9);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=r.extend(this,{replace:["add","update","remove"]})),"object"===n(t.queue)&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0,s=o.length;s>n;n++){var r=o[n];r.callback&&r.callback(t,e,i||null)}},o.prototype.add=function(t,e){var i,o=[],n=this;if(Array.isArray(t))for(var s=0,r=t.length;r>s;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],r=[],a=this,h=a._fieldId,d=function(t){var e=t[h];if(a._data[e]){var d=s.extend({},a._data[e]);e=a._updateItem(t),o.push(e),r.push(t),n.push(d)}else e=a._addItem(t),i.push(e)};if(Array.isArray(t))for(var l=0,u=t.length;u>l;l++)t[l]instanceof Object?d(t[l]):console.warn("Ignoring input item, which is not an object at index "+l);else{if(!(t instanceof Object))throw new Error("Unknown dataType");d(t)}if(i.length&&this._trigger("add",{items:i},e),o.length){var p={items:o,oldData:n,data:r};this._trigger("update",p,e)}return i.concat(o)},o.prototype.get=function(t){var e,i,o,n=this,r=s.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,p,c,m=o&&o.type||this._options.type,f=o&&o.filter,g=[];if(void 0!=e)d=n._getItem(e,m),d&&f&&!f(d)&&(d=null);else if(void 0!=i)for(p=0,c=i.length;c>p;p++)d=n._getItem(i[p],m),f&&!f(d)||g.push(d);else for(l=Object.keys(this._data),p=0,c=l.length;c>p;p++)u=l[p],d=n._getItem(u,m),f&&!f(d)||g.push(d);if(o&&o.order&&void 0==e&&this._sort(g,o.order),o&&o.fields){var v=o.fields;if(void 0!=e)d=this._filterFields(d,v);else for(p=0,c=g.length;c>p;p++)g[p]=this._filterFields(g[p],v)}if("Object"==a){var y,b={};for(p=0,c=g.length;c>p;p++)y=g[p],b[y.id]=y;return b}return void 0!=e?d:g},o.prototype.getIds=function(t){var e,i,o,n,s,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=Object.keys(r),u=[];if(a)if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&s.push(n);for(this._sort(s,h),e=0,i=s.length;i>e;e++)u.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&u.push(n[this._fieldId]);else if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)u.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=r[o],u.push(n[this._fieldId]);return u; -},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=this._data,d=Object.keys(h);if(e&&e.order){var l=this.get(e);for(i=0,o=l.length;o>i;i++)n=l[i],s=n[this._fieldId],t(n,s)}else for(i=0,o=d.length;o>i;i++)s=d[i],n=this._getItem(s,a),r&&!r(n)||t(n,s)},o.prototype.map=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=[],d=this._data,l=Object.keys(d);for(i=0,o=l.length;o>i;i++)n=l[i],s=this._getItem(n,a),r&&!r(s)||h.push(t(s,n));return e&&e.order&&this._sort(h,e.order),h},o.prototype._filterFields=function(t,e){if(!t)return t;var i,o,n={},s=Object.keys(t),r=s.length;if(Array.isArray(e))for(i=0;r>i;i++)o=s[i],-1!=e.indexOf(o)&&(n[o]=t[o]);else for(i=0;r>i;i++)o=s[i],e.hasOwnProperty(o)&&(n[e[o]]=t[o]);return n},o.prototype._sort=function(t,e){if(s.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(s.isNumber(t)||s.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(void 0!==e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||d>r)&&(s=h,r=d)}return s},o.prototype.min=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||r>d)&&(s=h,r=d)}return s},o.prototype.distinct=function(t){var e,i,o,n=this._data,r=Object.keys(n),a=[],h=this._options.type&&this._options.type[t]||null,d=0;for(e=0,o=r.length;o>e;e++){var l=r[e],u=n[l],p=u[t],c=!1;for(i=0;d>i;i++)if(a[i]==p){c=!0;break}c||void 0===p||(a[d]=p,d++)}if(h)for(e=0,o=a.length;o>e;e++)a[e]=s.convert(a[e],h);return a},o.prototype._addItem=function(t){var e=t[this._fieldId];if(void 0!=e){if(this._data[e])throw new Error("Cannot add item: item with id "+e+" already exists")}else e=s.randomUUID(),t[this._fieldId]=e;var i,o,n={},r=Object.keys(t);for(i=0,o=r.length;o>i;i++){var a=r[i],h=this._type[a];n[a]=s.convert(t[a],h)}return this._data[e]=n,this.length++,e},o.prototype._getItem=function(t,e){var i,o,n,r,a=this._data[t];if(!a)return null;var h={},d=Object.keys(a);if(e)for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=s.convert(o,e[i]);else for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=o;return h},o.prototype._updateItem=function(t){var e=t[this._fieldId];if(void 0==e)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(t)+")");var i=this._data[e];if(!i)throw new Error("Cannot update item: no item with id "+e+" found");for(var o=Object.keys(t),n=0,r=o.length;r>n;n++){var a=o[n],h=this._type[a];i[a]=s.convert(t[a],h)}return e},t.exports=o},function(t,e){function i(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}i.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},i.extend=function(t,e){var o=new i(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){o.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(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 n=i(1),s=i(8);o.prototype.setData=function(t){var e,i,o,n;if(this._data&&(this._data.off&&this._data.off("*",this.listener),e=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:e})),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}),o=0,n=e.length;n>o;o++)i=e[o],this._ids[i]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){var t,e,i,o=this._data.getIds({filter:this._options&&this._options.filter}),n=Object.keys(this._ids),s={},r=[],a=[];for(e=0,i=o.length;i>e;e++)t=o[e],s[t]=!0,this._ids[t]||(r.push(t),this._ids[t]=!0);for(e=0,i=n.length;i>e;e++)t=n[e],s[t]||(a.push(t),delete this._ids[t]);this.length+=r.length-a.length,r.length&&this._trigger("add",{items:r}),a.length&&this._trigger("remove",{items:a})},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r||"Array"==r?(e=arguments[0],i=arguments[1],o=arguments[2]):(i=arguments[0],o=arguments[1]);var a=n.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(t){return s._options.filter(t)&&i.filter(t)});var h=[];return void 0!=e&&h.push(e),h.push(a),h.push(o),this._data&&this._data.get.apply(this._data,h)},o.prototype.getIds=function(t){var e;if(this._data){var i,o=this._options.filter;i=t&&t.filter?o?function(e){return o(e)&&t.filter(e)}:t.filter:o,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},o.prototype.map=function(t,e){var i=[];if(this._data){var o,n=this._options.filter;o=e&&e.filter?n?function(t){return n(t)&&e.filter(t)}:e.filter:n,i=this._data.map(t,{filter:o,order:e&&e.order})}else i=[];return i},o.prototype.getDataSet=function(){for(var t=this;t instanceof o;)t=t._data;return t||null},o.prototype._onEvent=function(t,e,i){var o,n,s,r,a=e&&e.items,h=this._data,d=[],l=[],u=[],p=[];if(a&&h){switch(t){case"add":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],p.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],p.push(s))}this.length+=l.length-p.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),p.length&&this._trigger("remove",{items:p},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e,i,o){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof u||i instanceof p)&&i instanceof Object){var s=o;o=i,i=s}var r=this;this.defaultOptions={start:null,end:null,autoResize:!0,throttleRedraw:0,orientation:{axis:"bottom",item:"bottom"},rtl:!1,moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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 r.timeAxis.step.scale},getStep:function(){return r.timeAxis.step.step},toScreen:r._toScreen.bind(r),toGlobalScreen:r._toGlobalScreen.bind(r),toTime:r._toTime.bind(r),toGlobalTime:r._toGlobalTime.bind(r)}},this.range=new c(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new f(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new g(this.body),this.components.push(this.currentTime),this.itemSet=new y(this.body,this.options),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){r.emit("click",r.getEventProperties(t))}),this.on("doubletap",function(t){r.emit("doubleClick",r.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){r.emit("contextmenu",r.getEventProperties(t))},this.fitDone=!1,this.on("changed",function(){if(null!=this.itemsData&&!r.fitDone)if(r.fitDone=!0,void 0!=r.options.start||void 0!=r.options.end){if(void 0==r.options.start||void 0==r.options.end)var t=r.getItemRange();var e=void 0!=r.options.start?r.options.start:t.min,i=void 0!=r.options.end?r.options.end:t.max;r.setWindow(e,i,{animation:!1})}else r.fit({animation:!1})}),o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(12),r=o(s),a=i(18),h=o(a),d=(i(19),i(14),i(2)),l=i(1),u=i(8),p=i(10),c=i(20),m=i(23),f=i(34),g=i(39),v=i(37),y=i(24),b=i(18).printStyle,_=i(40).allOptions,w=i(40).configureOptions;n.prototype=new m,n.prototype._createConfigurator=function(){return new r["default"](this,this.dom.container,w)},n.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},n.prototype.setOptions=function(t){var e=h["default"].validate(t,_);if(e===!0&&console.log("%cErrors have been found in the supplied options object.",b),m.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;if(i){var o=this.getSelection();this.setItems(null),this.setItems(i),this.setSelection(o)}}},n.prototype.setItems=function(t){var e;e=t?t instanceof u||t instanceof p?t:new u(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e)},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof p?t:new u(t):null,this.groupsData=e,this.itemSet.setGroups(e)},n.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},n.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},n.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},n.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=t&&void 0!==t.animation?t.animation:!0,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=null!==e.min?e.min.valueOf():null,o=null!==e.max?e.max.valueOf():null,n=null,s=null;if(null!=i&&null!=o){var r,a,h,d,u;!function(){var e=function(t){return l.convert(t.data.start,"Date").valueOf()},p=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()};r=o-i,0>=r&&(r=10),a=r/t.props.center.width,l.forEach(t.itemSet.items,function(t){t.show(),t.repositionX();var r=e(t),h=p(t);if(this.options.rtl)var d=r-(t.getWidthRight()+10)*a,l=h+(t.getWidthLeft()+10)*a;else var d=r-(t.getWidthLeft()+10)*a,l=h+(t.getWidthRight()+10)*a;i>d&&(i=d,n=t),l>o&&(o=l,s=t)}.bind(t)),n&&s&&(h=n.getWidthLeft()+10,d=s.getWidthRight()+10,u=t.props.center.width-h-d,u>0&&(t.options.rtl?(i=e(n)-d*r/u,o=p(s)+h*r/u):(i=e(n)-h*r/u,o=p(s)+d*r/u)))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||t>o)&&(t=o),(null===e||n>e)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=v.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(o),c=h?h(p,d,u):p,m=l.getTarget(t),f=null;return null!=s?f="item":null!=a?f="custom-time":l.hasParent(m,this.timeAxis.dom.foreground)?f="axis":this.timeAxis2&&l.hasParent(m,this.timeAxis2.dom.foreground)?f="axis":l.hasParent(m,this.itemSet.dom.labelSet)?f="group-label":l.hasParent(m,this.currentTime.bar)?f="current-time":l.hasParent(m,this.dom.center)&&(f="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:f,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:p,snappedTime:c}},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?o-1:0),r=1;o>r;r++)n[r-1]=e[r];return n.forEach(function(t){s.appendChild(t)}),i.domElements.push(s),{v:i.domElements.length}}();if("object"===("undefined"==typeof a?"undefined":s(a)))return a.v}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;se&&n>e*u?(a.min=Math.ceil(e*u),l=a.min,d="range increased"):n>e/u&&(a.min=Math.ceil(e/u),l=a.min,d="range increased"),e*u>s&&1!==s&&(a.max=Math.ceil(e*u),l=a.max,d="range increased"),a.value=e}else a.value=o;var p=document.createElement("input");p.className="vis-configuration vis-config-rangeinput",p.value=a.value;var c=this;a.onchange=function(){p.value=this.value,c._update(Number(this.value),i)},a.oninput=function(){p.value=this.value};var m=this._makeLabel(i[i.length-1],i),f=this._makeItem(i,m,a,p);""!==d&&this.popupHistory[f]!==l&&(this.popupHistory[f]=l,this._setupPopup(d,f))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCountervar options = "+JSON.stringify(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;es;s++)for(r=0;rc?c+1:c;var m=l/this.r,f=a.RGBToHSV(this.color.r,this.color.g,this.color.b);f.h=c,f.s=m;var g=a.HSVToRGB(f.h,f.s,f.v);g.a=this.color.a,this.color=g,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h},function(t,e,i){if("undefined"!=typeof window){var o=i(15),n=window.Hammer||i(16);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.6 - 2015-12-23 +"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(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.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(7),e.DataSet=i(8),e.DataView=i(10),e.Queue=i(9),e.Timeline=i(11),e.Graph2d=i(41),e.timeline={Core:i(23),DateUtil:i(22),Range:i(20),stack:i(27),TimeStep:i(25),components:{items:{Item:i(29),BackgroundItem:i(33),BoxItem:i(31),PointItem:i(32),RangeItem:i(28)},BackgroundGroup:i(30),Component:i(21),CurrentTime:i(39),CustomTime:i(37),DataAxis:i(43),DataScale:i(44),GraphGroup:i(45),Group:i(26),ItemSet:i(24),Legend:i(49),LineGraph:i(42),TimeAxis:i(34)}},e.moment=i(2),e.Hammer=i(14),e.keycharm=i(36)},function(t,e,i){var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},n=i(2),s=i(6);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},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=r.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return s.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==o(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var n=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];for(var s in t)void 0!==i[s]&&("object"!==o(i[s])?void 0!==i[s]&&null!==i[s]||void 0===t[s]||n!==!0?t[s]=i[s]:delete t[s]:"object"===o(t[s])&&e.fillIfDefined(t[s],i[s],n))},e.protoExtend=function(t,e){for(var i=1;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var o;if(void 0!==t){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(n.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return o=r.exec(t),o?new Date(Number(o[1])):n(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return n(t);if(t instanceof Date)return n(t.valueOf());if(n.isMoment(t))return n(t);if(e.isString(t))return o=r.exec(t),n(o?Number(o[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(n.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return o=r.exec(t),o?new Date(Number(o[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)){o=r.exec(t);var s;return s=o?new Date(Number(o[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}}};var r=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e="undefined"==typeof t?"undefined":o(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":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;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.throttle=function(t,e){var i=null,o=!1;return function n(){i?o=!0:(o=!1,t(),i=setTimeout(function(){i=null,o&&n()},e))}},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):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,o){return e+e+i+i+o+o});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("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.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)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.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||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var a={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=a.split(t.style.cssText),n=a.split(i),s=e.extend(o,n);t.style.cssText=a.join(s)},e.removeCssText=function(t,e){var i=a.split(t.style.cssText),o=a.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=a.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,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:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.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.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":o(i))){for(var n=Object.create(i),s=0;s0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length<=3||void 0===arguments[3]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===e[i])t[i]=Object.create(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;a>=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o,n){for(var s,r,a,h,d=1e4,l=0,u=0,c=t.length-1,n=void 0!=n?n:function(t,e){return t==e?0:e>t?-1:1};c>=u&&d>l;){if(h=Math.floor(.5*(c+u)),s=t[Math.max(0,h-1)][i],r=t[h][i],a=t[Math.min(t.length-1,h+1)][i],0==n(r,e))return h;if(n(s,e)<0&&n(r,e)>0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?u=h+1:c=h-1,l++}return-1},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,i){t.exports="undefined"!=typeof window&&window.moment||i(3)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return ro.apply(null,arguments)}function i(t){ro=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in ho)o=ho[i],n=e[o],p(n)||(t[o]=n);return t}function f(t){m(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),lo===!1&&(lo=!0,e.updateOffset(this),lo=!1)}function g(t){return t instanceof f||null!=t&&null!=t._isAMomentObject}function v(t){return 0>t?Math.ceil(t):Math.floor(t)}function y(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=v(e)),i}function b(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&y(t[o])!==y(e[o]))&&r++;return r+s}function _(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function w(t,i){var o=!0;return a(function(){return null!=e.deprecationHandler&&e.deprecationHandler(null,t),o&&(_(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),o=!1),i.apply(this,arguments)},i)}function x(t,i){null!=e.deprecationHandler&&e.deprecationHandler(t,i),uo[t]||(_(i),uo[t]=!0)}function D(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function k(t){return"[object Object]"===Object.prototype.toString.call(t)}function S(t){var e,i;for(i in t)e=t[i],D(e)?this[i]=e:this["_"+i]=e;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function C(t,e){var i,o=a({},t);for(i in e)r(e,i)&&(k(t[i])&&k(e[i])?(o[i]={},a(o[i],t[i]),a(o[i],e[i])):null!=e[i]?o[i]=e[i]:delete o[i]);return o}function O(t){null!=t&&this.set(t)}function T(t){return t?t.toLowerCase().replace("_","-"):t}function M(t){for(var e,i,o,n,s=0;s0;){if(o=E(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&b(n,i,!0)>=e-1)break;e--}s++}return null}function E(e){var i=null;if(!fo[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=po._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),P(i)}catch(o){}return fo[e]}function P(t,e){var i;return t&&(i=p(e)?I(t):A(t,e),i&&(po=i)),po._abbr}function A(t,e){return null!==e?(e.abbr=t,null!=fo[t]?(x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),e=C(fo[t]._config,e)):null!=e.parentLocale&&(null!=fo[e.parentLocale]?e=C(fo[e.parentLocale]._config,e):x("parentLocaleUndefined","specified parentLocale is not defined yet")),fo[t]=new O(e),P(t),fo[t]):(delete fo[t],null)}function N(t,e){if(null!=e){var i;null!=fo[t]&&(e=C(fo[t]._config,e)),i=new O(e),i.parentLocale=fo[t],fo[t]=i,P(t)}else null!=fo[t]&&(null!=fo[t].parentLocale?fo[t]=fo[t].parentLocale:null!=fo[t]&&delete fo[t]);return fo[t]}function I(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return po;if(!o(t)){if(e=E(t))return e;t=[t]}return M(t)}function R(){return co(fo)}function L(t,e){var i=t.toLowerCase();go[i]=go[i+"s"]=go[e]=t}function F(t){return"string"==typeof t?go[t]||go[t.toLowerCase()]:void 0}function H(t){var e,i,o={};for(i in t)r(t,i)&&(e=F(i),e&&(o[e]=t[i]));return o}function Y(t,i){return function(o){return null!=o?(G(this,t,o),e.updateOffset(this,i),this):j(this,t)}}function j(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function G(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function z(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=F(t),D(this[t]))return this[t](e);return this}function W(t,e,i){var o=""+Math.abs(t),n=e-o.length,s=t>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function V(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(_o[t]=n),e&&(_o[e[0]]=function(){return W(n.apply(this,arguments),e[1],e[2])}),i&&(_o[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function B(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function U(t){var e,i,o=t.match(vo);for(e=0,i=o.length;i>e;e++)_o[o[e]]?o[e]=_o[o[e]]:o[e]=B(o[e]);return function(e){var n,s="";for(n=0;i>n;n++)s+=o[n]instanceof Function?o[n].call(e,t):o[n];return s}}function q(t,e){return t.isValid()?(e=X(e,t.localeData()),bo[e]=bo[e]||U(e),bo[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(yo.lastIndex=0;o>=0&&yo.test(t);)t=t.replace(yo,i),yo.lastIndex=0,o-=1;return t}function Z(t,e,i){Ho[t]=D(e)?e:function(t,o){return t&&i?i:e}}function K(t,e){return r(Ho,t)?Ho[t](e._strict,e._locale):new RegExp(J(t))}function J(t){return Q(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function Q(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function $(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=y(t)}),i=0;io;++o)s=h([2e3,o]),this._shortMonthsParse[o]=this.monthsShort(s,"").toLocaleLowerCase(),this._longMonthsParse[o]=this.months(s,"").toLocaleLowerCase();return i?"MMM"===e?(n=mo.call(this._shortMonthsParse,r),-1!==n?n:null):(n=mo.call(this._longMonthsParse,r),-1!==n?n:null):"MMM"===e?(n=mo.call(this._shortMonthsParse,r),-1!==n?n:(n=mo.call(this._longMonthsParse,r),-1!==n?n:null)):(n=mo.call(this._longMonthsParse,r),-1!==n?n:(n=mo.call(this._shortMonthsParse,r),-1!==n?n:null))}function rt(t,e,i){var o,n,s;if(this._monthsParseExact)return st.call(this,t,e,i);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),o=0;12>o;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function at(t,e){var i;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=y(e);else if(e=t.localeData().monthsParse(e),"number"!=typeof e)return t;return i=Math.min(t.date(),it(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t}function ht(t){return null!=t?(at(this,t),e.updateOffset(this,!0),this):j(this,"Month")}function dt(){return it(this.year(),this.month())}function lt(t){return this._monthsParseExact?(r(this,"_monthsRegex")||ct.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function ut(t){return this._monthsParseExact?(r(this,"_monthsRegex")||ct.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function ct(){function t(t,e){return e.length-t.length}var e,i,o=[],n=[],s=[];for(e=0;12>e;e++)i=h([2e3,e]),o.push(this.monthsShort(i,"")),n.push(this.months(i,"")),s.push(this.months(i,"")),s.push(this.monthsShort(i,""));for(o.sort(t),n.sort(t),s.sort(t),e=0;12>e;e++)o[e]=Q(o[e]),n[e]=Q(n[e]),s[e]=Q(s[e]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+o.join("|")+")","i")}function pt(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[Go]<0||i[Go]>11?Go:i[zo]<1||i[zo]>it(i[jo],i[Go])?zo:i[Wo]<0||i[Wo]>24||24===i[Wo]&&(0!==i[Vo]||0!==i[Bo]||0!==i[Uo])?Wo:i[Vo]<0||i[Vo]>59?Vo:i[Bo]<0||i[Bo]>59?Bo:i[Uo]<0||i[Uo]>999?Uo:-1,l(t)._overflowDayOfYear&&(jo>e||e>zo)&&(e=zo),l(t)._overflowWeeks&&-1===e&&(e=qo),l(t)._overflowWeekday&&-1===e&&(e=Xo),l(t).overflow=e),t}function mt(t){var e,i,o,n,s,r,a=t._i,h=tn.exec(a)||en.exec(a);if(h){for(l(t).iso=!0,e=0,i=nn.length;i>e;e++)if(nn[e][1].exec(h[1])){n=nn[e][0],o=nn[e][2]!==!1;break}if(null==n)return void(t._isValid=!1);if(h[3]){for(e=0,i=sn.length;i>e;e++)if(sn[e][1].exec(h[3])){s=(h[2]||" ")+sn[e][0];break}if(null==s)return void(t._isValid=!1)}if(!o&&null!=s)return void(t._isValid=!1);if(h[4]){if(!on.exec(h[4]))return void(t._isValid=!1);r="Z"}t._f=n+(s||"")+(r||""),Mt(t)}else t._isValid=!1}function ft(t){var i=rn.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(mt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function gt(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 100>t&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function vt(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function yt(t){return bt(t)?366:365}function bt(t){return t%4===0&&t%100!==0||t%400===0}function _t(){return bt(this.year())}function wt(t,e,i){var o=7+e-i,n=(7+vt(t,0,o).getUTCDay()-e)%7;return-n+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return 0>=d?(s=t-1,r=yt(s)+d):d>yt(t)?(s=t+1,r=d-yt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function Dt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return 1>r?(n=t.year()-1,o=r+kt(n,e,i)):r>kt(t.year(),e,i)?(o=r-kt(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function kt(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(yt(t)-o+n)/7}function St(t,e,i){return null!=t?t:null!=e?e:i}function Ct(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function Ot(t){var e,i,o,n,s=[];if(!t._d){for(o=Ct(t),t._w&&null==t._a[zo]&&null==t._a[Go]&&Tt(t),t._dayOfYear&&(n=St(t._a[jo],o[jo]),t._dayOfYear>yt(n)&&(l(t)._overflowDayOfYear=!0),i=vt(n,0,t._dayOfYear),t._a[Go]=i.getUTCMonth(),t._a[zo]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Wo]&&0===t._a[Vo]&&0===t._a[Bo]&&0===t._a[Uo]&&(t._nextDay=!0,t._a[Wo]=0),t._d=(t._useUTC?vt:gt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Wo]=24)}}function Tt(t){var e,i,o,n,s,r,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=St(e.GG,t._a[jo],Dt(Ft(),1,4).year),o=St(e.W,1),n=St(e.E,1),(1>n||n>7)&&(h=!0)):(s=t._locale._week.dow,r=t._locale._week.doy,i=St(e.gg,t._a[jo],Dt(Ft(),s,r).year),o=St(e.w,1),null!=e.d?(n=e.d,(0>n||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s),1>o||o>kt(i,s,r)?l(t)._overflowWeeks=!0:null!=h?l(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[jo]=a.year,t._dayOfYear=a.dayOfYear)}function Mt(t){if(t._f===e.ISO_8601)return void mt(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=X(t._f,t._locale).match(vo)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),_o[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),et(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[Wo]<=12&&t._a[Wo]>0&&(l(t).bigHour=void 0),l(t).parsedDateParts=t._a.slice(0),l(t).meridiem=t._meridiem,t._a[Wo]=Et(t._locale,t._a[Wo],t._meridiem),Ot(t),pt(t)}function Et(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function Pt(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function At(t){if(!t._d){var e=H(t._i);t._a=s([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),Ot(t)}}function Nt(t){var e=new f(pt(It(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function It(t){var e=t._i,i=t._f;return t._locale=t._locale||I(t._l),null===e||void 0===i&&""===e?c({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),g(e)?new f(pt(e)):(o(i)?Pt(t):i?Mt(t):n(e)?t._d=e:Rt(t),u(t)||(t._d=null),t))}function Rt(t){var i=t._i;void 0===i?t._d=new Date(e.now()):n(i)?t._d=new Date(i.valueOf()):"string"==typeof i?ft(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),Ot(t)):"object"==typeof i?At(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Lt(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,Nt(s)}function Ft(t,e,i,o){return Lt(t,e,i,o,!1)}function Ht(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Ft();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+W(~~(t/60),2)+e+W(~~t%60,2)})}function Vt(t,e){var i=(e||"").match(t)||[],o=i[i.length-1]||[],n=(o+"").match(un)||["-",0,0],s=+(60*n[1])+y(n[2]);return"+"===n[0]?s:-s}function Bt(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(g(t)||n(t)?t.valueOf():Ft(t).valueOf())-o.valueOf(),o._d.setTime(o._d.valueOf()+s),e.updateOffset(o,!1),o):Ft(t).local()}function Ut(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function qt(t,i){var o,n=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=Vt(Ro,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=Ut(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?le(this,ne(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:Ut(this):null!=t?this:NaN}function Xt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Zt(t){return this.utcOffset(0,t)}function Kt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ut(this),"m")),this}function Jt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Vt(Io,this._i)),this}function Qt(t){return this.isValid()?(t=t?Ft(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function $t(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function te(){if(!p(this._isDSTShifted))return this._isDSTShifted;var t={};if(m(t,this),t=It(t),t._a){var e=t._isUTC?h(t._a):Ft(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function ee(){return this.isValid()?!this._isUTC:!1}function ie(){return this.isValid()?this._isUTC:!1}function oe(){return this.isValid()?this._isUTC&&0===this._offset:!1}function ne(t,e){var i,o,n,s=t,a=null;return zt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=cn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:y(a[zo])*i,h:y(a[Wo])*i,m:y(a[Vo])*i,s:y(a[Bo])*i,ms:y(a[Uo])*i}):(a=pn.exec(t))?(i="-"===a[1]?-1:1,s={y:se(a[2],i),M:se(a[3],i),w:se(a[4],i), +d:se(a[5],i),h:se(a[6],i),m:se(a[7],i),s:se(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=ae(Ft(s.from),Ft(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Gt(s),zt(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function se(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function re(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function ae(t,e){var i;return t.isValid()&&e.isValid()?(e=Bt(e,t),t.isBefore(e)?i=re(t,e):(i=re(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function he(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function de(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(x(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=ne(i,o),le(this,n,t),this}}function le(t,i,o,n){var s=i._milliseconds,r=he(i._days),a=he(i._months);t.isValid()&&(n=null==n?!0:n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&G(t,"Date",j(t,"Date")+r*o),a&&at(t,j(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function ue(t,e){var i=t||Ft(),o=Bt(i,this).startOf("day"),n=this.diff(o,"days",!0),s=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse",r=e&&(D(e[s])?e[s]():e[s]);return this.format(r||this.localeData().calendar(s,this,Ft(i)))}function ce(){return new f(this)}function pe(t,e){var i=g(t)?t:Ft(t);return this.isValid()&&i.isValid()?(e=F(p(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)||0}function we(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function xe(){var t=this.clone().utc();return 0s&&(e=s),Xe.call(this,t,e,i,o,n))}function Xe(t,e,i,o,n){var s=xt(t,e,i,o,n),r=vt(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ze(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ke(t){return Dt(t,this._week.dow,this._week.doy).week}function Je(){return this._week.dow}function Qe(){return this._week.doy}function $e(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function ti(t){var e=Dt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ei(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function ii(t,e){return o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function oi(t){return this._weekdaysShort[t.day()]}function ni(t){return this._weekdaysMin[t.day()]}function si(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;7>o;++o)s=h([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=mo.call(this._weekdaysParse,r),-1!==n?n:null):"ddd"===e?(n=mo.call(this._shortWeekdaysParse,r),-1!==n?n:null):(n=mo.call(this._minWeekdaysParse,r),-1!==n?n:null):"dddd"===e?(n=mo.call(this._weekdaysParse,r),-1!==n?n:(n=mo.call(this._shortWeekdaysParse,r),-1!==n?n:(n=mo.call(this._minWeekdaysParse,r),-1!==n?n:null))):"ddd"===e?(n=mo.call(this._shortWeekdaysParse,r),-1!==n?n:(n=mo.call(this._weekdaysParse,r),-1!==n?n:(n=mo.call(this._minWeekdaysParse,r),-1!==n?n:null))):(n=mo.call(this._minWeekdaysParse,r),-1!==n?n:(n=mo.call(this._weekdaysParse,r),-1!==n?n:(n=mo.call(this._shortWeekdaysParse,r),-1!==n?n:null)))}function ri(t,e,i){var o,n,s;if(this._weekdaysParseExact)return si.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;7>o;o++){if(n=h([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function ai(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ei(t,this.localeData()),this.add(t-e,"d")):e}function hi(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function di(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:NaN}function li(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pi.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex}function ui(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pi.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}function ci(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pi.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}function pi(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],d=[],l=[];for(e=0;7>e;e++)i=h([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),d.push(s),l.push(o),l.push(n),l.push(s);for(r.sort(t),a.sort(t),d.sort(t),l.sort(t),e=0;7>e;e++)a[e]=Q(a[e]),d[e]=Q(d[e]),l[e]=Q(l[e]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function mi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function fi(){return this.hours()%12||12}function gi(){return this.hours()||24}function vi(t,e){V(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function yi(t,e){return e._meridiemParse}function bi(t){return"p"===(t+"").toLowerCase().charAt(0)}function _i(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function wi(t,e){e[Uo]=y(1e3*("0."+t))}function xi(){return this._isUTC?"UTC":""}function Di(){return this._isUTC?"Coordinated Universal Time":""}function ki(t){return Ft(1e3*t)}function Si(){return Ft.apply(null,arguments).parseZone()}function Ci(t,e,i){var o=this._calendar[t];return D(o)?o.call(e,i):o}function Oi(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function Ti(){return this._invalidDate}function Mi(t){return this._ordinal.replace("%d",t)}function Ei(t){return t}function Pi(t,e,i,o){var n=this._relativeTime[i];return D(n)?n(t,e,i,o):n.replace(/%d/i,t)}function Ai(t,e){var i=this._relativeTime[t>0?"future":"past"];return D(i)?i(e):i.replace(/%s/i,e)}function Ni(t,e,i,o){var n=I(),s=h().set(o,e);return n[i](s,t)}function Ii(t,e,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return Ni(t,e,i,"month");var o,n=[];for(o=0;12>o;o++)n[o]=Ni(t,o,i,"month");return n}function Ri(t,e,i,o){"boolean"==typeof t?("number"==typeof e&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,"number"==typeof e&&(i=e,e=void 0),e=e||"");var n=I(),s=t?n._week.dow:0;if(null!=i)return Ni(e,(i+s)%7,o,"day");var r,a=[];for(r=0;7>r;r++)a[r]=Ni(e,(r+s)%7,o,"day");return a}function Li(t,e){return Ii(t,e,"months")}function Fi(t,e){return Ii(t,e,"monthsShort")}function Hi(t,e,i){return Ri(t,e,i,"weekdays")}function Yi(t,e,i){return Ri(t,e,i,"weekdaysShort")}function ji(t,e,i){return Ri(t,e,i,"weekdaysMin")}function Gi(){var t=this._data;return this._milliseconds=jn(this._milliseconds),this._days=jn(this._days),this._months=jn(this._months),t.milliseconds=jn(t.milliseconds),t.seconds=jn(t.seconds),t.minutes=jn(t.minutes),t.hours=jn(t.hours),t.months=jn(t.months),t.years=jn(t.years),this}function zi(t,e,i,o){var n=ne(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Wi(t,e){return zi(this,t,e,1)}function Vi(t,e){return zi(this,t,e,-1)}function Bi(t){return 0>t?Math.floor(t):Math.ceil(t)}function Ui(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||0>=s&&0>=r&&0>=a||(s+=864e5*Bi(Xi(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=v(s/1e3),h.seconds=t%60,e=v(t/60),h.minutes=e%60,i=v(e/60),h.hours=i%24,r+=v(i/24),n=v(qi(r)),a+=n,r-=Bi(Xi(n)),o=v(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function qi(t){return 4800*t/146097}function Xi(t){return 146097*t/4800}function Zi(t){var e,i,o=this._milliseconds;if(t=F(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+qi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Xi(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function Ki(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*y(this._months/12)}function Ji(t){return function(){return this.as(t)}}function Qi(t){return t=F(t),this[t+"s"]()}function $i(t){return function(){return this._data[t]}}function to(){return v(this.days()/7)}function eo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function io(t,e,i){var o=ne(t).abs(),n=is(o.as("s")),s=is(o.as("m")),r=is(o.as("h")),a=is(o.as("d")),h=is(o.as("M")),d=is(o.as("y")),l=n=s&&["m"]||s=r&&["h"]||r=a&&["d"]||a=h&&["M"]||h=d&&["y"]||["yy",d];return l[2]=e,l[3]=+t>0,l[4]=i,eo.apply(null,l)}function oo(t,e){return void 0===os[t]?!1:void 0===e?os[t]:(os[t]=e,!0)}function no(t){var e=this.localeData(),i=io(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function so(){var t,e,i,o=ns(this._milliseconds)/1e3,n=ns(this._days),s=ns(this._months);t=v(o/60),e=v(t/60),o%=60,t%=60,i=v(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(0>c?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var ro,ao;ao=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;i>o;o++)if(o in e&&t.call(this,e[o],o,e))return!0;return!1};var ho=e.momentProperties=[],lo=!1,uo={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var co;co=Object.keys?Object.keys:function(t){var e,i=[];for(e in t)r(t,e)&&i.push(e);return i};var po,mo,fo={},go={},vo=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,yo=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,bo={},_o={},wo=/\d/,xo=/\d\d/,Do=/\d{3}/,ko=/\d{4}/,So=/[+-]?\d{6}/,Co=/\d\d?/,Oo=/\d\d\d\d?/,To=/\d\d\d\d\d\d?/,Mo=/\d{1,3}/,Eo=/\d{1,4}/,Po=/[+-]?\d{1,6}/,Ao=/\d+/,No=/[+-]?\d+/,Io=/Z|[+-]\d\d:?\d\d/gi,Ro=/Z|[+-]\d\d(?::?\d\d)?/gi,Lo=/[+-]?\d+(\.\d{1,3})?/,Fo=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ho={},Yo={},jo=0,Go=1,zo=2,Wo=3,Vo=4,Bo=5,Uo=6,qo=7,Xo=8;mo=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e=t?""+t:"+"+t}),V(0,["YY",2],0,function(){return this.year()%100}),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"year"),V(0,["YYYYYY",6,!0],0,"year"),L("year","y"),Z("Y",No),Z("YY",Co,xo),Z("YYYY",Eo,ko),Z("YYYYY",Po,So),Z("YYYYYY",Po,So),$(["YYYYY","YYYYYY"],jo),$("YYYY",function(t,i){i[jo]=2===t.length?e.parseTwoDigitYear(t):y(t)}),$("YY",function(t,i){i[jo]=e.parseTwoDigitYear(t)}),$("Y",function(t,e){e[jo]=parseInt(t,10)}),e.parseTwoDigitYear=function(t){return y(t)+(y(t)>68?1900:2e3)};var an=Y("FullYear",!0);e.ISO_8601=function(){};var hn=w("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ft.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:c()}),dn=w("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ft.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:c()}),ln=function(){return Date.now?Date.now():+new Date};Wt("Z",":"),Wt("ZZ",""),Z("Z",Ro),Z("ZZ",Ro),$(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Vt(Ro,t)});var un=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var cn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,pn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;ne.fn=Gt.prototype;var mn=de(1,"add"),fn=de(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var gn=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});V(0,["gg",2],0,function(){return this.weekYear()%100}),V(0,["GG",2],0,function(){return this.isoWeekYear()%100}),ze("gggg","weekYear"),ze("ggggg","weekYear"),ze("GGGG","isoWeekYear"),ze("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),Z("G",No),Z("g",No),Z("GG",Co,xo),Z("gg",Co,xo),Z("GGGG",Eo,ko),Z("gggg",Eo,ko),Z("GGGGG",Po,So),Z("ggggg",Po,So),tt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=y(t)}),tt(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),V("Q",0,"Qo","quarter"),L("quarter","Q"),Z("Q",wo),$("Q",function(t,e){e[Go]=3*(y(t)-1)}),V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),Z("w",Co),Z("ww",Co,xo),Z("W",Co),Z("WW",Co,xo),tt(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=y(t)});var vn={dow:0,doy:6};V("D",["DD",2],"Do","date"),L("date","D"),Z("D",Co),Z("DD",Co,xo),Z("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),$(["D","DD"],zo),$("Do",function(t,e){e[zo]=y(t.match(Co)[0],10)});var yn=Y("Date",!0);V("d",0,"do","day"),V("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),V("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),V("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),Z("d",Co),Z("e",Co),Z("E",Co),Z("dd",function(t,e){return e.weekdaysMinRegex(t)}),Z("ddd",function(t,e){return e.weekdaysShortRegex(t)}),Z("dddd",function(t,e){return e.weekdaysRegex(t)}),tt(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:l(i).invalidWeekday=t}),tt(["d","e","E"],function(t,e,i,o){e[o]=y(t)});var bn="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),_n="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),wn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),xn=Fo,Dn=Fo,kn=Fo;V("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),Z("DDD",Mo),Z("DDDD",Do),$(["DDD","DDDD"],function(t,e,i){i._dayOfYear=y(t)}),V("H",["HH",2],0,"hour"),V("h",["hh",2],0,fi),V("k",["kk",2],0,gi),V("hmm",0,0,function(){return""+fi.apply(this)+W(this.minutes(),2)}),V("hmmss",0,0,function(){return""+fi.apply(this)+W(this.minutes(),2)+W(this.seconds(),2)}),V("Hmm",0,0,function(){return""+this.hours()+W(this.minutes(),2)}),V("Hmmss",0,0,function(){return""+this.hours()+W(this.minutes(),2)+W(this.seconds(),2)}),vi("a",!0),vi("A",!1),L("hour","h"),Z("a",yi),Z("A",yi),Z("H",Co),Z("h",Co),Z("HH",Co,xo),Z("hh",Co,xo),Z("hmm",Oo),Z("hmmss",To),Z("Hmm",Oo),Z("Hmmss",To),$(["H","HH"],Wo),$(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),$(["h","hh"],function(t,e,i){e[Wo]=y(t),l(i).bigHour=!0}),$("hmm",function(t,e,i){var o=t.length-2;e[Wo]=y(t.substr(0,o)),e[Vo]=y(t.substr(o)),l(i).bigHour=!0}),$("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Wo]=y(t.substr(0,o)),e[Vo]=y(t.substr(o,2)),e[Bo]=y(t.substr(n)),l(i).bigHour=!0}),$("Hmm",function(t,e,i){var o=t.length-2;e[Wo]=y(t.substr(0,o)),e[Vo]=y(t.substr(o))}),$("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Wo]=y(t.substr(0,o)),e[Vo]=y(t.substr(o,2)),e[Bo]=y(t.substr(n))});var Sn=/[ap]\.?m?\.?/i,Cn=Y("Hours",!0);V("m",["mm",2],0,"minute"),L("minute","m"),Z("m",Co),Z("mm",Co,xo),$(["m","mm"],Vo);var On=Y("Minutes",!1);V("s",["ss",2],0,"second"),L("second","s"),Z("s",Co),Z("ss",Co,xo),$(["s","ss"],Bo);var Tn=Y("Seconds",!1);V("S",0,0,function(){return~~(this.millisecond()/100)}),V(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,function(){return 10*this.millisecond()}),V(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),V(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),V(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),V(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),V(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),Z("S",Mo,wo),Z("SS",Mo,xo),Z("SSS",Mo,Do);var Mn;for(Mn="SSSS";Mn.length<=9;Mn+="S")Z(Mn,Ao);for(Mn="S";Mn.length<=9;Mn+="S")$(Mn,wi);var En=Y("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var Pn=f.prototype;Pn.add=mn,Pn.calendar=ue,Pn.clone=ce,Pn.diff=be,Pn.endOf=Pe,Pn.format=De,Pn.from=ke,Pn.fromNow=Se,Pn.to=Ce,Pn.toNow=Oe,Pn.get=z,Pn.invalidAt=je,Pn.isAfter=pe,Pn.isBefore=me,Pn.isBetween=fe,Pn.isSame=ge,Pn.isSameOrAfter=ve,Pn.isSameOrBefore=ye,Pn.isValid=He,Pn.lang=gn,Pn.locale=Te,Pn.localeData=Me,Pn.max=dn,Pn.min=hn,Pn.parsingFlags=Ye,Pn.set=z,Pn.startOf=Ee,Pn.subtract=fn,Pn.toArray=Re,Pn.toObject=Le,Pn.toDate=Ie,Pn.toISOString=xe,Pn.toJSON=Fe,Pn.toString=we,Pn.unix=Ne,Pn.valueOf=Ae,Pn.creationData=Ge,Pn.year=an,Pn.isLeapYear=_t,Pn.weekYear=We,Pn.isoWeekYear=Ve,Pn.quarter=Pn.quarters=Ze,Pn.month=ht,Pn.daysInMonth=dt,Pn.week=Pn.weeks=$e,Pn.isoWeek=Pn.isoWeeks=ti,Pn.weeksInYear=Ue,Pn.isoWeeksInYear=Be,Pn.date=yn,Pn.day=Pn.days=ai,Pn.weekday=hi,Pn.isoWeekday=di,Pn.dayOfYear=mi,Pn.hour=Pn.hours=Cn,Pn.minute=Pn.minutes=On,Pn.second=Pn.seconds=Tn,Pn.millisecond=Pn.milliseconds=En,Pn.utcOffset=qt,Pn.utc=Zt,Pn.local=Kt,Pn.parseZone=Jt,Pn.hasAlignedHourOffset=Qt,Pn.isDST=$t,Pn.isDSTShifted=te,Pn.isLocal=ee,Pn.isUtcOffset=ie,Pn.isUtc=oe,Pn.isUTC=oe,Pn.zoneAbbr=xi,Pn.zoneName=Di,Pn.dates=w("dates accessor is deprecated. Use date instead.",yn),Pn.months=w("months accessor is deprecated. Use month instead",ht),Pn.years=w("years accessor is deprecated. Use year instead",an),Pn.zone=w("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Xt);var An=Pn,Nn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},In={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Rn="Invalid date",Ln="%d",Fn=/\d{1,2}/,Hn={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"},Yn=O.prototype;Yn._calendar=Nn,Yn.calendar=Ci,Yn._longDateFormat=In,Yn.longDateFormat=Oi,Yn._invalidDate=Rn,Yn.invalidDate=Ti,Yn._ordinal=Ln,Yn.ordinal=Mi,Yn._ordinalParse=Fn,Yn.preparse=Ei,Yn.postformat=Ei,Yn._relativeTime=Hn,Yn.relativeTime=Pi,Yn.pastFuture=Ai,Yn.set=S,Yn.months=ot,Yn._months=Ko,Yn.monthsShort=nt,Yn._monthsShort=Jo,Yn.monthsParse=rt,Yn._monthsRegex=$o,Yn.monthsRegex=ut,Yn._monthsShortRegex=Qo,Yn.monthsShortRegex=lt,Yn.week=Ke,Yn._week=vn,Yn.firstDayOfYear=Qe,Yn.firstDayOfWeek=Je,Yn.weekdays=ii,Yn._weekdays=bn,Yn.weekdaysMin=ni,Yn._weekdaysMin=wn,Yn.weekdaysShort=oi,Yn._weekdaysShort=_n,Yn.weekdaysParse=ri,Yn._weekdaysRegex=xn,Yn.weekdaysRegex=li,Yn._weekdaysShortRegex=Dn,Yn.weekdaysShortRegex=ui,Yn._weekdaysMinRegex=kn,Yn.weekdaysMinRegex=ci,Yn.isPM=bi,Yn._meridiemParse=Sn,Yn.meridiem=_i,P("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===y(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=w("moment.lang is deprecated. Use moment.locale instead.",P),e.langData=w("moment.langData is deprecated. Use moment.localeData instead.",I);var jn=Math.abs,Gn=Ji("ms"),zn=Ji("s"),Wn=Ji("m"),Vn=Ji("h"),Bn=Ji("d"),Un=Ji("w"),qn=Ji("M"),Xn=Ji("y"),Zn=$i("milliseconds"),Kn=$i("seconds"),Jn=$i("minutes"),Qn=$i("hours"),$n=$i("days"),ts=$i("months"),es=$i("years"),is=Math.round,os={s:45,m:45,h:22,d:26,M:11},ns=Math.abs,ss=Gt.prototype;ss.abs=Gi,ss.add=Wi,ss.subtract=Vi,ss.as=Zi,ss.asMilliseconds=Gn,ss.asSeconds=zn,ss.asMinutes=Wn,ss.asHours=Vn,ss.asDays=Bn,ss.asWeeks=Un,ss.asMonths=qn,ss.asYears=Xn,ss.valueOf=Ki,ss._bubble=Ui,ss.get=Qi,ss.milliseconds=Zn,ss.seconds=Kn,ss.minutes=Jn,ss.hours=Qn,ss.days=$n,ss.weeks=to,ss.months=ts,ss.years=es,ss.humanize=no,ss.toISOString=so,ss.toString=so,ss.toJSON=so,ss.locale=Te,ss.localeData=Me,ss.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",so),ss.lang=gn,V("X",0,0,"unix"),V("x",0,0,"valueOf"),Z("x",No),Z("X",Lo),$("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),$("x",function(t,e,i){i._d=new Date(y(t))}),e.version="2.13.0",i(Ft),e.fn=An,e.min=Yt,e.max=jt,e.now=ln,e.utc=h,e.unix=ki,e.months=Li,e.isDate=n,e.locale=P,e.invalid=c,e.duration=ne,e.isMoment=g,e.weekdays=Hi,e.parseZone=Si,e.localeData=I,e.isDuration=zt,e.monthsShort=Fi,e.weekdaysMin=ji,e.defineLocale=A,e.updateLocale=N,e.locales=R,e.weekdaysShort=Yi,e.normalizeUnits=F,e.relativeTimeThreshold=oo,e.prototype=An;var rs=e;return rs})}).call(e,i(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=5},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){16>n&&(e[o+n++]=u[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:f,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:v+1,d=a-g+(h-v)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>g)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,v=h,f=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||m,p=0;6>p;p++)s[n+p]=c[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;256>c;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),m=[1|p[0],p[1],p[2],p[3],p[4],p[5]],f=16383&(p[6]<<8|p[7]),g=0,v=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size), +a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(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=Object.keys(this._options.type),o=0,n=i.length;n>o;o++){var s=i[o],r=this._options.type[s];"Date"==r||"ISODate"==r||"ASPDate"==r?this._type[s]="Date":this._type[s]=r}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(9);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=r.extend(this,{replace:["add","update","remove"]})),"object"===n(t.queue)&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0,s=o.length;s>n;n++){var r=o[n];r.callback&&r.callback(t,e,i||null)}},o.prototype.add=function(t,e){var i,o=[],n=this;if(Array.isArray(t))for(var s=0,r=t.length;r>s;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],r=[],a=this,h=a._fieldId,d=function(t){var e=t[h];if(a._data[e]){var d=s.extend({},a._data[e]);e=a._updateItem(t),o.push(e),r.push(t),n.push(d)}else e=a._addItem(t),i.push(e)};if(Array.isArray(t))for(var l=0,u=t.length;u>l;l++)t[l]instanceof Object?d(t[l]):console.warn("Ignoring input item, which is not an object at index "+l);else{if(!(t instanceof Object))throw new Error("Unknown dataType");d(t)}if(i.length&&this._trigger("add",{items:i},e),o.length){var c={items:o,oldData:n,data:r};this._trigger("update",c,e)}return i.concat(o)},o.prototype.get=function(t){var e,i,o,n=this,r=s.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,c,p,m=o&&o.type||this._options.type,f=o&&o.filter,g=[];if(void 0!=e)d=n._getItem(e,m),d&&f&&!f(d)&&(d=null);else if(void 0!=i)for(c=0,p=i.length;p>c;c++)d=n._getItem(i[c],m),f&&!f(d)||g.push(d);else for(l=Object.keys(this._data),c=0,p=l.length;p>c;c++)u=l[c],d=n._getItem(u,m),f&&!f(d)||g.push(d);if(o&&o.order&&void 0==e&&this._sort(g,o.order),o&&o.fields){var v=o.fields;if(void 0!=e)d=this._filterFields(d,v);else for(c=0,p=g.length;p>c;c++)g[c]=this._filterFields(g[c],v)}if("Object"==a){var y,b={};for(c=0,p=g.length;p>c;c++)y=g[c],b[y.id]=y;return b}return void 0!=e?d:g},o.prototype.getIds=function(t){var e,i,o,n,s,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=Object.keys(r),u=[];if(a)if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&s.push(n);for(this._sort(s,h),e=0,i=s.length;i>e;e++)u.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&u.push(n[this._fieldId]);else if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)u.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=r[o],u.push(n[this._fieldId]);return u},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=this._data,d=Object.keys(h);if(e&&e.order){var l=this.get(e);for(i=0,o=l.length;o>i;i++)n=l[i],s=n[this._fieldId],t(n,s)}else for(i=0,o=d.length;o>i;i++)s=d[i],n=this._getItem(s,a),r&&!r(n)||t(n,s)},o.prototype.map=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=[],d=this._data,l=Object.keys(d);for(i=0,o=l.length;o>i;i++)n=l[i],s=this._getItem(n,a),r&&!r(s)||h.push(t(s,n));return e&&e.order&&this._sort(h,e.order),h},o.prototype._filterFields=function(t,e){if(!t)return t;var i,o,n={},s=Object.keys(t),r=s.length;if(Array.isArray(e))for(i=0;r>i;i++)o=s[i],-1!=e.indexOf(o)&&(n[o]=t[o]);else for(i=0;r>i;i++)o=s[i],e.hasOwnProperty(o)&&(n[e[o]]=t[o]);return n},o.prototype._sort=function(t,e){if(s.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(s.isNumber(t)||s.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(void 0!==e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||d>r)&&(s=h,r=d)}return s},o.prototype.min=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||r>d)&&(s=h,r=d)}return s},o.prototype.distinct=function(t){var e,i,o,n=this._data,r=Object.keys(n),a=[],h=this._options.type&&this._options.type[t]||null,d=0;for(e=0,o=r.length;o>e;e++){var l=r[e],u=n[l],c=u[t],p=!1;for(i=0;d>i;i++)if(a[i]==c){p=!0;break}p||void 0===c||(a[d]=c,d++)}if(h)for(e=0,o=a.length;o>e;e++)a[e]=s.convert(a[e],h);return a},o.prototype._addItem=function(t){var e=t[this._fieldId];if(void 0!=e){if(this._data[e])throw new Error("Cannot add item: item with id "+e+" already exists")}else e=s.randomUUID(),t[this._fieldId]=e;var i,o,n={},r=Object.keys(t);for(i=0,o=r.length;o>i;i++){var a=r[i],h=this._type[a];n[a]=s.convert(t[a],h)}return this._data[e]=n,this.length++,e},o.prototype._getItem=function(t,e){var i,o,n,r,a=this._data[t];if(!a)return null;var h={},d=Object.keys(a);if(e)for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=s.convert(o,e[i]);else for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=o;return h},o.prototype._updateItem=function(t){var e=t[this._fieldId];if(void 0==e)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(t)+")");var i=this._data[e];if(!i)throw new Error("Cannot update item: no item with id "+e+" found");for(var o=Object.keys(t),n=0,r=o.length;r>n;n++){var a=o[n],h=this._type[a];i[a]=s.convert(t[a],h)}return e},t.exports=o},function(t,e){function i(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}i.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},i.extend=function(t,e){var o=new i(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){o.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(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 n=i(1),s=i(8);o.prototype.setData=function(t){var e,i,o,n;if(this._data&&(this._data.off&&this._data.off("*",this.listener),e=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:e})),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}),o=0,n=e.length;n>o;o++)i=e[o],this._ids[i]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){var t,e,i,o=this._data.getIds({filter:this._options&&this._options.filter}),n=Object.keys(this._ids),s={},r=[],a=[];for(e=0,i=o.length;i>e;e++)t=o[e],s[t]=!0,this._ids[t]||(r.push(t),this._ids[t]=!0);for(e=0,i=n.length;i>e;e++)t=n[e],s[t]||(a.push(t),delete this._ids[t]);this.length+=r.length-a.length,r.length&&this._trigger("add",{items:r}),a.length&&this._trigger("remove",{items:a})},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r||"Array"==r?(e=arguments[0],i=arguments[1],o=arguments[2]):(i=arguments[0],o=arguments[1]);var a=n.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(t){return s._options.filter(t)&&i.filter(t)});var h=[];return void 0!=e&&h.push(e),h.push(a),h.push(o),this._data&&this._data.get.apply(this._data,h)},o.prototype.getIds=function(t){var e;if(this._data){var i,o=this._options.filter;i=t&&t.filter?o?function(e){return o(e)&&t.filter(e)}:t.filter:o,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},o.prototype.map=function(t,e){var i=[];if(this._data){var o,n=this._options.filter;o=e&&e.filter?n?function(t){return n(t)&&e.filter(t)}:e.filter:n,i=this._data.map(t,{filter:o,order:e&&e.order})}else i=[];return i},o.prototype.getDataSet=function(){for(var t=this;t instanceof o;)t=t._data;return t||null},o.prototype._onEvent=function(t,e,i){var o,n,s,r,a=e&&e.items,h=this._data,d=[],l=[],u=[],c=[];if(a&&h){switch(t){case"add":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e,i,o){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof u||i instanceof c)&&i instanceof Object){var s=o;o=i,i=s}var r=this;this.defaultOptions={start:null,end:null,autoResize:!0,throttleRedraw:0,orientation:{axis:"bottom",item:"bottom"},rtl:!1,moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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 r.timeAxis.step.scale},getStep:function(){return r.timeAxis.step.step},toScreen:r._toScreen.bind(r),toGlobalScreen:r._toGlobalScreen.bind(r),toTime:r._toTime.bind(r),toGlobalTime:r._toGlobalTime.bind(r)}},this.range=new p(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new f(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new g(this.body),this.components.push(this.currentTime),this.itemSet=new y(this.body,this.options),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){r.emit("click",r.getEventProperties(t))}),this.on("doubletap",function(t){r.emit("doubleClick",r.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){r.emit("contextmenu",r.getEventProperties(t))},this.fitDone=!1,this.on("changed",function(){if(null!=this.itemsData&&!r.fitDone)if(r.fitDone=!0,void 0!=r.options.start||void 0!=r.options.end){if(void 0==r.options.start||void 0==r.options.end)var t=r.getItemRange();var e=void 0!=r.options.start?r.options.start:t.min,i=void 0!=r.options.end?r.options.end:t.max;r.setWindow(e,i,{animation:!1})}else r.fit({animation:!1})}),o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(12),r=o(s),a=i(18),h=o(a),d=(i(19),i(14),i(2)),l=i(1),u=i(8),c=i(10),p=i(20),m=i(23),f=i(34),g=i(39),v=i(37),y=i(24),b=i(18).printStyle,_=i(40).allOptions,w=i(40).configureOptions;n.prototype=new m,n.prototype._createConfigurator=function(){return new r["default"](this,this.dom.container,w)},n.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},n.prototype.setOptions=function(t){var e=h["default"].validate(t,_);if(e===!0&&console.log("%cErrors have been found in the supplied options object.",b),m.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;if(i){var o=this.getSelection();this.setItems(null),this.setItems(i),this.setSelection(o)}}},n.prototype.setItems=function(t){var e;e=t?t instanceof u||t instanceof c?t:new u(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e)},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof c?t:new u(t):null,this.groupsData=e,this.itemSet.setGroups(e)},n.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},n.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},n.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},n.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=t&&void 0!==t.animation?t.animation:!0,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=null!==e.min?e.min.valueOf():null,o=null!==e.max?e.max.valueOf():null,n=null,s=null;if(null!=i&&null!=o){var r,a,h,d,u;!function(){var e=function(t){return l.convert(t.data.start,"Date").valueOf()},c=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()};r=o-i,0>=r&&(r=10),a=r/t.props.center.width,l.forEach(t.itemSet.items,function(t){t.show(),t.repositionX();var r=e(t),h=c(t);if(this.options.rtl)var d=r-(t.getWidthRight()+10)*a,l=h+(t.getWidthLeft()+10)*a;else var d=r-(t.getWidthLeft()+10)*a,l=h+(t.getWidthRight()+10)*a;i>d&&(i=d,n=t),l>o&&(o=l,s=t)}.bind(t)),n&&s&&(h=n.getWidthLeft()+10,d=s.getWidthRight()+10,u=t.props.center.width-h-d,u>0&&(t.options.rtl?(i=e(n)-d*r/u,o=c(s)+h*r/u):(i=e(n)-h*r/u,o=c(s)+d*r/u)))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||t>o)&&(t=o),(null===e||n>e)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=v.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),c=this._toTime(o),p=h?h(c,d,u):c,m=l.getTarget(t),f=null;return null!=s?f="item":null!=a?f="custom-time":l.hasParent(m,this.timeAxis.dom.foreground)?f="axis":this.timeAxis2&&l.hasParent(m,this.timeAxis2.dom.foreground)?f="axis":l.hasParent(m,this.itemSet.dom.labelSet)?f="group-label":l.hasParent(m,this.currentTime.bar)?f="current-time":l.hasParent(m,this.dom.center)&&(f="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:f,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:c,snappedTime:p}},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?o-1:0),r=1;o>r;r++)n[r-1]=e[r];return n.forEach(function(t){s.appendChild(t)}),i.domElements.push(s),{v:i.domElements.length}}();if("object"===("undefined"==typeof a?"undefined":s(a)))return a.v}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;se&&n>e*u?(a.min=Math.ceil(e*u),l=a.min,d="range increased"):n>e/u&&(a.min=Math.ceil(e/u),l=a.min,d="range increased"),e*u>s&&1!==s&&(a.max=Math.ceil(e*u),l=a.max,d="range increased"),a.value=e}else a.value=o;var c=document.createElement("input");c.className="vis-configuration vis-config-rangeinput",c.value=a.value;var p=this;a.onchange=function(){c.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){c.value=this.value};var m=this._makeLabel(i[i.length-1],i),f=this._makeItem(i,m,a,c);""!==d&&this.popupHistory[f]!==l&&(this.popupHistory[f]=l,this._setupPopup(d,f))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCountervar options = "+JSON.stringify(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;es;s++)for(r=0;rp?p+1:p;var m=l/this.r,f=a.RGBToHSV(this.color.r,this.color.g,this.color.b);f.h=p,f.s=m;var g=a.HSVToRGB(f.h,f.s,f.v);g.a=this.color.a,this.color=g,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h},function(t,e,i){if("undefined"!=typeof window){var o=i(15),n=window.Hammer||i(16);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.6 - 2015-12-23 * http://hammerjs.github.io/ * * Copyright (c) 2015 Jorik Tangelder; * Licensed under the license */ -!function(n,s,r,a){function h(t,e,i){return setTimeout(c(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function p(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ut(o,i)}function c(t,e){return function(){return t.apply(e,arguments)}}function m(t,e){return typeof t==mt?t.apply(e?e[0]||a:a,e):t}function f(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function v(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function S(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=I(o);e.timeStamp=vt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=H(a,h),e.distance=F(a,h),A(i,e),e.offsetDirection=L(e.deltaX,e.deltaY);var d=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=gt(d.x)>gt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?Y(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,P(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function A(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Et&&s.eventType!==Pt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function P(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Nt&&(h>Mt||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=R(h,d,l);o=u.x,n=u.y,i=gt(u.x)>gt(u.y)?u.x:u.y,s=L(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:ft(i/e),y:ft(o/e)}}function R(t,e,i){return{x:e/t||0,y:i/t||0}}function L(t,e){return t===e?It:gt(t)>=gt(e)?0>t?Rt:Lt:0>e?Ft:Ht}function F(t,e,i){i||(i=zt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function H(t,e,i){i||(i=zt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function Y(t,e){return H(e[1],e[0],Wt)+H(t[1],t[0],Wt)}function j(t,e){return F(e[0],e[1],Wt)/F(t[0],t[1],Wt)}function G(){this.evEl=Bt,this.evWin=Ut,this.allow=!0,this.pressed=!1,T.apply(this,arguments)}function z(){this.evEl=Zt,this.evWin=Kt,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function W(){this.evTarget=$t,this.evWin=Qt,this.started=!1,T.apply(this,arguments)}function V(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Pt|Nt)&&(i=D(i.concat(o),"identifier",!0)),[i,o]}function B(){this.evTarget=ee,this.targetIds={},T.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Et|At)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Et)for(n=0;na&&(e.push(t),a=e.length-1):n&(Pt|Nt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Jt={touchstart:Et,touchmove:At,touchend:Pt,touchcancel:Nt},$t="touchstart",Qt="touchstart touchmove touchend touchcancel";p(W,T,{handler:function(t){var e=Jt[t.type];if(e===Et&&(this.started=!0),this.started){var i=V.call(this,t,e);e&(Pt|Nt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var te={touchstart:Et,touchmove:At,touchend:Pt,touchcancel:Nt},ee="touchstart touchmove touchend touchcancel";p(B,T,{handler:function(t){var e=te[t.type],i=U.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(q,T,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Tt;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(Pt|Nt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ie=S(ct.style,"touchAction"),oe=ie!==a,ne="compute",se="auto",re="manipulation",ae="none",he="pan-x",de="pan-y";X.prototype={set:function(t){t==ne&&(t=this.compute()),oe&&this.manager.element.style&&(this.manager.element.style[ie]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),Z(t.join(" "))},preventDefaults:function(t){if(!oe){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=b(o,ae),s=b(o,de),r=b(o,he);if(n){var a=1===t.pointers.length,h=t.distance<2,d=t.deltaTime<250;if(a&&h&&d)return}if(!r||!s)return n||s&&i&Yt||r&&i&jt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var le=1,ue=2,pe=4,ce=8,me=ce,fe=16,ge=32;K.prototype={defaults:{},set:function(t){return ut(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=Q(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=Q(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=Q(t,this),-1===w(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=Q(t,this);var e=w(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;ce>o&&e(i.options.event+J(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=ce&&e(i.options.event+J(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ge)},canEmit:function(){for(var t=0;ts?Rt:Lt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?Ft:Ht,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return tt.prototype.attrTest.call(this,t)&&(this.state&ue||!(this.state&ue)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),p(it,tt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ue)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),p(ot,K,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Pt|Nt)&&!n)this.reset();else if(t.eventType&Et)this.reset(),this._timer=h(function(){this.state=me,this.tryEmit()},e.time,this);else if(t.eventType&Pt)return me;return ge},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===me&&(t&&t.eventType&Pt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=vt(),this.manager.emit(this.options.event,this._input)))}}),p(nt,tt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ue)}}),p(st,tt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|jt,pointers:1},getTouchAction:function(){return et.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|jt)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&jt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&>(e)>this.options.velocity&&t.eventType&Pt},emit:function(t){var e=$(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(rt,K,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),d):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),d):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),d),a=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],s=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var u in i){var p=void 0;if(void 0!==i[u].__type__&&n===!0){var c=t.findInOptions(e,i[u],r.copyAndExtendArray(o,u));s>c.distance&&(a=c.closestMatch,h=c.path,s=c.distance,l=c.indexMatch)}else-1!==u.toLowerCase().indexOf(d)&&(l=u),p=t.levenshteinDistance(e,u),s>p&&(a=u,h=r.copyArray(o),s=p)}return{closestMatch:a,path:h,distance:s,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var r=0;ro;++o)i[o].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){function o(t,e){var i=a().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={rtl:!1,start:null,end:null,moment:a,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",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 n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=i(1),a=(i(17),i(2)),h=i(21),d=i(22);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey","rtl"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,a=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,u=this.end,p="object"===("undefined"==typeof i?"undefined":s(i))&&"duration"in i?i.duration:500,c="object"===("undefined"==typeof i?"undefined":s(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",m=r.easingFunctions[c];if(!m)throw new Error("Unknown easing function "+JSON.stringify(c)+". Choose from: "+Object.keys(r.easingFunctions).join(", "));var f=(new Date).valueOf(),g=!1,v=function _(){if(!h.props.touch.dragging){var t=(new Date).valueOf(),e=t-f,i=m(e/p),s=e>p,r=s||null===n?n:l+(n-l)*i,c=s||null===a?a:u+(a-u)*i;y=h._applyRange(r,c),d.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),g=g||y,y&&h.body.emitter.emit("rangechange",{start:new Date(h.start),end:new Date(h.end),byUser:o}),s?g&&h.body.emitter.emit("rangechanged",{start:new Date(h.start),end:new Date(h.end),byUser:o}):h.animationTimer=setTimeout(_,20)}};return v()}var y=this._applyRange(n,a);if(d.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),y){var b={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",b),this.body.emitter.emit("rangechanged",b)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=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(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&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"))},o.prototype._onDrag=function(t){if(this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var a=i/r*o;else var a=-i/r*o;var h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||p!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l);var c=new Date(this.start),m=new Date(this.end);this.body.emitter.emit("rangechange",{start:c,end:m,byUser:!0})}},o.prototype._onDragEnd=function(t){this.props.touch.dragging&&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}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&(!this.options.zoomKey||t[this.options.zoomKey])){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 o=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){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},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&l==a||(this.props.touch.start=h,this.props.touch.end=l,this.scaleOffset=1-t.scale,r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-r.getAbsoluteLeft(this.body.dom.centerContainer);else var i=r.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.getPointer=function(t,e){return this.options.rtl?{x:r.getAbsoluteRight(e)-t.x,y:t.y-r.getAbsoluteTop(e)}:{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);h==r&&l==a||(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e){function i(t,e){this.options=null,this.props=null}i.prototype.setOptions=function(t){t&&util.extend(this.options,t)},i.prototype.redraw=function(){return!1},i.prototype.destroy=function(){},i.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=i},function(t,e){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var p=0,c=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-p,"days"),c.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),c.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(p,"months"),c.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(p,"years"),c.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;c>d;)switch(i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),o[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:",o[h].repeat)}i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(i);var g=e.isHidden(i.range.start,i.hiddenDates),v=e.isHidden(i.range.end,i.hiddenDates),y=i.range.start,b=i.range.end;1==g.hidden&&(y=1==i.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==i.range.endToFront?v.startDate-1:v.endDate+1),1!=g.hidden&&1!=v.hidden||i.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){o=!0;break}}if(1==o&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(){}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(19),r=i(14),a=i(17),h=i(1),d=(i(8),i(10),i(20),i(24),i(34)),l=i(35),u=i(22),p=i(37);s(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("_change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new r(this.dom.root);var o=this.hammer.get("pinch").set({enable:!0});a.disablePreventDefaultVertically(o),this.hammer.get("pan").set({threshold:5,direction:r.DIRECTION_HORIZONTAL}),this.listeners={};var n=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(n.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),a.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),a.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","throttleRedraw"];if(h.selectiveExtend(e,this.options,t),this.options.rtl){var i=this.dom.leftContainer;this.dom.leftContainer=this.dom.rightContainer,this.dom.rightContainer=i,this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"}if(this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===n(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var o=this.timeAxis2=new d(this.body);o.setOptions=function(t){var e=t?h.extend({},t):{};e.orientation="top",d.prototype.setOptions.call(o,e)},this.components.push(o)}}else if(this.timeAxis2){var s=this.components.indexOf(this.timeAxis2);-1!==s&&this.components.splice(s,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&u.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new l(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var r=h.deepExtend({},this.options);this.components.forEach(function(t){h.deepExtend(r,t.options)}),this.configurator.setModuleOptions({global:r})}this._origRedraw?this._redraw():(this._origRedraw=this._redraw.bind(this),this._redraw=h.throttle(this._origRedraw,this.options.throttleRedraw))},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));return i.length>0?i[0].setCustomTitle(t):void 0},o.prototype.getEventProperties=function(t){return{event:t}},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?h.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new p(this.body,h.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(o,n,s)}},o.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=h.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.clientWidth){u.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(h.addClassName(o.root,"vis-top"),h.removeClassName(o.root,"vis-bottom")):(h.removeClassName(o.root,"vis-top"),h.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=h.option.asSize(e.maxHeight,""),o.root.style.minHeight=h.option.asSize(e.minHeight,""),o.root.style.width=h.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.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+n+i.border.top+i.border.bottom;o.root.style.height=h.option.asSize(e.height,d+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var l=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var p=i.root.width-i.left.width-i.right.width-s;i.center.width=p,i.centerContainer.width=p,i.top.width=p,i.bottom.width=p,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"top"!=e.orientation.item&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var m=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=m,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=m,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=m,o.shadowBottomRight.style.visibility=f;var g=this.props.center.height>this.props.centerContainer.height;this.hammer.get("pan").set({direction:g?r.DIRECTION_ALL:r.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var v=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange();if(this.options.rtl)var e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end);else var i=this.body.util.toScreen(t.start),e=this.body.util.toScreen(t.end);var o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id):h.lefti&&o.push(h.id)}return o},o.prototype._deselect=function(t){ -for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=r.option.asSize,o=this.options,n=o.orientation.item,s=!1,a=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.options.rtl?this.props.right=this.body.domProps.right.width+this.body.domProps.border.right:this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset",s=this._orderGroups()||s;var h=e.end-e.start,d=h!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;d&&(this.stackDirty=!0),this.lastVisibleInterval=h,this.props.lastWidth=this.props.width;var l=this.stackDirty,u=this._firstGroup(),p={item:t.item,axis:t.axis},c={item:t.item,axis:t.item.vertical/2},m=0,f=t.axis+t.item.vertical;return this.groups[y].redraw(e,c,l),r.forEach(this.groups,function(t){var i=t==u?p:c,o=t.redraw(e,i,l);s=o||s,m+=t.height}),m=Math.max(m,f),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right="0":this.dom.axis.style.left="0",s=this._isResized()||s},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[v];this.groups[y];if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new u(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof a||t instanceof h))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(r.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;r.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}this.body.emitter.emit("_change",{queue:!0})},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(r.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof a||t instanceof h))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;r.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("_change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.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)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?y:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("_change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("_change",{queue:!0}))},o.prototype._order=function(){r.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==y)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);r.extend(n,{height:null}),o=new u(t,i,e),e.groups[t]=o;for(var s in e.items)if(e.items.hasOwnProperty(s)){var a=e.items[s];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("_change",{queue:!0})},o.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})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!r.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},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.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)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;in+s)return}else{var a=e.height;if(n+a-s>o)return}}if(e&&e!=this.groupTouchParams.group){var h=this.groupsData,d=h.get(e.groupId),l=h.get(this.groupTouchParams.group.groupId);l&&d&&(this.options.groupOrderSwap(l,d,this.groupsData),this.groupsData.update(l),this.groupsData.update(d));var u=this.groupsData.getIds({order:this.options.groupOrder});if(!r.equalArray(u,this.groupTouchParams.originalOrder))for(var h=this.groupsData,p=this.groupTouchParams.originalOrder,c=this.groupTouchParams.group.groupId,m=Math.min(p.length,u.length),f=0,g=0,v=0;m>f;){for(;m>f+g&&m>f+v&&u[f+g]==p[f+v];)f++;if(f+g>=m)break;if(u[f+g]!=c)if(p[f+v]!=c){var y=u.indexOf(p[f+v]),b=h.get(u[f+g]),_=h.get(p[f+v]);this.options.groupOrderSwap(b,_,h),h.update(b),h.update(_);var w=u[f+g];u[f+g]=p[f+v],u[y]=w,f++}else v=1;else g=1}}}},o.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=r.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!r.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,a=Math.min(s.length,n.length),h=0;a>h;){for(;a>h&&n[h]==s[h];)h++;if(h>=a)break;var d=n.indexOf(s[h]),l=o.get(n[h]),u=o.get(s[h]);e.options.groupOrderSwap(l,u,o),groupsData.update(l),groupsData.update(u);var p=n[h];n[h]=s[h],n[d]=p,h++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},o.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{if(this.options.rtl)var s=r.getAbsoluteRight(this.dom.frame),a=s-t.center.x;else var s=r.getAbsoluteLeft(this.dom.frame),a=t.center.x-s;var h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={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);u.end=i?i(p,d,l):p}u[this.itemsData._fieldId]=r.randomUUID();var c=this.groupFromTarget(t);c&&(u.group=c.groupId),u=this._cloneItemData(u),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=o._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,u=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&u<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof g||i.push(d.id)}}}else{var p=i.indexOf(e.id);-1==p?i.push(e.id):i.splice(p,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},o._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}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&e0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=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*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>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)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.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}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(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+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+u+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var p=a.year();return"vis-year"+p+n(a)+t(p);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(1),s=i(27);i(28);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.innerHTML="?",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e;if(e=this.itemSet.options&&this.itemSet.options.groupTemplate?this.itemSet.options.groupTemplate(t):t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?n.removeClassName(this.dom.inner,"vis-hidden"):n.addClassName(this.dom.inner,"vis-hidden");var i=t&&t.className||null;i!=this.className&&(this.className&&(n.removeClassName(this.dom.label,this.className),n.removeClassName(this.dom.foreground,this.className),n.removeClassName(this.dom.background,this.className),n.removeClassName(this.dom.axis,this.className)),n.addClassName(this.dom.label,i),n.addClassName(this.dom.foreground,i),n.addClassName(this.dom.background,i),n.addClassName(this.dom.axis,i),this.className=i),this.style&&(n.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(n.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype.redraw=function(t,e,i){var o=!1,r=this.dom.marker.clientHeight;if(r!=this.lastMarkerHeight&&(this.lastMarkerHeight=r,n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(),"function"==typeof this.itemSet.options.order){if(i){var a=this,h=!1;n.forEach(this.items,function(t){t.displayed||(t.redraw(),a.visibleItems.push(t)),t.repositionX(h)});var d=this.orderedItems.byStart.slice().sort(function(t,e){return a.itemSet.options.order(t.data,e.data)});s.stack(d,e,!0)}this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?s.stack(this.visibleItems,e,i):s.nostack(this.visibleItems,e,this.subgroups);var l=this._calculateHeight(e),u=this.dom.foreground;this.top=u.offsetTop,this.right=u.offsetLeft,this.width=u.offsetWidth,o=n.updateProperty(this,"height",l)||o,o=n.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=n.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=l+"px",this.dom.foreground.style.height=l+"px",this.dom.label.style.height=l+"px";for(var p=0,c=this.visibleItems.length;c>p;p++){var m=this.visibleItems[p];m.repositionY(e)}return o},o.prototype._calculateSubGroupHeights=function(){if(Object.keys(this.subgroups).length>0){var t=this;this.resetSubgroups(),n.forEach(this.visibleItems,function(e){void 0!==e.data.subgroup&&(t.subgroups[e.data.subgroup].height=Math.max(t.subgroups[e.data.subgroup].height,e.height),t.subgroups[e.data.subgroup].visible=!0)})}},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,s=i[0].top+i[0].height;if(n.forEach(i,function(t){o=Math.min(o,t.top),s=Math.max(s,t.top+t.height)}),o>t.axis){var r=o-t.axis;s-=r,n.forEach(i,function(t){t.top-=r})}e=s+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.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)},o.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 o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.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)}},o.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(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];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,l.options.rtl)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(14),i(29));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).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()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);void 0!==t&&t!==!0||(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,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)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,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=o},function(t,e,i){function o(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.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this.data&&this.data.hasOwnProperty("editable")&&"boolean"==typeof this.data.editable&&(this.editable=t.editable)}var n=i(14),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),t.hasOwnProperty("editable")&&"boolean"==typeof t.editable&&(this.editable=t.editable),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.remove||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new n(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.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;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){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}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.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;in;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(29);i(1);o.prototype=new n(null,null,null),o.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},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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?" vis-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}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(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=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:a.FORMAT,moment:d,timeAxis:null},this.options=s.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(21),a=i(25),h=i(22),d=i(2);o.prototype=new r,o.prototype.setOptions=function(t){t&&(s.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),s.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===n(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof d.locale?d.locale(t.locale):d.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=s.convert(this.body.range.start,"Number"),i=s.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-h.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var r=new a(new Date(e),new Date(i),n,this.body.hiddenDates);r.setMoment(this.options.moment),this.options.format&&r.setFormat(this.options.format),this.options.timeAxis&&r.setScale(this.options.timeAxis),this.step=r;var d=this.dom;d.redundant.lines=d.lines,d.redundant.majorTexts=d.majorTexts,d.redundant.minorTexts=d.minorTexts,d.lines=[],d.majorTexts=[],d.minorTexts=[];var u,p,c,m,f,g,v,y,b,_,w=0,x=void 0,D=0,S=1e3;for(r.start(),p=r.getCurrent(),m=this.body.util.toScreen(p);r.hasNext()&&S>D;){D++,f=r.isMajor(),_=r.getClassName(),b=r.getLabelMinor(),u=p,c=m,r.next(),p=r.getCurrent(),g=r.isMajor(),m=this.body.util.toScreen(p),v=w,w=m-c;var k=w>=.4*v;if(this.options.showMinorLabels&&k){var C=this._repaintMinorText(c,b,t,_);C.style.width=w+"px"}f&&this.options.showMajorLabels?(c>0&&(void 0==x&&(x=c),C=this._repaintMajorText(c,r.getLabelMajor(),t,_)),y=this._repaintMajorLine(c,w,t,_)):k?y=this._repaintMinorLine(c,w,t,_):y&&(y.style.width=parseInt(y.style.width)+w+"px")}if(D!==S||l||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+S+" lines."),l=!0),this.options.showMajorLabels){var T=this.body.util.toTime(0),O=r.getLabelMajor(T),M=O.length*(this.props.majorCharWidth||10)+10;(void 0==x||x>M)&&this._repaintMajorText(0,O,t,_)}s.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top=s.majorLabelHeight+"px":n.style.top=this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-minor "+o):(n.style.left=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-minor "+o),n.style.width=e+"px",n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top="0":n.style.top=this.body.domProps.top.height+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-major "+o):(n.style.left=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-major "+o),n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-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="vis-text vis-major vis-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};var l=!1;t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(36),r=i(19),a=i(14),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={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!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;no&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="date",a="object",h="dom",d="moment",l="any",u={configure:{enabled:{"boolean":o},filter:{"boolean":o,"function":"function"},container:{dom:h},__type__:{object:a,"boolean":o,"function":"function"}},align:{string:i},rtl:{"boolean":o,undefined:"undefined"},autoResize:{"boolean":o},throttleRedraw:{number:n},clickToUse:{"boolean":o},dataAttributes:{string:i,array:s},editable:{add:{"boolean":o,undefined:"undefined"},remove:{"boolean":o,undefined:"undefined"},updateGroup:{"boolean":o,undefined:"undefined"},updateTime:{"boolean":o,undefined:"undefined"},__type__:{"boolean":o,object:a}},end:{number:n,date:r,string:i,moment:d},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a}},__type__:{object:a}},moment:{"function":"function"},groupOrder:{string:i,"function":"function"},groupEditable:{add:{"boolean":o,undefined:"undefined"},remove:{"boolean":o,undefined:"undefined"},order:{"boolean":o,undefined:"undefined"},__type__:{"boolean":o,object:a}},groupOrderSwap:{"function":"function"},height:{string:i,number:n},hiddenDates:{start:{date:r,number:n,string:i,moment:d},end:{date:r,number:n,string:i,moment:d},repeat:{string:i},__type__:{object:a,array:s}},itemsAlwaysDraggable:{"boolean":o},locale:{string:i},locales:{__any__:{any:l},__type__:{object:a}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:a,number:n}},__type__:{object:a,number:n}},max:{date:r,number:n,string:i,moment:d},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:r,number:n,string:i,moment:d},minHeight:{number:n,string:i},moveable:{"boolean":o},multiselect:{"boolean":o},multiselectPerGroup:{"boolean":o},onAdd:{"function":"function"},onUpdate:{"function":"function"},onMove:{"function":"function"},onMoving:{"function":"function"},onRemove:{"function":"function"},onAddGroup:{"function":"function"},onMoveGroup:{"function":"function"},onRemoveGroup:{"function":"function"},order:{"function":"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:a}},selectable:{"boolean":o},showCurrentTime:{"boolean":o},showMajorLabels:{"boolean":o},showMinorLabels:{"boolean":o},stack:{"boolean":o},snap:{"function":"function","null":"null"},start:{date:r,number:n,string:i,moment:d},template:{"function":"function"},groupTemplate:{"function":"function"},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:a}},type:{string:i},width:{string:i,number:n},zoomable:{"boolean":o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:a}},p={global:{align:["center","left","right"],direction:!1,autoResize:!0,throttleRedraw:[10,0,1e3,10],clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",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:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,start:"",type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=u,e.configureOptions=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof p)&&i instanceof Object){var n=o;o=i,i=n}var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new c(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new f(this.body),this.components.push(this.timeAxis),this.currentTime=new g(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(12),r=o(s),a=i(18),h=o(a),d=(i(19),i(14),i(2)),l=i(1),u=i(8),p=i(10),c=i(20),m=i(23),f=i(34),g=i(39),v=i(37),y=i(42),b=i(18).printStyle,_=i(50).allOptions,w=i(50).configureOptions;n.prototype=new m,n.prototype.setOptions=function(t){var e=h["default"].validate(t,_);e===!0&&console.log("%cErrors have been found in the supplied options object.",b),m.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof p?t:new u(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 o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof p?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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},n.prototype.getDataRange=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 o=0;os?s:t,e=null==e?s:s>e?s:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-l.getAbsoluteLeft(this.dom.centerContainer),n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this._toTime(o),r=v.customTimeFromTarget(t),a=l.getTarget(t),h=null;l.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&l.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":l.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":l.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":l.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":l.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":null!=r?h="custom-time":l.hasParent(a,this.currentTime.bar)?h="current-time":l.hasParent(a,this.dom.center)&&(h="background");var d=[],u=this.linegraph.yAxisLeft,p=this.linegraph.yAxisRight;return u.hidden||d.push(u.screenToValue(n)),p.hidden||d.push(p.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r["default"](this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t,e){this.id=s.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=s.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=s.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(7),a=i(8),h=i(10),d=i(21),l=i(43),u=i(45),p=i(49),c=i(46),m=i(48),f=i(47),g="__ungrouped__";o.prototype=new d,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",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 l(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new l(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new p(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new p(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))i?-1:1});for(var o=new Array(t.length),n=0;n0){var h={};for(this._getRelevantData(a,h,n,s),this._applySampling(a,h),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(a[e])||(l[a[e]]=m.calcPath(h[a[e]],t)),m.draw(l[a[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||f.draw(h[a[e]],t,this.framework);break;case"bar":}}}return r.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,r,a,h;if(t.length>0)for(r=0;rt?-1:1},u=Math.max(0,s.binarySearchValue(d,i,"x","before",l)),p=Math.min(d.length,s.binarySearchValue(d,o,"x","after",l)+1);0>=p&&(p=d.length);var c=new Array(p-u);for(a=u;p>a;a++)h=n.itemsData[a],c[a-u]=h;e[t[r]]=c}else e[t[r]]=n.itemsData}},o.prototype._applySampling=function(t,e){var i;if(t.length>0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;r>l;l+=s){var u=Math.round(l/s);d[u]=n[l]}e[t[o]]=d.splice(0,Math.round(r/s))}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getItems()):h=h.concat(n.getItems()):i[t[s]]=n.getYRange(o,t[s]));c.getStackedYRange(a,i,t,"__barStackLeft","left"),c.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,this.yAxisRight.masterAxis=this.yAxisLeft,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var c=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;ut?-1:1});for(var a=0;a=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var d=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(d=this.props.titleCharHeight);var l=this.options.icons===!0?Math.max(this.options.iconWidth,d)+this.options.labelOffsetX+15:d+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-l&&this.options.visible===!0?(this.width=this.maxLabelSize+l,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+l),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,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*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize.5*(h.magnitudefactor*h.minorSteps[h.minorStepIdx])?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;0>i&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])===0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&o-i>u?(s(),d=!1):d=!0}}},i.prototype.convertValue=function(t){return this.containerHeight-(t-this._start)*this.scale},i.prototype.screenToValue=function(t){return(this.containerHeight-t)/this.scale+this._start},t.exports=i},function(t,e,i){function o(t,e,i,o){this.id=e;var n=["sampling","style","sort","yAxisOrientation","barChart","drawPoints","shaded","interpolation","zIndex","excludeFromStacking","excludeFromLegend"];this.options=s.selectiveBridgeObject(n,i),this.usingDefaultStyle=void 0===t.className,this.groupsUsingDefaultStyles=o,this.zeroPosition=0,this.update(t),1==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=void 0===t.visible?!0:t.visible}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=(i(7),i(46)),a=i(48),h=i(47);o.prototype.setItems=function(t){null!=t?(this.itemsData=t,1==this.options.sort&&s.insertSort(this.itemsData,function(t,e){return t.x>e.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];s.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),s.mergeOptions(this.options,t,"interpolation"),s.mergeOptions(this.options,t,"drawPoints"),s.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==n(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible?!0:t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){var s=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:s,svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":a.drawIcon(this,o,n,t,e,i);break;case"points":case"point":h.drawIcon(this,o,n,t,e,i);break;case"bar":r.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){var i=[];return i=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;nl;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={screen_x:(-e.screen_x+6*i.screen_x+o.screen_x)*h,screen_y:(-e.screen_y+6*i.screen_y+o.screen_y)*h},r={screen_x:(i.screen_x+6*o.screen_x-n.screen_x)*h,screen_y:(i.screen_y+6*o.screen_y-n.screen_y)*h},a.push([s.screen_x,s.screen_y]),a.push([r.screen_x,r.screen_y]),a.push([o.screen_x,o.screen_y]);return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);var o,n,s,r,a,h,d,l,u,p,c,m,f,g,v,y,b,_,w,x=[];x.push([Math.round(t[0].screen_x),Math.round(t[0].screen_y)]);for(var D=t.length,S=0;D-1>S;S++)o=0==S?t[0]:t[S-1],n=t[S],s=t[S+1],r=D>S+2?t[S+2]:s,d=Math.sqrt(Math.pow(o.screen_x-n.screen_x,2)+Math.pow(o.screen_y-n.screen_y,2)),l=Math.sqrt(Math.pow(n.screen_x-s.screen_x,2)+Math.pow(n.screen_y-s.screen_y,2)),u=Math.sqrt(Math.pow(s.screen_x-r.screen_x,2)+Math.pow(s.screen_y-r.screen_y,2)),g=Math.pow(u,i),y=Math.pow(u,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),w=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*w*v+b,c=2*y+3*g*v+b,m=3*w*(w+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={screen_x:(-b*o.screen_x+p*n.screen_x+_*s.screen_x)*m,screen_y:(-b*o.screen_y+p*n.screen_y+_*s.screen_y)*m},h={screen_x:(y*n.screen_x+c*s.screen_x-b*r.screen_x)*f,screen_y:(y*n.screen_y+c*s.screen_y-b*r.screen_y)*f},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;it?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.resetElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ut(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function m(t,e){return typeof t==mt?t.apply(e?e[0]||a:a,e):t}function f(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function v(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function k(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=I(o);e.timeStamp=vt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=H(a,h),e.distance=F(a,h),P(i,e),e.offsetDirection=L(e.deltaX,e.deltaY);var d=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=gt(d.x)>gt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?Y(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,A(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Et&&s.eventType!==At||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function A(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Nt&&(h>Mt||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=R(h,d,l);o=u.x,n=u.y,i=gt(u.x)>gt(u.y)?u.x:u.y,s=L(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:ft(i/e),y:ft(o/e)}}function R(t,e,i){return{x:e/t||0,y:i/t||0}}function L(t,e){return t===e?It:gt(t)>=gt(e)?0>t?Rt:Lt:0>e?Ft:Ht}function F(t,e,i){i||(i=zt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function H(t,e,i){i||(i=zt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function Y(t,e){return H(e[1],e[0],Wt)+H(t[1],t[0],Wt)}function j(t,e){return F(e[0],e[1],Wt)/F(t[0],t[1],Wt)}function G(){this.evEl=Bt,this.evWin=Ut,this.allow=!0,this.pressed=!1,O.apply(this,arguments)}function z(){this.evEl=Zt,this.evWin=Kt,O.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function W(){this.evTarget=Qt,this.evWin=$t,this.started=!1,O.apply(this,arguments)}function V(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(At|Nt)&&(i=D(i.concat(o),"identifier",!0)),[i,o]}function B(){this.evTarget=ee,this.targetIds={},O.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Et|Pt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Et)for(n=0;na&&(e.push(t),a=e.length-1):n&(At|Nt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Jt={touchstart:Et,touchmove:Pt,touchend:At,touchcancel:Nt},Qt="touchstart",$t="touchstart touchmove touchend touchcancel";c(W,O,{handler:function(t){var e=Jt[t.type];if(e===Et&&(this.started=!0),this.started){var i=V.call(this,t,e);e&(At|Nt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:St,srcEvent:t})}}});var te={touchstart:Et,touchmove:Pt,touchend:At,touchcancel:Nt},ee="touchstart touchmove touchend touchcancel";c(B,O,{handler:function(t){var e=te[t.type],i=U.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:St,srcEvent:t})}}),c(q,O,{handler:function(t,e,i){var o=i.pointerType==St,n=i.pointerType==Ot;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(At|Nt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ie=k(pt.style,"touchAction"),oe=ie!==a,ne="compute",se="auto",re="manipulation",ae="none",he="pan-x",de="pan-y";X.prototype={set:function(t){t==ne&&(t=this.compute()),oe&&this.manager.element.style&&(this.manager.element.style[ie]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),Z(t.join(" "))},preventDefaults:function(t){if(!oe){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=b(o,ae),s=b(o,de),r=b(o,he);if(n){var a=1===t.pointers.length,h=t.distance<2,d=t.deltaTime<250;if(a&&h&&d)return}if(!r||!s)return n||s&&i&Yt||r&&i&jt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var le=1,ue=2,ce=4,pe=8,me=pe,fe=16,ge=32;K.prototype={defaults:{},set:function(t){return ut(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=$(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=$(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=$(t,this),-1===w(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=$(t,this);var e=w(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;pe>o&&e(i.options.event+J(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=pe&&e(i.options.event+J(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ge)},canEmit:function(){for(var t=0;ts?Rt:Lt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?Ft:Ht,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return tt.prototype.attrTest.call(this,t)&&(this.state&ue||!(this.state&ue)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Q(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(it,tt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ue)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(ot,K,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(At|Nt)&&!n)this.reset();else if(t.eventType&Et)this.reset(),this._timer=h(function(){this.state=me,this.tryEmit()},e.time,this);else if(t.eventType&At)return me;return ge},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===me&&(t&&t.eventType&At?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=vt(),this.manager.emit(this.options.event,this._input)))}}),c(nt,tt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ue)}}),c(st,tt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|jt,pointers:1},getTouchAction:function(){return et.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|jt)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&jt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&>(e)>this.options.velocity&&t.eventType&At},emit:function(t){var e=Q(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(rt,K,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),d):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),d):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),d),a=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],s=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var u in i){var c=void 0;if(void 0!==i[u].__type__&&n===!0){var p=t.findInOptions(e,i[u],r.copyAndExtendArray(o,u));s>p.distance&&(a=p.closestMatch,h=p.path,s=p.distance,l=p.indexMatch)}else-1!==u.toLowerCase().indexOf(d)&&(l=u),c=t.levenshteinDistance(e,u),s>c&&(a=u,h=r.copyArray(o),s=c)}return{closestMatch:a,path:h,distance:s,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var r=0;ro;++o)i[o].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){function o(t,e){var i=a().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={rtl:!1,start:null,end:null,moment:a,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",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 n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=i(1),a=(i(17),i(2)),h=i(21),d=i(22);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey","rtl"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,a=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,u=this.end,c="object"===("undefined"==typeof i?"undefined":s(i))&&"duration"in i?i.duration:500,p="object"===("undefined"==typeof i?"undefined":s(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",m=r.easingFunctions[p];if(!m)throw new Error("Unknown easing function "+JSON.stringify(p)+". Choose from: "+Object.keys(r.easingFunctions).join(", "));var f=(new Date).valueOf(),g=!1,v=function _(){if(!h.props.touch.dragging){var t=(new Date).valueOf(),e=t-f,i=m(e/c),s=e>c,r=s||null===n?n:l+(n-l)*i,p=s||null===a?a:u+(a-u)*i;y=h._applyRange(r,p),d.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),g=g||y,y&&h.body.emitter.emit("rangechange",{start:new Date(h.start),end:new Date(h.end),byUser:o}),s?g&&h.body.emitter.emit("rangechanged",{start:new Date(h.start),end:new Date(h.end),byUser:o}):h.animationTimer=setTimeout(_,20)}};return v()}var y=this._applyRange(n,a);if(d.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),y){var b={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",b),this.body.emitter.emit("rangechanged",b)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=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(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&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"))},o.prototype._onDrag=function(t){if(this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var a=i/r*o;else var a=-i/r*o;var h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l);var p=new Date(this.start),m=new Date(this.end);this.body.emitter.emit("rangechange",{start:p,end:m,byUser:!0})}},o.prototype._onDragEnd=function(t){this.props.touch.dragging&&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}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&(!this.options.zoomKey||t[this.options.zoomKey])){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 o=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){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},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&l==a||(this.props.touch.start=h,this.props.touch.end=l,this.scaleOffset=1-t.scale,r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-r.getAbsoluteLeft(this.body.dom.centerContainer);else var i=r.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.getPointer=function(t,e){return this.options.rtl?{x:r.getAbsoluteRight(e)-t.x,y:t.y-r.getAbsoluteTop(e)}:{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);h==r&&l==a||(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e){function i(t,e){this.options=null,this.props=null}i.prototype.setOptions=function(t){t&&util.extend(this.options,t)},i.prototype.redraw=function(){return!1},i.prototype.destroy=function(){},i.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=i},function(t,e){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var c=0,p=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;p>d;)switch(i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),o[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:",o[h].repeat)}i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(i);var g=e.isHidden(i.range.start,i.hiddenDates),v=e.isHidden(i.range.end,i.hiddenDates),y=i.range.start,b=i.range.end;1==g.hidden&&(y=1==i.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==i.range.endToFront?v.startDate-1:v.endDate+1),1!=g.hidden&&1!=v.hidden||i.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){o=!0;break}}if(1==o&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(){}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(19),r=i(14),a=i(17),h=i(1),d=(i(8),i(10),i(20),i(24),i(34)),l=i(35),u=i(22),c=i(37);s(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("_change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new r(this.dom.root);var o=this.hammer.get("pinch").set({enable:!0});a.disablePreventDefaultVertically(o),this.hammer.get("pan").set({threshold:5,direction:r.DIRECTION_HORIZONTAL}),this.listeners={};var n=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(n.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),a.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),a.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","throttleRedraw"];if(h.selectiveExtend(e,this.options,t),this.options.rtl){var i=this.dom.leftContainer;this.dom.leftContainer=this.dom.rightContainer,this.dom.rightContainer=i,this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"}if(this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===n(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var o=this.timeAxis2=new d(this.body);o.setOptions=function(t){var e=t?h.extend({},t):{};e.orientation="top",d.prototype.setOptions.call(o,e)},this.components.push(o)}}else if(this.timeAxis2){var s=this.components.indexOf(this.timeAxis2);-1!==s&&this.components.splice(s,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&u.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new l(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var r=h.deepExtend({},this.options);this.components.forEach(function(t){h.deepExtend(r,t.options)}),this.configurator.setModuleOptions({global:r})}this._origRedraw?this._redraw():(this._origRedraw=this._redraw.bind(this),this._redraw=h.throttle(this._origRedraw,this.options.throttleRedraw))},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));return i.length>0?i[0].setCustomTitle(t):void 0},o.prototype.getEventProperties=function(t){return{event:t}},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?h.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new c(this.body,h.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(o,n,s)}},o.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=h.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){u.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(h.addClassName(o.root,"vis-top"),h.removeClassName(o.root,"vis-bottom")):(h.removeClassName(o.root,"vis-top"),h.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=h.option.asSize(e.maxHeight,""),o.root.style.minHeight=h.option.asSize(e.minHeight,""),o.root.style.width=h.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.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+n+i.border.top+i.border.bottom;o.root.style.height=h.option.asSize(e.height,d+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var l=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-s;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"top"!=e.orientation.item&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=p+"px",o.left.style.left="0",o.left.style.top=p+"px",o.right.style.left="0",o.right.style.top=p+"px";var m=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=m,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=m,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=m,o.shadowBottomRight.style.visibility=f;var g=this.props.center.height>this.props.centerContainer.height;this.hammer.get("pan").set({direction:g?r.DIRECTION_ALL:r.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var v=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange();if(this.options.rtl)var e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end);else var i=this.body.util.toScreen(t.start),e=this.body.util.toScreen(t.end);var o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id):h.lefti&&o.push(h.id)}return o},o.prototype._deselect=function(t){ +for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=r.option.asSize,o=this.options,n=o.orientation.item,s=!1,a=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.options.rtl?this.props.right=this.body.domProps.right.width+this.body.domProps.border.right:this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset",s=this._orderGroups()||s;var h=e.end-e.start,d=h!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;d&&(this.stackDirty=!0),this.lastVisibleInterval=h,this.props.lastWidth=this.props.width;var l=this.stackDirty,u=this._firstGroup(),c={item:t.item,axis:t.axis},p={item:t.item,axis:t.item.vertical/2},m=0,f=t.axis+t.item.vertical;return this.groups[y].redraw(e,p,l),r.forEach(this.groups,function(t){var i=t==u?c:p,o=t.redraw(e,i,l);s=o||s,m+=t.height}),m=Math.max(m,f),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right="0":this.dom.axis.style.left="0",s=this._isResized()||s},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[v];this.groups[y];if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new u(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof a||t instanceof h))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(r.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;r.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}this.body.emitter.emit("_change",{queue:!0})},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(r.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof a||t instanceof h))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;r.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("_change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.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)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?y:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("_change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("_change",{queue:!0}))},o.prototype._order=function(){r.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==y)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);r.extend(n,{height:null}),o=new u(t,i,e),e.groups[t]=o;for(var s in e.items)if(e.items.hasOwnProperty(s)){var a=e.items[s];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("_change",{queue:!0})},o.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})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!r.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},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.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)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;in+s)return}else{var a=e.height;if(n+a-s>o)return}}if(e&&e!=this.groupTouchParams.group){var h=this.groupsData,d=h.get(e.groupId),l=h.get(this.groupTouchParams.group.groupId);l&&d&&(this.options.groupOrderSwap(l,d,this.groupsData),this.groupsData.update(l),this.groupsData.update(d));var u=this.groupsData.getIds({order:this.options.groupOrder});if(!r.equalArray(u,this.groupTouchParams.originalOrder))for(var h=this.groupsData,c=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,m=Math.min(c.length,u.length),f=0,g=0,v=0;m>f;){for(;m>f+g&&m>f+v&&u[f+g]==c[f+v];)f++;if(f+g>=m)break;if(u[f+g]!=p)if(c[f+v]!=p){var y=u.indexOf(c[f+v]),b=h.get(u[f+g]),_=h.get(c[f+v]);this.options.groupOrderSwap(b,_,h),h.update(b),h.update(_);var w=u[f+g];u[f+g]=c[f+v],u[y]=w,f++}else v=1;else g=1}}}},o.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=r.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!r.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,a=Math.min(s.length,n.length),h=0;a>h;){for(;a>h&&n[h]==s[h];)h++;if(h>=a)break;var d=n.indexOf(s[h]),l=o.get(n[h]),u=o.get(s[h]);e.options.groupOrderSwap(l,u,o),groupsData.update(l),groupsData.update(u);var c=n[h];n[h]=s[h],n[d]=c,h++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},o.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{if(this.options.rtl)var s=r.getAbsoluteRight(this.dom.frame),a=s-t.center.x;else var s=r.getAbsoluteLeft(this.dom.frame),a=t.center.x-s;var h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=r.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),u=this._cloneItemData(u),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=o._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,u=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&u<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof g||i.push(d.id)}}}else{var c=i.indexOf(e.id);-1==c?i.push(e.id):i.splice(c,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},o._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}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&e0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=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*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>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)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.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}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(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+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+u+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"vis-year"+c+n(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(1),s=i(27);i(28);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.innerHTML="?",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e;if(e=this.itemSet.options&&this.itemSet.options.groupTemplate?this.itemSet.options.groupTemplate(t):t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?n.removeClassName(this.dom.inner,"vis-hidden"):n.addClassName(this.dom.inner,"vis-hidden");var i=t&&t.className||null;i!=this.className&&(this.className&&(n.removeClassName(this.dom.label,this.className),n.removeClassName(this.dom.foreground,this.className),n.removeClassName(this.dom.background,this.className),n.removeClassName(this.dom.axis,this.className)),n.addClassName(this.dom.label,i),n.addClassName(this.dom.foreground,i),n.addClassName(this.dom.background,i),n.addClassName(this.dom.axis,i),this.className=i),this.style&&(n.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(n.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype.redraw=function(t,e,i){var o=!1,r=this.dom.marker.clientHeight;if(r!=this.lastMarkerHeight&&(this.lastMarkerHeight=r,n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(),"function"==typeof this.itemSet.options.order){if(i){var a=this,h=!1;n.forEach(this.items,function(t){t.displayed||(t.redraw(),a.visibleItems.push(t)),t.repositionX(h)});var d=this.orderedItems.byStart.slice().sort(function(t,e){return a.itemSet.options.order(t.data,e.data)});s.stack(d,e,!0)}this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?s.stack(this.visibleItems,e,i):s.nostack(this.visibleItems,e,this.subgroups);var l=this._calculateHeight(e),u=this.dom.foreground;this.top=u.offsetTop,this.right=u.offsetLeft,this.width=u.offsetWidth,o=n.updateProperty(this,"height",l)||o,o=n.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=n.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=l+"px",this.dom.foreground.style.height=l+"px",this.dom.label.style.height=l+"px";for(var c=0,p=this.visibleItems.length;p>c;c++){var m=this.visibleItems[c];m.repositionY(e)}return o},o.prototype._calculateSubGroupHeights=function(){if(Object.keys(this.subgroups).length>0){var t=this;this.resetSubgroups(),n.forEach(this.visibleItems,function(e){void 0!==e.data.subgroup&&(t.subgroups[e.data.subgroup].height=Math.max(t.subgroups[e.data.subgroup].height,e.height),t.subgroups[e.data.subgroup].visible=!0)})}},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,s=i[0].top+i[0].height;if(n.forEach(i,function(t){o=Math.min(o,t.top),s=Math.max(s,t.top+t.height)}),o>t.axis){var r=o-t.axis;s-=r,n.forEach(i,function(t){t.top-=r})}e=s+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.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)},o.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 o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.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)}},o.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(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];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,l.options.rtl)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(14),i(29));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).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()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);void 0!==t&&t!==!0||(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,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)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,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=o},function(t,e,i){function o(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.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this.data&&this.data.hasOwnProperty("editable")&&"boolean"==typeof this.data.editable&&(this.editable=t.editable)}var n=i(14),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),t.hasOwnProperty("editable")&&"boolean"==typeof t.editable&&(this.editable=t.editable),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.remove||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new n(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.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;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){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}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.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;in;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(29);i(1);o.prototype=new n(null,null,null),o.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},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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?" vis-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}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(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=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:a.FORMAT,moment:d,timeAxis:null},this.options=s.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(21),a=i(25),h=i(22),d=i(2);o.prototype=new r,o.prototype.setOptions=function(t){t&&(s.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),s.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===n(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof d.locale?d.locale(t.locale):d.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=s.convert(this.body.range.start,"Number"),i=s.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-h.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var r=new a(new Date(e),new Date(i),n,this.body.hiddenDates);r.setMoment(this.options.moment),this.options.format&&r.setFormat(this.options.format),this.options.timeAxis&&r.setScale(this.options.timeAxis),this.step=r;var d=this.dom;d.redundant.lines=d.lines,d.redundant.majorTexts=d.majorTexts,d.redundant.minorTexts=d.minorTexts,d.lines=[],d.majorTexts=[],d.minorTexts=[];var u,c,p,m,f,g,v,y,b,_,w=0,x=void 0,D=0,k=1e3;for(r.start(),c=r.getCurrent(),m=this.body.util.toScreen(c);r.hasNext()&&k>D;){D++,f=r.isMajor(),_=r.getClassName(),b=r.getLabelMinor(),u=c,p=m,r.next(),c=r.getCurrent(),g=r.isMajor(),m=this.body.util.toScreen(c),v=w,w=m-p;var S=w>=.4*v;if(this.options.showMinorLabels&&S){var C=this._repaintMinorText(p,b,t,_);C.style.width=w+"px"}f&&this.options.showMajorLabels?(p>0&&(void 0==x&&(x=p),C=this._repaintMajorText(p,r.getLabelMajor(),t,_)),y=this._repaintMajorLine(p,w,t,_)):S?y=this._repaintMinorLine(p,w,t,_):y&&(y.style.width=parseInt(y.style.width)+w+"px")}if(D!==k||l||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+k+" lines."),l=!0),this.options.showMajorLabels){var O=this.body.util.toTime(0),T=r.getLabelMajor(O),M=T.length*(this.props.majorCharWidth||10)+10;(void 0==x||x>M)&&this._repaintMajorText(0,T,t,_)}s.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top=s.majorLabelHeight+"px":n.style.top=this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-minor "+o):(n.style.left=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-minor "+o),n.style.width=e+"px",n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top="0":n.style.top=this.body.domProps.top.height+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-major "+o):(n.style.left=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-major "+o),n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-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="vis-text vis-major vis-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};var l=!1;t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(36),r=i(19),a=i(14),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={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!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;no&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="date",a="object",h="dom",d="moment",l="any",u={configure:{enabled:{"boolean":o},filter:{"boolean":o,"function":"function"},container:{dom:h},__type__:{object:a,"boolean":o,"function":"function"}},align:{string:i},rtl:{"boolean":o,undefined:"undefined"},autoResize:{"boolean":o},throttleRedraw:{number:n},clickToUse:{"boolean":o},dataAttributes:{string:i,array:s},editable:{add:{"boolean":o,undefined:"undefined"},remove:{"boolean":o,undefined:"undefined"},updateGroup:{"boolean":o,undefined:"undefined"},updateTime:{"boolean":o,undefined:"undefined"},__type__:{"boolean":o,object:a}},end:{number:n,date:r,string:i,moment:d},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a}},__type__:{object:a}},moment:{"function":"function"},groupOrder:{string:i,"function":"function"},groupEditable:{add:{"boolean":o,undefined:"undefined"},remove:{"boolean":o,undefined:"undefined"},order:{"boolean":o,undefined:"undefined"},__type__:{"boolean":o,object:a}},groupOrderSwap:{"function":"function"},height:{string:i,number:n},hiddenDates:{start:{date:r,number:n,string:i,moment:d},end:{date:r,number:n,string:i,moment:d},repeat:{string:i},__type__:{object:a,array:s}},itemsAlwaysDraggable:{"boolean":o},locale:{string:i},locales:{__any__:{any:l},__type__:{object:a}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:a,number:n}},__type__:{object:a,number:n}},max:{date:r,number:n,string:i,moment:d},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:r,number:n,string:i,moment:d},minHeight:{number:n,string:i},moveable:{"boolean":o},multiselect:{"boolean":o},multiselectPerGroup:{"boolean":o},onAdd:{"function":"function"},onUpdate:{"function":"function"},onMove:{"function":"function"},onMoving:{"function":"function"},onRemove:{"function":"function"},onAddGroup:{"function":"function"},onMoveGroup:{"function":"function"},onRemoveGroup:{"function":"function"},order:{"function":"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:a}},selectable:{"boolean":o},showCurrentTime:{"boolean":o},showMajorLabels:{"boolean":o},showMinorLabels:{"boolean":o},stack:{"boolean":o},snap:{"function":"function","null":"null"},start:{date:r,number:n,string:i,moment:d},template:{"function":"function"},groupTemplate:{"function":"function"},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:a}},type:{string:i},width:{string:i,number:n},zoomable:{"boolean":o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:a}},c={global:{align:["center","left","right"],direction:!1,autoResize:!0,throttleRedraw:[10,0,1e3,10],clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",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:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,start:"",type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=u,e.configureOptions=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof c)&&i instanceof Object){var n=o;o=i,i=n}var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new p(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new f(this.body),this.components.push(this.timeAxis),this.currentTime=new g(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(12),r=o(s),a=i(18),h=o(a),d=(i(19),i(14),i(2)),l=i(1),u=i(8),c=i(10),p=i(20),m=i(23),f=i(34),g=i(39),v=i(37),y=i(42),b=i(18).printStyle,_=i(50).allOptions,w=i(50).configureOptions;n.prototype=new m,n.prototype.setOptions=function(t){var e=h["default"].validate(t,_);e===!0&&console.log("%cErrors have been found in the supplied options object.",b),m.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof c?t:new u(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 o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof c?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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},n.prototype.getDataRange=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 o=0;os?s:t,e=null==e?s:s>e?s:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-l.getAbsoluteLeft(this.dom.centerContainer),n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this._toTime(o),r=v.customTimeFromTarget(t),a=l.getTarget(t),h=null;l.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&l.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":l.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":l.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":l.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":l.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":null!=r?h="custom-time":l.hasParent(a,this.currentTime.bar)?h="current-time":l.hasParent(a,this.dom.center)&&(h="background");var d=[],u=this.linegraph.yAxisLeft,c=this.linegraph.yAxisRight;return u.hidden||d.push(u.screenToValue(n)),c.hidden||d.push(c.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r["default"](this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t,e){this.id=s.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=s.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=s.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(7),a=i(8),h=i(10),d=i(21),l=i(43),u=i(45),c=i(49),p=i(46),m=i(48),f=i(47),g="__ungrouped__";o.prototype=new d,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",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 l(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new l(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()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))i?-1:1});for(var o=new Array(t.length),n=0;n0){var h={};for(this._getRelevantData(a,h,n,s),this._applySampling(a,h),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(a[e])||(l[a[e]]=m.calcPath(h[a[e]],t)),m.draw(l[a[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||f.draw(h[a[e]],t,this.framework);break;case"bar":}}}return r.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,r,a,h;if(t.length>0)for(r=0;rt?-1:1},u=Math.max(0,s.binarySearchValue(d,i,"x","before",l)),c=Math.min(d.length,s.binarySearchValue(d,o,"x","after",l)+1);0>=c&&(c=d.length);var p=new Array(c-u);for(a=u;c>a;a++)h=n.itemsData[a],p[a-u]=h;e[t[r]]=p}else e[t[r]]=n.itemsData}},o.prototype._applySampling=function(t,e){var i;if(t.length>0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;r>l;l+=s){var u=Math.round(l/s);d[u]=n[l]}e[t[o]]=d.splice(0,Math.round(r/s))}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getItems()):h=h.concat(n.getItems()):i[t[s]]=n.getYRange(o,t[s]));p.getStackedYRange(a,i,t,"__barStackLeft","left"),p.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,this.yAxisRight.masterAxis=this.yAxisLeft,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;ut?-1:1});for(var a=0;a=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var d=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(d=this.props.titleCharHeight);var l=this.options.icons===!0?Math.max(this.options.iconWidth,d)+this.options.labelOffsetX+15:d+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-l&&this.options.visible===!0?(this.width=this.maxLabelSize+l,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+l),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,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*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize.5*(h.magnitudefactor*h.minorSteps[h.minorStepIdx])?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;0>i&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])===0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&o-i>u?(s(),d=!1):d=!0}}},i.prototype.convertValue=function(t){return this.containerHeight-(t-this._start)*this.scale},i.prototype.screenToValue=function(t){return(this.containerHeight-t)/this.scale+this._start},t.exports=i},function(t,e,i){function o(t,e,i,o){this.id=e;var n=["sampling","style","sort","yAxisOrientation","barChart","drawPoints","shaded","interpolation","zIndex","excludeFromStacking","excludeFromLegend"];this.options=s.selectiveBridgeObject(n,i),this.usingDefaultStyle=void 0===t.className,this.groupsUsingDefaultStyles=o,this.zeroPosition=0,this.update(t),1==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=void 0===t.visible?!0:t.visible}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=(i(7),i(46)),a=i(48),h=i(47);o.prototype.setItems=function(t){null!=t?(this.itemsData=t,1==this.options.sort&&s.insertSort(this.itemsData,function(t,e){return t.x>e.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];s.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),s.mergeOptions(this.options,t,"interpolation"),s.mergeOptions(this.options,t,"drawPoints"),s.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==n(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible?!0:t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){var s=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:s,svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":a.drawIcon(this,o,n,t,e,i);break;case"points":case"point":h.drawIcon(this,o,n,t,e,i);break;case"bar":r.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){var i=[];return i=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;nl;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={screen_x:(-e.screen_x+6*i.screen_x+o.screen_x)*h,screen_y:(-e.screen_y+6*i.screen_y+o.screen_y)*h},r={screen_x:(i.screen_x+6*o.screen_x-n.screen_x)*h,screen_y:(i.screen_y+6*o.screen_y-n.screen_y)*h},a.push([s.screen_x,s.screen_y]),a.push([r.screen_x,r.screen_y]),a.push([o.screen_x,o.screen_y]);return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);var o,n,s,r,a,h,d,l,u,c,p,m,f,g,v,y,b,_,w,x=[];x.push([Math.round(t[0].screen_x),Math.round(t[0].screen_y)]);for(var D=t.length,k=0;D-1>k;k++)o=0==k?t[0]:t[k-1],n=t[k],s=t[k+1],r=D>k+2?t[k+2]:s,d=Math.sqrt(Math.pow(o.screen_x-n.screen_x,2)+Math.pow(o.screen_y-n.screen_y,2)),l=Math.sqrt(Math.pow(n.screen_x-s.screen_x,2)+Math.pow(n.screen_y-s.screen_y,2)),u=Math.sqrt(Math.pow(s.screen_x-r.screen_x,2)+Math.pow(s.screen_y-r.screen_y,2)),g=Math.pow(u,i),y=Math.pow(u,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),w=Math.pow(d,i),_=Math.pow(d,2*i),c=2*_+3*w*v+b,p=2*y+3*g*v+b,m=3*w*(w+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*m,screen_y:(-b*o.screen_y+c*n.screen_y+_*s.screen_y)*m},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*f,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*f},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;it?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.resetElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h>> 0; + + for (var i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; + } + function valid__isValid(m) { if (m._isValid == null) { var flags = getParsingFlags(m); + var parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }); m._isValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && @@ -1623,7 +1646,8 @@ return /******/ (function(modules) { // webpackBootstrap !flags.invalidWeekday && !flags.nullInput && !flags.invalidFormat && - !flags.userInvalidated; + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); if (m._strict) { m._isValid = m._isValid && @@ -1766,6 +1790,9 @@ return /******/ (function(modules) { // webpackBootstrap var firstTime = true; return extend(function () { + if (utils_hooks__hooks.deprecationHandler != null) { + utils_hooks__hooks.deprecationHandler(null, msg); + } if (firstTime) { warn(msg + '\nArguments: ' + Array.prototype.slice.call(arguments).join(', ') + '\n' + (new Error()).stack); firstTime = false; @@ -1777,6 +1804,9 @@ return /******/ (function(modules) { // webpackBootstrap var deprecations = {}; function deprecateSimple(name, msg) { + if (utils_hooks__hooks.deprecationHandler != null) { + utils_hooks__hooks.deprecationHandler(name, msg); + } if (!deprecations[name]) { warn(msg); deprecations[name] = true; @@ -1784,6 +1814,7 @@ return /******/ (function(modules) { // webpackBootstrap } utils_hooks__hooks.suppressDeprecationWarnings = false; + utils_hooks__hooks.deprecationHandler = null; function isFunction(input) { return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; @@ -1833,6 +1864,22 @@ return /******/ (function(modules) { // webpackBootstrap } } + var keys; + + if (Object.keys) { + keys = Object.keys; + } else { + keys = function (obj) { + var i, res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + // internal storage for locale config files var locales = {}; var globalLocale; @@ -1987,7 +2034,7 @@ return /******/ (function(modules) { // webpackBootstrap } function locale_locales__listLocales() { - return Object.keys(locales); + return keys(locales); } var aliases = {}; @@ -2066,7 +2113,7 @@ return /******/ (function(modules) { // webpackBootstrap Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; } - var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; + var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; @@ -2119,7 +2166,7 @@ return /******/ (function(modules) { // webpackBootstrap } return function (mom) { - var output = ''; + var output = '', i; for (i = 0; i < length; i++) { output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; } @@ -2248,6 +2295,23 @@ return /******/ (function(modules) { // webpackBootstrap var WEEK = 7; var WEEKDAY = 8; + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + function daysInMonth(year, month) { return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); } @@ -2310,15 +2374,63 @@ return /******/ (function(modules) { // webpackBootstrap this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; } + function units_month__handleStrictParse(monthName, format, strict) { + var i, ii, mom, llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = create_utc__createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + function localeMonthsParse (monthName, format, strict) { var i, mom, regex; + if (this._monthsParseExact) { + return units_month__handleStrictParse.call(this, monthName, format, strict); + } + if (!this._monthsParse) { this._monthsParse = []; this._longMonthsParse = []; this._shortMonthsParse = []; } + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse for (i = 0; i < 12; i++) { // make the regex if we don't have it already mom = create_utc__createUTC([2000, i]); @@ -2444,8 +2556,8 @@ return /******/ (function(modules) { // webpackBootstrap this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); this._monthsShortRegex = this._monthsRegex; - this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')$', 'i'); - this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')$', 'i'); + this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); } function checkOverflow (m) { @@ -2672,7 +2784,7 @@ return /******/ (function(modules) { // webpackBootstrap // MOMENTS - var getSetYear = makeGetSet('FullYear', false); + var getSetYear = makeGetSet('FullYear', true); function getIsLeapYear () { return isLeapYear(this.year()); @@ -2941,6 +3053,9 @@ return /******/ (function(modules) { // webpackBootstrap config._a[HOUR] > 0) { getParsingFlags(config).bigHour = undefined; } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; // handle meridiem config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); @@ -3081,7 +3196,7 @@ return /******/ (function(modules) { // webpackBootstrap if (input === undefined) { config._d = new Date(utils_hooks__hooks.now()); } else if (isDate(input)) { - config._d = new Date(+input); + config._d = new Date(input.valueOf()); } else if (typeof input === 'string') { configFromString(config); } else if (isArray(input)) { @@ -3201,7 +3316,7 @@ return /******/ (function(modules) { // webpackBootstrap this._milliseconds = +milliseconds + seconds * 1e3 + // 1000 minutes * 6e4 + // 1000 * 60 - hours * 36e5; // 1000 * 60 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 // Because of dateAddRemove treats 24 hours as different from a // day when working around DST, we need to store them separately this._days = +days + @@ -3271,9 +3386,9 @@ return /******/ (function(modules) { // webpackBootstrap var res, diff; if (model._isUTC) { res = model.clone(); - diff = (isMoment(input) || isDate(input) ? +input : +local__createLocal(input)) - (+res); + diff = (isMoment(input) || isDate(input) ? input.valueOf() : local__createLocal(input).valueOf()) - res.valueOf(); // Use low-level api, because this fn is low-level api. - res._d.setTime(+res._d + diff); + res._d.setTime(res._d.valueOf() + diff); utils_hooks__hooks.updateOffset(res, false); return res; } else { @@ -3434,7 +3549,7 @@ return /******/ (function(modules) { // webpackBootstrap // 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 // and further modified to allow for strings containing both week and day - var isoRegex = /^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$/; + var isoRegex = /^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/; function create__createDuration (input, key) { var duration = input, @@ -3578,7 +3693,7 @@ return /******/ (function(modules) { // webpackBootstrap updateOffset = updateOffset == null ? true : updateOffset; if (milliseconds) { - mom._d.setTime(+mom._d + milliseconds * isAdding); + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); } if (days) { get_set__set(mom, 'Date', get_set__get(mom, 'Date') + days * isAdding); @@ -3623,9 +3738,9 @@ return /******/ (function(modules) { // webpackBootstrap } units = normalizeUnits(!isUndefined(units) ? units : 'millisecond'); if (units === 'millisecond') { - return +this > +localInput; + return this.valueOf() > localInput.valueOf(); } else { - return +localInput < +this.clone().startOf(units); + return localInput.valueOf() < this.clone().startOf(units).valueOf(); } } @@ -3636,14 +3751,16 @@ return /******/ (function(modules) { // webpackBootstrap } units = normalizeUnits(!isUndefined(units) ? units : 'millisecond'); if (units === 'millisecond') { - return +this < +localInput; + return this.valueOf() < localInput.valueOf(); } else { - return +this.clone().endOf(units) < +localInput; + return this.clone().endOf(units).valueOf() < localInput.valueOf(); } } - function isBetween (from, to, units) { - return this.isAfter(from, units) && this.isBefore(to, units); + function isBetween (from, to, units, inclusivity) { + inclusivity = inclusivity || '()'; + return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) && + (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units)); } function isSame (input, units) { @@ -3654,10 +3771,10 @@ return /******/ (function(modules) { // webpackBootstrap } units = normalizeUnits(units || 'millisecond'); if (units === 'millisecond') { - return +this === +localInput; + return this.valueOf() === localInput.valueOf(); } else { - inputMs = +localInput; - return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units)); + inputMs = localInput.valueOf(); + return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); } } @@ -3724,10 +3841,12 @@ return /******/ (function(modules) { // webpackBootstrap adjust = (b - anchor) / (anchor2 - anchor); } - return -(wholeMonthDiff + adjust); + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; } utils_hooks__hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + utils_hooks__hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; function toString () { return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); @@ -3748,7 +3867,10 @@ return /******/ (function(modules) { // webpackBootstrap } function format (inputString) { - var output = formatMoment(this, inputString || utils_hooks__hooks.defaultFormat); + if (!inputString) { + inputString = this.isUtc() ? utils_hooks__hooks.defaultFormatUtc : utils_hooks__hooks.defaultFormat; + } + var output = formatMoment(this, inputString); return this.localeData().postformat(output); } @@ -3827,6 +3949,7 @@ return /******/ (function(modules) { // webpackBootstrap case 'week': case 'isoWeek': case 'day': + case 'date': this.hours(0); /* falls through */ case 'hour': @@ -3860,19 +3983,25 @@ return /******/ (function(modules) { // webpackBootstrap if (units === undefined || units === 'millisecond') { return this; } + + // 'date' is an alias for 'day', so it should be considered as such. + if (units === 'date') { + units = 'day'; + } + return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); } function to_type__valueOf () { - return +this._d - ((this._offset || 0) * 60000); + return this._d.valueOf() - ((this._offset || 0) * 60000); } function unix () { - return Math.floor(+this / 1000); + return Math.floor(this.valueOf() / 1000); } function toDate () { - return this._offset ? new Date(+this) : this._d; + return this._offset ? new Date(this.valueOf()) : this._d; } function toArray () { @@ -4141,9 +4270,15 @@ return /******/ (function(modules) { // webpackBootstrap addRegexToken('d', match1to2); addRegexToken('e', match1to2); addRegexToken('E', match1to2); - addRegexToken('dd', matchWord); - addRegexToken('ddd', matchWord); - addRegexToken('dddd', matchWord); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { var weekday = config._locale.weekdaysParse(input, token, config._strict); @@ -4196,9 +4331,77 @@ return /******/ (function(modules) { // webpackBootstrap return this._weekdaysMin[m.day()]; } + function day_of_week__handleStrictParse(weekdayName, format, strict) { + var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = create_utc__createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + function localeWeekdaysParse (weekdayName, format, strict) { var i, mom, regex; + if (this._weekdaysParseExact) { + return day_of_week__handleStrictParse.call(this, weekdayName, format, strict); + } + if (!this._weekdaysParse) { this._weekdaysParse = []; this._minWeekdaysParse = []; @@ -4209,7 +4412,7 @@ return /******/ (function(modules) { // webpackBootstrap for (i = 0; i < 7; i++) { // make the regex if we don't have it already - mom = local__createLocal([2000, 1]).day(i); + mom = create_utc__createUTC([2000, 1]).day(i); if (strict && !this._fullWeekdaysParse[i]) { this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\.?') + '$', 'i'); this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\.?') + '$', 'i'); @@ -4265,6 +4468,99 @@ return /******/ (function(modules) { // webpackBootstrap return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7); } + var defaultWeekdaysRegex = matchWord; + function weekdaysRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + return this._weekdaysStrictRegex && isStrict ? + this._weekdaysStrictRegex : this._weekdaysRegex; + } + } + + var defaultWeekdaysShortRegex = matchWord; + function weekdaysShortRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + return this._weekdaysShortStrictRegex && isStrict ? + this._weekdaysShortStrictRegex : this._weekdaysShortRegex; + } + } + + var defaultWeekdaysMinRegex = matchWord; + function weekdaysMinRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + return this._weekdaysMinStrictRegex && isStrict ? + this._weekdaysMinStrictRegex : this._weekdaysMinRegex; + } + } + + + function computeWeekdaysParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], + i, mom, minp, shortp, longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = create_utc__createUTC([2000, 1]).day(i); + minp = this.weekdaysMin(mom, ''); + shortp = this.weekdaysShort(mom, ''); + longp = this.weekdays(mom, ''); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 7; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); + } + // FORMATTING addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); @@ -4296,8 +4592,13 @@ return /******/ (function(modules) { // webpackBootstrap return this.hours() % 12 || 12; } + function kFormat() { + return this.hours() || 24; + } + addFormatToken('H', ['HH', 2], 0, 'hour'); addFormatToken('h', ['hh', 2], 0, hFormat); + addFormatToken('k', ['kk', 2], 0, kFormat); addFormatToken('hmm', 0, 0, function () { return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); @@ -4758,6 +5059,13 @@ return /******/ (function(modules) { // webpackBootstrap prototype__proto._weekdaysShort = defaultLocaleWeekdaysShort; prototype__proto.weekdaysParse = localeWeekdaysParse; + prototype__proto._weekdaysRegex = defaultWeekdaysRegex; + prototype__proto.weekdaysRegex = weekdaysRegex; + prototype__proto._weekdaysShortRegex = defaultWeekdaysShortRegex; + prototype__proto.weekdaysShortRegex = weekdaysShortRegex; + prototype__proto._weekdaysMinRegex = defaultWeekdaysMinRegex; + prototype__proto.weekdaysMinRegex = weekdaysMinRegex; + // Hours prototype__proto.isPM = localeIsPM; prototype__proto._meridiemParse = defaultLocaleMeridiemParse; @@ -4769,7 +5077,7 @@ return /******/ (function(modules) { // webpackBootstrap return locale[field](utc, format); } - function list (format, index, field, count, setter) { + function listMonthsImpl (format, index, field) { if (typeof format === 'number') { index = format; format = undefined; @@ -4778,35 +5086,79 @@ return /******/ (function(modules) { // webpackBootstrap format = format || ''; if (index != null) { - return lists__get(format, index, field, setter); + return lists__get(format, index, field, 'month'); } var i; var out = []; - for (i = 0; i < count; i++) { - out[i] = lists__get(format, i, field, setter); + for (i = 0; i < 12; i++) { + out[i] = lists__get(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl (localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (typeof format === 'number') { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (typeof format === 'number') { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = locale_locales__getLocale(), + shift = localeSorted ? locale._week.dow : 0; + + if (index != null) { + return lists__get(format, (index + shift) % 7, field, 'day'); + } + + var i; + var out = []; + for (i = 0; i < 7; i++) { + out[i] = lists__get(format, (i + shift) % 7, field, 'day'); } return out; } function lists__listMonths (format, index) { - return list(format, index, 'months', 12, 'month'); + return listMonthsImpl(format, index, 'months'); } function lists__listMonthsShort (format, index) { - return list(format, index, 'monthsShort', 12, 'month'); + return listMonthsImpl(format, index, 'monthsShort'); } - function lists__listWeekdays (format, index) { - return list(format, index, 'weekdays', 7, 'day'); + function lists__listWeekdays (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); } - function lists__listWeekdaysShort (format, index) { - return list(format, index, 'weekdaysShort', 7, 'day'); + function lists__listWeekdaysShort (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); } - function lists__listWeekdaysMin (format, index) { - return list(format, index, 'weekdaysMin', 7, 'day'); + function lists__listWeekdaysMin (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); } locale_locales__getSetGlobalLocale('en', { @@ -5177,7 +5529,7 @@ return /******/ (function(modules) { // webpackBootstrap // Side effect imports - utils_hooks__hooks.version = '2.12.0'; + utils_hooks__hooks.version = '2.13.0'; setHookCallback(local__createLocal); @@ -18000,7 +18352,7 @@ return /******/ (function(modules) { // webpackBootstrap var props = this.props; var dom = this.dom; - if (!dom || !dom.container || dom.root.clientWidth == 0) return; // when destroyed, or invisible + if (!dom || !dom.container || dom.root.offsetWidth == 0) return; // when destroyed, or invisible DateUtil.updateHiddenDates(this.options.moment, this.body, this.options.hiddenDates); @@ -33032,15 +33384,9 @@ return /******/ (function(modules) { // webpackBootstrap if (newOptions.arrows !== undefined && newOptions.arrows !== null) { if (typeof newOptions.arrows === 'string') { var arrows = newOptions.arrows.toLowerCase(); - if (arrows.indexOf("to") != -1) { - parentOptions.arrows.to.enabled = true; - } - if (arrows.indexOf("middle") != -1) { - parentOptions.arrows.middle.enabled = true; - } - if (arrows.indexOf("from") != -1) { - parentOptions.arrows.from.enabled = true; - } + parentOptions.arrows.to.enabled = arrows.indexOf("to") != -1; + parentOptions.arrows.middle.enabled = arrows.indexOf("middle") != -1; + parentOptions.arrows.from.enabled = arrows.indexOf("from") != -1; } else if (_typeof(newOptions.arrows) === 'object') { util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'to', allowDeletion, globalOptions.arrows); util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'middle', allowDeletion, globalOptions.arrows); @@ -43827,6 +44173,7 @@ return /******/ (function(modules) { // webpackBootstrap __type__: { object: object, boolean: boolean } }, font: { + align: { string: string }, color: { string: string }, size: { number: number }, // px face: { string: string }, diff --git a/dist/vis.map b/dist/vis.map index 688385a5..e4094787 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"sources":["vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","extend","_typeof","Symbol","iterator","obj","constructor","moment","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteRight","right","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","throttle","fn","wait","timeout","needExecution","throttled","setTimeout","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","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","toString","slice","parseColor","isValidRGB","map","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","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","insertSort","compare","k","j","mergeOptions","mergeTarget","options","globalOptions","enabled","binarySearchCustom","orderedItems","comparator","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","global","utils_hooks__hooks","hookCallback","apply","setHookCallback","input","prototype","res","hasOwnProp","create_utc__createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","getParsingFlags","_pf","valid__isValid","_isValid","flags","_d","getTime","invalidWeekday","_strict","bigHour","valid__createInvalid","NaN","isUndefined","copyConfig","to","from","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","stack","deprecateSimple","name","deprecations","isFunction","Function","isObject","locale_set__set","_config","_ordinalParseLenient","RegExp","_ordinalParse","source","mergeConfigs","parentConfig","childConfig","Locale","set","normalizeLocale","toLowerCase","chooseLocale","names","next","loadLocale","oldLocale","locales","globalLocale","_abbr","code","locale_locales__getSetGlobalLocale","values","data","locale_locales__getLocale","defineLocale","abbr","parentLocale","updateLocale","locale_locales__listLocales","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","isValid","getSet","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","addFormatToken","token","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","output","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","monthsShortRegex","_monthsParseExact","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","y","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","defaults","currentDateArray","nowValue","now","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","weekdayOverflow","GG","W","E","local__createLocal","_week","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","hour","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","day","minute","second","millisecond","createFromConfig","prepareConfig","add","preparse","configFromInput","isUTC","pickBy","moments","args","Duration","duration","years","quarters","quarter","weeks","days","hours","minutes","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","offset","separator","utcOffset","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","round","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","absRound","createAdder","direction","period","dur","tmp","isAdding","moment_calendar__calendar","time","formats","sod","startOf","calendar","localInput","endOf","isBetween","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","moment_format__toISOString","inputString","defaultFormat","postformat","withoutSuffix","humanize","fromNow","toNow","newLocaleData","isoWeekday","to_type__valueOf","unix","toObject","toJSON","moment_valid__isValid","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","localeWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","isFormat","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","_minWeekdaysParse","_shortWeekdaysParse","_fullWeekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","getSetDayOfYear","hFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","charAt","localeMeridiem","isLower","parseMs","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","lists__get","setter","list","count","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","threshold","limit","withSuffix","iso_string__toISOString","iso_string__abs","Y","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","defaultMonthsShortRegex","defaultMonthsRegex","parseTwoDigitYear","getSetYear","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","lang","isoWeekYear","defaultLocaleWeek","getSetDayOfMonth","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","get","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","dates","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","firstDayOfWeek","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","ii","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","n","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Hammer","keycharm","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","groupTemplate","labelObj","point","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","items","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","ids","firstType","returnType","allowedValues","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","fieldType","exists","types","raw","converted","JSON","stringify","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","context","entry","clearTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","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","setArmRotation","setArmLength","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","axisColor","gridColor","dataColor","fill","stroke","strokeWidth","dotSizeRatio","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","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","getNumberOfColumns","getNumberOfRows","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","setCameraPosition","horizontal","vertical","distance","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","start","getCurrent","end","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","prettyStep","text","xText","yText","zText","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","cross","topSideVisible","zAvg","lineJoin","lineCap","transBottom","dist","sortDepth","aDiff","bDiff","crossproduct","crossProduct","_getStrokeWidth","radius","arc","PI","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","mixin","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","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","step2","step5","toPrecision","getStep","propagating","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","hammer","events","propagatedHandler","srcEvent","_handled","stopped","stopPropagation","srcStop","bind","firstTarget","elemHammer","_handlers","Manager","PropagatingHammer","o","assign","wrapper","pointerType","isFirst","handler","eventType","hammers","idx","exportName","setTimeoutContext","bindFn","invokeArrayArg","arg","each","message","deprecationMessage","inherit","child","properties","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","str","find","inArray","src","findByKey","uniqueArray","results","prefixed","property","prefix","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","touch","mouse","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","nextKey","dest","merge","MOBILE_REGEX","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","getTouchAction","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","force","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","shiftKey","bindAll","getKey","unbind","newBindings","Timeline","Graph2d","timeline","Core","DateUtil","Range","TimeStep","components","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","DataScale","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","_interopRequireDefault","__esModule","default","groups","forthArgument","defaultOptions","autoResize","throttleRedraw","orientation","axis","rtl","maxHeight","minHeight","_create","body","domProps","emitter","hiddenDates","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","fitDone","getItemRange","setWindow","animation","fit","setGroups","setItems","_redraw","_Configurator","_Configurator2","_Validator","_Validator2","printStyle","allOptions","configureOptions","_createConfigurator","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","focus","itemData","dataset","getDataRange","_this","minItem","maxItem","factor","lhs","rhs","getStart","getEnd","show","repositionX","startSide","getWidthRight","endSide","getWidthLeft","centerContainer","itemFromTarget","group","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","pageY","_classCallCheck","instance","Constructor","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_ColorPicker","_ColorPicker2","Configurator","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","_showPopupIfNeeded","path","_arguments","_this2","_len","_key","_ret2","div","objectLabel","select","selectedValue","selected","_update","_makeLabel","err","popupString","popupValue","oninput","itemIndex","_setupPopup","_this3","html","hideTimeout","deleteTimeout","_this4","correspondingElement","checkbox","checked","_this5","defaultColor","_showColorPicker","_this6","insertTo","setColor","setUpdateCallback","colorString","setCloseCallback","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","_label","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","pointer","getOptions","hammerUtil","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","_rgbaArray","rgbObj","alpha","_setColor","display","_generateHueCircle","storePrevious","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","drag","pinch","onTouch","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newTop","newLeft","onRelease","offTouch","offRelease","disablePreventDefaultVertically","pinchRecognizer","Validator","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","_j","_j2","matrix","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","done","_applyRange","updateHiddenDates","newStart","newEnd","getRange","conversion","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","startDate","endDate","zoomKey","getPointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","Activator","onMouseWheel","isActive","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","initialDrawDone","_redrawTimer","scrollTop","scrollTopMin","customTimes","redrawCount","contentContainer","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","_origRedraw","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","some","removeCustomTime","getVisibleItems","getWindow","borderRootHeight","borderRootWidth","autoHeight","containerHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","visibility","contentsOverflow","MAX_REDRAW","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","align","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","groupTouchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","groupHammer","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","addCallback","dirty","displayed","hide","unselect","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","removeItem","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","initialX","dragLeft","_cloneItemData","dragRight","selectedItem","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","ctrlKey","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","updateTimeAllowed","initialEnd","initialStart","newOffset","_moveToGroup","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemSetFromTarget","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","currentWeek","currentMonth","currentYear","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","byStart","byEnd","checkRangedItems","inner","marker","Element","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","limitSize","customOrderedItems","_updateVisibleItems","nostack","_calculateHeight","offsetTop","repositionY","resetSubgroups","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","isVisible","EPSILON","aTime","bTime","iMax","collidingItem","jj","collision","baseClassName","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","getComputedStyle","maxWidth","_repaintDeleteButton","_repaintDragLeft","_repaintDragRight","contentStartPosition","parentWidth","boxWidth","groupChanged","deleteButton","template","_contentToString","removeAttribute","dataAttributes","attributes","setAttribute","outerHTML","itemSetHeight","marginLeft","marginRight","onTop","itemSubgroup","totalHeight","newHeight","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","maxMinorChars","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","nextIsMajor","prevWidth","labelMinor","xFirstMajorLabel","MAX","showMinorGrid","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","nodeValue","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","eventParams","warned","substring","showCurrentTime","currentTimeTimer","boolean","any","function","null","groupsDraggable","linegraph","initialLoad","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","forceGraphUpdate","lastStart","svgElements","groupsUsingDefaultStyles","svg","framework","Bars","Lines","Points","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","groupCounts","extended","orginalY","_updateGraph","rangePerPixelInv","_getSortedGroupIds","grouplist","zIndex","bz","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","below","excludeFromStacking","_stack","_convertYcoordinates","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","dateComparator","first","dataContainer","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","masterAxis","lineOffset","tempGroups","axisUsed","datapoints","screen_x","screen_y","svgHeight","convertValue","setZeroPosition","linegraphOptions","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","alignZeros","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconHeight","iconOffset","groupArray","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","customRange","autoScaleEnd","autoScaleStart","followScale","maxLabelSize","getLines","major","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","zeroAlign","formattingFunction","majorSteps","minorSteps","customLines","minorStepIdx","magnitudefactor","determineScale","rounded","setCharHeight","setHeight","minimumStepValue","orderOfMagnitude","solutionFound","stepSize","is_major","getFirstMajor","majorStep","formatValue","bottomOffset","oldStepIdx","oldStart","oldEnd","increaseMagnitude","decreaseMagnitude","otherZero","otherStep","newRange","myOriginalZero","majorOffset","zeroOffset","pixels","usingDefaultStyle","zeroPosition","drawIcon","icon","Bargraph","fillHeight","outline","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","amount","resolved","accumulatedNegative","accumulatedPositive","pointData","groupLabel","_getStackedYRange","xpos","getGroupTemplate","callbackResult","getCallback","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","bp1","bp2","normalization","d1","d2","d3","A","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","Network","network","Images","dotparser","gephiParser","convertDot","DOTToGraph","convertGephi","parseGephi","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_Images2","_Groups2","_Canvas2","selectionHandler","_SelectionHandler2","interactionHandler","_InteractionHandler2","_View2","renderer","_CanvasRenderer2","_PhysicsEngine2","layoutEngine","_LayoutEngine2","clustering","_Clustering2","manipulation","_ManipulationSystem2","nodesHandler","_NodesHandler2","edgesHandler","_EdgesHandler2","_KamadaKawai2","_Images","_Groups","_NodesHandler","_EdgesHandler","_PhysicsEngine","_Clustering","_CanvasRenderer","_Canvas","_View","_InteractionHandler","_SelectionHandler","_LayoutEngine","_ManipulationSystem","_KamadaKawai","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","imageBroken","url","imageToCache","brokenUrl","imageToLoadBrokenUrlOn","onerror","_addImageToCache","Image","imageToRedrawWith","cachedImage","img","onload","_redrawWithImage","_tryloadBrokenUrl","Groups","defaultIndex","groupsArray","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_index","_Node","_Node2","_Label","_Label2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","parseOptions","updateShape","updateLabelModule","_reset","_nodeId2","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","constructorClass","clearPositions","dataArray","_node","_node2","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_Box","_Box2","_Circle","_Circle2","_CircularImage","_CircularImage2","_Database","_Database2","_Diamond","_Diamond2","_Dot","_Dot2","_Ellipse","_Ellipse2","_Icon","_Icon2","_Image","_Image2","_Square","_Square2","_Star","_Star2","_Text","_Text2","_Triangle","_Triangle2","_TriangleDown","_TriangleDown2","Node","imagelist","baseSize","baseFontSize","predefinedPosition","labelModule","currentShape","groupObj","imageObj","load","distanceToBorder","sizeDiff","fontDiff","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray","sliceIterator","_arr","_n","_e","_s","Label","edgelabel","pointToSelf","fontOptions","yLine","isEdgeLabel","nodeOptions","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor2","_getColor","_getColor3","fontColor","_setAlignment2","_setAlignment","_setAlignment3","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","__proto__","_NodeBase2","_NodeBase3","Box","_NodeBase","getPrototypeOf","textSize","getTextSize","selectionLineWidth","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","ratio","neutralborderWidth","globalAlpha","can2","ctx2","drawImage","iterations","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","Database","database","_distanceToBorder","_ShapeBase2","_ShapeBase3","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","iconTextSpacing","Square","Star","Text","Triangle","TriangleDown","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","arrowStrikethrough","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","_edgeId","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","edgeType","colorDirty","_CubicBezierEdge","_CubicBezierEdge2","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","Edge","baseWidth","connected","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","core","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","_CubicBezierEdgeBase2","_CubicBezierEdgeBase3","CubicBezierEdge","_CubicBezierEdgeBase","viaNodes","via1","via2","bezierCurveTo","x1","y1","x2","y2","_getViaCoordinates","nearNode","_findBorderPositionBezier","x3","y3","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref4","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","minDistance","lastX","lastY","_getDistanceToLine","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","via","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData2","_getCircleData","_getCircleData3","_circle","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData8","_getCircleData9","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData10","_getCircleData11","px","py","something","u","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData12","_getCircleData13","xi","yi","arrowCore","arrow","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","BezierEdgeStatic","xVia","yVia","pi","originalAngle","myAngle","_pi","_originalAngle","_myAngle","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_BarnesHutSolver","_BarnesHutSolver2","_RepulsionSolver","_RepulsionSolver2","_HierarchicalRepulsionSolver","_HierarchicalRepulsionSolver2","_SpringSolver","_SpringSolver2","_HierarchicalSpringSolver","_HierarchicalSpringSolver2","_CentralGravitySolver","_CentralGravitySolver2","_FA2BasedRepulsionSolver","_FA2BasedRepulsionSolver2","_FA2BasedCentralGravitySolver","_FA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestep","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","updateInterval","onlyDynamicEdges","timestep","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","amountOfIterations","calculateForces","moveNodes","revert","_evaluateStepQuality","nodeIds","positions","vx","vy","dpos","reference","maxNodeVelocity","averageNodeVelocity","velocityAdaptiveThreshold","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","colorFactor","forceSize","arrowSize","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","_i2","totalFx","totalFy","_i3","correctionFx","correctionFy","_i4","_nodeId3","CentralGravitySolver","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","degree","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_NetworkUtil","_NetworkUtil2","_Cluster","_Cluster2","ClusterEngine","clusteredNodes","clusteredEdges","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","cloneOptions","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","gatheringSuccessful","childNodeId","_getConnectedId","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","clusterEdgeProperties","childNode","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","_backupEdgeOptions","processProperties","childNodesOptions","childEdgesOptions","_clonedOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","originalOptions","clusterNodeId","releaseFunction","clusterPosition","newPositions","_containedNode","_nodeId4","_containedNode2","_nodeId5","_containedNode3","edgesToBeDeleted","otherCluster","transferEdge","replacedEdge","_restoreEdge","nodesArray","reverse","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node3","Cluster","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","cameraState","hammerFrame","_cleanUp","previousWidth","previousHeight","widthRatio","heightRatio","newScale","currentViewCenter","distanceFromCenter","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","previousRatio","_getCameraState","_setCameraState","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","numberOfNodes","yDistance","xZoomLevel","yZoomLevel","findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","_NavigationHandler","_NavigationHandler2","_Popup","_Popup2","InteractionHandler","navigationHandler","popup","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanged","edgesChanged","nodeSelected","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","Popup","doShow","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","setPhysics","optionsBackup","improvedLayout","hierarchical","levelSeparation","nodeSpacing","treeSpacing","blockShifting","edgeMinimization","parentCentralization","sortMethod","setupHierarchicalLayout","layoutNetwork","prevHierarchicalState","adaptAllOptionsForHierarchicalLayout","MAX_LEVELS","clusterThreshold","startLength","before","clusterBridges","after","_declusterAll","info","kamadaKawai","_shiftToCenter","getRangeCore","clustersPresent","definedLevel","definedPositions","undefinedLevel","hierarchicalLevels","lastNodeOnLevel","hierarchicalChildrenReference","hierarchicalParentReference","hierarchicalTrees","treeIndex","distributionOrdering","distributionIndex","distributionOrderingPresence","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","stillShifting","branches","shiftTrees","treeSizes","getTreeSizes","shiftTree","_getPositionForHierarchy","_setPositionForHierarchy","getTreeSize","treeWidths","getBranchNodes","getBranchBoundary","branchMap","maxLevel","minSpace","maxSpace","branchNode","_getSpaceAroundNode2","_getSpaceAroundNode","_getSpaceAroundNode3","minSpaceNode","maxSpaceNode","getMaxLevel","getCollisionLevel","maxLevel1","maxLevel2","hasSameParent","parents1","parents2","shiftElementsCloser","levels","centerParents","levelNodes","branchShiftCallback","centerParent","diffAbs","branchNodes1","branchNodes2","_getBranchBoundary","_getBranchBoundary2","max1","_getBranchBoundary3","_getBranchBoundary4","min2","minSpace2","diffBranch","_shiftBlock","_centerParent","minimizeEdgeLength","allEdges","nodeLevel","C2","referenceNodes","aboveEdges","otherNode","getFx","getDFx","getGuess","guess","guessMap","dfx","moveBranch","branchNodes","_getBranchBoundary5","_getBranchBoundary6","minSpaceBranch","maxSpaceBranch","branchOffset","_getSpaceAroundNode4","_getSpaceAroundNode5","newPosition","minimizeEdgeLengthBottomUp","shiftBranchesCloserBottomUp","centerAllParents","centerAllParentsBottomUp","useMap","prevNode","prevPos","nextNode","nextPos","parents","parentId","minPos","maxPos","_i5","_getSpaceAroundNode6","_getSpaceAroundNode7","positionedNodes","nodeArray","_indexArrayToNodes","_sortNodeArray","handledNodeCount","_validataPositionAndContinue","parentLevel","_i6","childNodeLevel","_i7","previousPos","sharedParent","_findCommonParent","withChild","_placeBranchNodes","hubSize","levelDownstream","nodeA","nodeB","_crawlNetwork","minLevel","customCallback","levelByDirection","levelA","_setMinLevelToZero","fillInRelations","_this7","startingNodeId","crawler","tree","childA","childB","_this8","iterateParents","findParent","foundParent","doNotUpdate","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","deleteBtnClass","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","_FloydWarshall","_FloydWarshall2","KamadaKawai","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","innerThreshold","maxInnerIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode3","_moveNode","_getEnergy2","_getEnergy","_getEnergy3","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy4","_getEnergy5","x_m","y_m","iIdx","x_i","y_i","denominator","K_matrix","L_matrix","d2E_dx2","d2E_dxdy","d2E_dy2","FloydWarshall","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","kappa","ox","oy","xe","ye","xm","ym","wEllipse","hEllipse","ymb","yeb","xt","yt","xl","yl","xr","yr","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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","file":"vis.map"} \ No newline at end of file +{"version":3,"sources":["vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","extend","_typeof","Symbol","iterator","obj","constructor","moment","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteRight","right","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","throttle","fn","wait","timeout","needExecution","throttled","setTimeout","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","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","toString","slice","parseColor","isValidRGB","map","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","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","insertSort","compare","k","j","mergeOptions","mergeTarget","options","globalOptions","enabled","binarySearchCustom","orderedItems","comparator","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","global","utils_hooks__hooks","hookCallback","apply","setHookCallback","input","prototype","res","hasOwnProp","create_utc__createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","getParsingFlags","_pf","valid__isValid","_isValid","flags","parsedParts","some","_d","getTime","invalidWeekday","_strict","bigHour","valid__createInvalid","NaN","isUndefined","copyConfig","to","from","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","stack","deprecateSimple","name","deprecations","isFunction","Function","isObject","locale_set__set","_config","_ordinalParseLenient","RegExp","_ordinalParse","source","mergeConfigs","parentConfig","childConfig","Locale","set","normalizeLocale","toLowerCase","chooseLocale","names","next","loadLocale","oldLocale","locales","globalLocale","_abbr","code","locale_locales__getSetGlobalLocale","values","data","locale_locales__getLocale","defineLocale","abbr","parentLocale","updateLocale","locale_locales__listLocales","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","isValid","getSet","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","addFormatToken","token","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","output","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","units_month__handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","y","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","defaults","currentDateArray","nowValue","now","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","weekdayOverflow","GG","W","E","local__createLocal","_week","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","hour","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","day","minute","second","millisecond","createFromConfig","prepareConfig","add","preparse","configFromInput","isUTC","pickBy","moments","args","Duration","duration","years","quarters","quarter","weeks","days","hours","minutes","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","offset","separator","utcOffset","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","round","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","absRound","createAdder","direction","period","dur","tmp","isAdding","moment_calendar__calendar","time","formats","sod","startOf","calendar","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","moment_format__toISOString","inputString","defaultFormatUtc","defaultFormat","postformat","withoutSuffix","humanize","fromNow","toNow","newLocaleData","isoWeekday","to_type__valueOf","unix","toObject","toJSON","moment_valid__isValid","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","localeWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","isFormat","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","day_of_week__handleStrictParse","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","getSetDayOfYear","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","charAt","localeMeridiem","isLower","parseMs","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","lists__get","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","threshold","limit","withSuffix","iso_string__toISOString","iso_string__abs","Y","D","asSeconds","fun","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","o","defaultLocaleMonths","defaultLocaleMonthsShort","defaultMonthsShortRegex","defaultMonthsRegex","parseTwoDigitYear","getSetYear","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","lang","isoWeekYear","defaultLocaleWeek","getSetDayOfMonth","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","_isPm","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","get","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","dates","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","firstDayOfWeek","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","n","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Hammer","keycharm","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","groupTemplate","labelObj","point","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","items","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","ids","firstType","returnType","allowedValues","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","fieldType","count","exists","types","raw","converted","JSON","stringify","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","context","entry","clearTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","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","setArmRotation","setArmLength","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","axisColor","gridColor","dataColor","fill","stroke","strokeWidth","dotSizeRatio","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","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","getNumberOfColumns","getNumberOfRows","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","setCameraPosition","horizontal","vertical","distance","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","start","getCurrent","end","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","prettyStep","text","xText","yText","zText","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","cross","topSideVisible","zAvg","lineJoin","lineCap","transBottom","dist","sortDepth","aDiff","bDiff","crossproduct","crossProduct","_getStrokeWidth","radius","arc","PI","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","mixin","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","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","step2","step5","toPrecision","getStep","propagating","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","hammer","events","propagatedHandler","srcEvent","_handled","stopped","stopPropagation","srcStop","bind","firstTarget","elemHammer","_handlers","Manager","PropagatingHammer","assign","wrapper","pointerType","isFirst","handler","eventType","hammers","idx","exportName","setTimeoutContext","bindFn","invokeArrayArg","arg","each","message","deprecationMessage","inherit","child","properties","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","str","find","inArray","src","findByKey","uniqueArray","results","prefixed","property","prefix","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","touch","mouse","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","nextKey","dest","merge","MOBILE_REGEX","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","getTouchAction","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","force","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","shiftKey","bindAll","getKey","unbind","newBindings","Timeline","Graph2d","timeline","Core","DateUtil","Range","TimeStep","components","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","DataScale","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","_interopRequireDefault","__esModule","default","groups","forthArgument","defaultOptions","autoResize","throttleRedraw","orientation","axis","rtl","maxHeight","minHeight","_create","body","domProps","emitter","hiddenDates","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","fitDone","getItemRange","setWindow","animation","fit","setGroups","setItems","_redraw","_Configurator","_Configurator2","_Validator","_Validator2","printStyle","allOptions","configureOptions","_createConfigurator","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","focus","itemData","dataset","getDataRange","_this","minItem","maxItem","factor","lhs","rhs","getStart","getEnd","show","repositionX","startSide","getWidthRight","endSide","getWidthLeft","centerContainer","itemFromTarget","group","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","pageY","_classCallCheck","instance","Constructor","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_ColorPicker","_ColorPicker2","Configurator","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","_showPopupIfNeeded","path","_arguments","_this2","_len","_key","_ret2","div","objectLabel","select","selectedValue","selected","_update","_makeLabel","err","popupString","popupValue","oninput","itemIndex","_setupPopup","_this3","html","hideTimeout","deleteTimeout","_this4","correspondingElement","checkbox","checked","_this5","defaultColor","_showColorPicker","_this6","insertTo","setColor","setUpdateCallback","colorString","setCloseCallback","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","_label","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","pointer","getOptions","hammerUtil","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","_rgbaArray","rgbObj","alpha","_setColor","display","_generateHueCircle","storePrevious","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","drag","pinch","onTouch","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newTop","newLeft","onRelease","offTouch","offRelease","disablePreventDefaultVertically","pinchRecognizer","Validator","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","_j","_j2","matrix","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","done","_applyRange","updateHiddenDates","newStart","newEnd","getRange","conversion","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","startDate","endDate","zoomKey","getPointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","Activator","onMouseWheel","isActive","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","initialDrawDone","_redrawTimer","scrollTop","scrollTopMin","customTimes","redrawCount","contentContainer","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","_origRedraw","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","removeCustomTime","getVisibleItems","getWindow","borderRootHeight","borderRootWidth","autoHeight","containerHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","visibility","contentsOverflow","MAX_REDRAW","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","align","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","groupTouchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","groupHammer","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","addCallback","dirty","displayed","hide","unselect","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","removeItem","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","initialX","dragLeft","_cloneItemData","dragRight","selectedItem","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","ctrlKey","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","updateTimeAllowed","initialEnd","initialStart","newOffset","_moveToGroup","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemSetFromTarget","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","currentWeek","currentMonth","currentYear","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","byStart","byEnd","checkRangedItems","inner","marker","Element","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","limitSize","customOrderedItems","_updateVisibleItems","nostack","_calculateHeight","offsetTop","repositionY","resetSubgroups","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","isVisible","EPSILON","aTime","bTime","iMax","collidingItem","jj","collision","baseClassName","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","getComputedStyle","maxWidth","_repaintDeleteButton","_repaintDragLeft","_repaintDragRight","contentStartPosition","parentWidth","boxWidth","groupChanged","deleteButton","template","_contentToString","removeAttribute","dataAttributes","attributes","setAttribute","outerHTML","itemSetHeight","marginLeft","marginRight","onTop","itemSubgroup","totalHeight","newHeight","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","maxMinorChars","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","nextIsMajor","prevWidth","labelMinor","xFirstMajorLabel","MAX","showMinorGrid","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","nodeValue","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","eventParams","warned","substring","showCurrentTime","currentTimeTimer","boolean","any","function","null","groupsDraggable","linegraph","initialLoad","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","forceGraphUpdate","lastStart","svgElements","groupsUsingDefaultStyles","svg","framework","Bars","Lines","Points","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","groupCounts","extended","orginalY","_updateGraph","rangePerPixelInv","_getSortedGroupIds","grouplist","zIndex","bz","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","below","excludeFromStacking","_stack","_convertYcoordinates","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","dateComparator","first","dataContainer","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","masterAxis","lineOffset","tempGroups","axisUsed","datapoints","screen_x","screen_y","svgHeight","convertValue","setZeroPosition","linegraphOptions","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","alignZeros","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconHeight","iconOffset","groupArray","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","customRange","autoScaleEnd","autoScaleStart","followScale","maxLabelSize","getLines","major","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","zeroAlign","formattingFunction","majorSteps","minorSteps","customLines","minorStepIdx","magnitudefactor","determineScale","rounded","setCharHeight","setHeight","minimumStepValue","orderOfMagnitude","solutionFound","stepSize","is_major","getFirstMajor","majorStep","formatValue","bottomOffset","oldStepIdx","oldStart","oldEnd","increaseMagnitude","decreaseMagnitude","otherZero","otherStep","newRange","myOriginalZero","majorOffset","zeroOffset","pixels","usingDefaultStyle","zeroPosition","drawIcon","icon","Bargraph","fillHeight","outline","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","amount","resolved","accumulatedNegative","accumulatedPositive","pointData","groupLabel","_getStackedYRange","xpos","getGroupTemplate","callbackResult","getCallback","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","bp1","bp2","normalization","d1","d2","d3","A","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","Network","network","Images","dotparser","gephiParser","convertDot","DOTToGraph","convertGephi","parseGephi","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_Images2","_Groups2","_Canvas2","selectionHandler","_SelectionHandler2","interactionHandler","_InteractionHandler2","_View2","renderer","_CanvasRenderer2","_PhysicsEngine2","layoutEngine","_LayoutEngine2","clustering","_Clustering2","manipulation","_ManipulationSystem2","nodesHandler","_NodesHandler2","edgesHandler","_EdgesHandler2","_KamadaKawai2","_Images","_Groups","_NodesHandler","_EdgesHandler","_PhysicsEngine","_Clustering","_CanvasRenderer","_Canvas","_View","_InteractionHandler","_SelectionHandler","_LayoutEngine","_ManipulationSystem","_KamadaKawai","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","imageBroken","url","imageToCache","brokenUrl","imageToLoadBrokenUrlOn","onerror","_addImageToCache","Image","imageToRedrawWith","cachedImage","img","onload","_redrawWithImage","_tryloadBrokenUrl","Groups","defaultIndex","groupsArray","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_index","_Node","_Node2","_Label","_Label2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","parseOptions","updateShape","updateLabelModule","_reset","_nodeId2","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","constructorClass","clearPositions","dataArray","_node","_node2","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_Box","_Box2","_Circle","_Circle2","_CircularImage","_CircularImage2","_Database","_Database2","_Diamond","_Diamond2","_Dot","_Dot2","_Ellipse","_Ellipse2","_Icon","_Icon2","_Image","_Image2","_Square","_Square2","_Star","_Star2","_Text","_Text2","_Triangle","_Triangle2","_TriangleDown","_TriangleDown2","Node","imagelist","baseSize","baseFontSize","predefinedPosition","labelModule","currentShape","groupObj","imageObj","load","distanceToBorder","sizeDiff","fontDiff","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray","sliceIterator","_arr","_n","_e","_s","Label","edgelabel","pointToSelf","fontOptions","yLine","isEdgeLabel","nodeOptions","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor2","_getColor","_getColor3","fontColor","_setAlignment2","_setAlignment","_setAlignment3","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","__proto__","_NodeBase2","_NodeBase3","Box","_NodeBase","getPrototypeOf","textSize","getTextSize","selectionLineWidth","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","ratio","neutralborderWidth","globalAlpha","can2","ctx2","drawImage","iterations","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","Database","database","_distanceToBorder","_ShapeBase2","_ShapeBase3","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","iconTextSpacing","Square","Star","Text","Triangle","TriangleDown","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","arrowStrikethrough","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","_edgeId","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","edgeType","colorDirty","_CubicBezierEdge","_CubicBezierEdge2","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","Edge","baseWidth","connected","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","core","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","_CubicBezierEdgeBase2","_CubicBezierEdgeBase3","CubicBezierEdge","_CubicBezierEdgeBase","viaNodes","via1","via2","bezierCurveTo","x1","y1","x2","y2","_getViaCoordinates","nearNode","_findBorderPositionBezier","x3","y3","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref4","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","minDistance","lastX","lastY","_getDistanceToLine","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","via","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData2","_getCircleData","_getCircleData3","_circle","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData8","_getCircleData9","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData10","_getCircleData11","px","py","something","u","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData12","_getCircleData13","xi","yi","arrowCore","arrow","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","BezierEdgeStatic","xVia","yVia","pi","originalAngle","myAngle","_pi","_originalAngle","_myAngle","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_BarnesHutSolver","_BarnesHutSolver2","_RepulsionSolver","_RepulsionSolver2","_HierarchicalRepulsionSolver","_HierarchicalRepulsionSolver2","_SpringSolver","_SpringSolver2","_HierarchicalSpringSolver","_HierarchicalSpringSolver2","_CentralGravitySolver","_CentralGravitySolver2","_FA2BasedRepulsionSolver","_FA2BasedRepulsionSolver2","_FA2BasedCentralGravitySolver","_FA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestep","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","updateInterval","onlyDynamicEdges","timestep","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","amountOfIterations","calculateForces","moveNodes","revert","_evaluateStepQuality","nodeIds","positions","vx","vy","dpos","reference","maxNodeVelocity","averageNodeVelocity","velocityAdaptiveThreshold","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","colorFactor","forceSize","arrowSize","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","_i2","totalFx","totalFy","_i3","correctionFx","correctionFy","_i4","_nodeId3","CentralGravitySolver","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","degree","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_NetworkUtil","_NetworkUtil2","_Cluster","_Cluster2","ClusterEngine","clusteredNodes","clusteredEdges","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","cloneOptions","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","gatheringSuccessful","childNodeId","_getConnectedId","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","clusterEdgeProperties","childNode","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","_backupEdgeOptions","processProperties","childNodesOptions","childEdgesOptions","_clonedOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","originalOptions","clusterNodeId","releaseFunction","clusterPosition","newPositions","_containedNode","_nodeId4","_containedNode2","_nodeId5","_containedNode3","edgesToBeDeleted","otherCluster","transferEdge","replacedEdge","_restoreEdge","nodesArray","reverse","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node3","Cluster","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","cameraState","hammerFrame","_cleanUp","previousWidth","previousHeight","widthRatio","heightRatio","newScale","currentViewCenter","distanceFromCenter","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","previousRatio","_getCameraState","_setCameraState","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","numberOfNodes","yDistance","xZoomLevel","yZoomLevel","findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","_NavigationHandler","_NavigationHandler2","_Popup","_Popup2","InteractionHandler","navigationHandler","popup","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanged","edgesChanged","nodeSelected","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","Popup","doShow","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","setPhysics","optionsBackup","improvedLayout","hierarchical","levelSeparation","nodeSpacing","treeSpacing","blockShifting","edgeMinimization","parentCentralization","sortMethod","setupHierarchicalLayout","layoutNetwork","prevHierarchicalState","adaptAllOptionsForHierarchicalLayout","MAX_LEVELS","clusterThreshold","startLength","before","clusterBridges","after","_declusterAll","info","kamadaKawai","_shiftToCenter","getRangeCore","clustersPresent","definedLevel","definedPositions","undefinedLevel","hierarchicalLevels","lastNodeOnLevel","hierarchicalChildrenReference","hierarchicalParentReference","hierarchicalTrees","treeIndex","distributionOrdering","distributionIndex","distributionOrderingPresence","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","stillShifting","branches","shiftTrees","treeSizes","getTreeSizes","shiftTree","_getPositionForHierarchy","_setPositionForHierarchy","getTreeSize","treeWidths","getBranchNodes","getBranchBoundary","branchMap","maxLevel","minSpace","maxSpace","branchNode","_getSpaceAroundNode2","_getSpaceAroundNode","_getSpaceAroundNode3","minSpaceNode","maxSpaceNode","getMaxLevel","getCollisionLevel","maxLevel1","maxLevel2","hasSameParent","parents1","parents2","shiftElementsCloser","levels","centerParents","levelNodes","branchShiftCallback","centerParent","diffAbs","branchNodes1","branchNodes2","_getBranchBoundary","_getBranchBoundary2","max1","_getBranchBoundary3","_getBranchBoundary4","min2","minSpace2","diffBranch","_shiftBlock","_centerParent","minimizeEdgeLength","allEdges","nodeLevel","C2","referenceNodes","aboveEdges","otherNode","getFx","getDFx","getGuess","guess","guessMap","dfx","moveBranch","branchNodes","_getBranchBoundary5","_getBranchBoundary6","minSpaceBranch","maxSpaceBranch","branchOffset","_getSpaceAroundNode4","_getSpaceAroundNode5","newPosition","minimizeEdgeLengthBottomUp","shiftBranchesCloserBottomUp","centerAllParents","centerAllParentsBottomUp","useMap","prevNode","prevPos","nextNode","nextPos","parents","parentId","minPos","maxPos","_i5","_getSpaceAroundNode6","_getSpaceAroundNode7","positionedNodes","nodeArray","_indexArrayToNodes","_sortNodeArray","handledNodeCount","_validataPositionAndContinue","parentLevel","_i6","childNodeLevel","_i7","previousPos","sharedParent","_findCommonParent","withChild","_placeBranchNodes","hubSize","levelDownstream","nodeA","nodeB","_crawlNetwork","minLevel","customCallback","levelByDirection","levelA","_setMinLevelToZero","fillInRelations","_this7","startingNodeId","crawler","tree","childA","childB","_this8","iterateParents","findParent","foundParent","doNotUpdate","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","deleteBtnClass","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","_FloydWarshall","_FloydWarshall2","KamadaKawai","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","innerThreshold","maxInnerIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode3","_moveNode","_getEnergy2","_getEnergy","_getEnergy3","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy4","_getEnergy5","x_m","y_m","iIdx","x_i","y_i","denominator","K_matrix","L_matrix","d2E_dx2","d2E_dxdy","d2E_dy2","FloydWarshall","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","kappa","ox","oy","xe","ye","xm","ym","wEllipse","hEllipse","ymb","yeb","xt","yt","xl","yl","xr","yr","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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","file":"vis.map"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index f0566bd3..92b8ed75 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 4.16.0 - * @date 2016-04-07 + * @version 4.16.1 + * @date 2016-04-18 * * @license * Copyright (C) 2011-2016 Almende B.V, http://almende.com @@ -22,24 +22,24 @@ * * 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(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){var o=i(1);o.extend(e,i(7)),o.extend(e,i(24)),o.extend(e,i(60))},function(t,e,i){var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},n=i(2),s=i(6);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},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=r.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return s.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==o(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var n=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];for(var s in t)void 0!==i[s]&&("object"!==o(i[s])?void 0!==i[s]&&null!==i[s]||void 0===t[s]||n!==!0?t[s]=i[s]:delete t[s]:"object"===o(t[s])&&e.fillIfDefined(t[s],i[s],n))},e.protoExtend=function(t,e){for(var i=1;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var o;if(void 0!==t){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(n.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return o=r.exec(t),o?new Date(Number(o[1])):n(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return n(t);if(t instanceof Date)return n(t.valueOf());if(n.isMoment(t))return n(t);if(e.isString(t))return o=r.exec(t),n(o?Number(o[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(n.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return o=r.exec(t),o?new Date(Number(o[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)){o=r.exec(t);var s;return s=o?new Date(Number(o[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}}};var r=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e="undefined"==typeof t?"undefined":o(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":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;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.throttle=function(t,e){var i=null,o=!1;return function n(){i?o=!0:(o=!1,t(),i=setTimeout(function(){i=null,o&&n()},e))}},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):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,o){return e+e+i+i+o+o});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("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.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)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.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||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var a={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=a.split(t.style.cssText),n=a.split(i),s=e.extend(o,n);t.style.cssText=a.join(s)},e.removeCssText=function(t,e){var i=a.split(t.style.cssText),o=a.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=a.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,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:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.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.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":o(i))){for(var n=Object.create(i),s=0;s0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length<=3||void 0===arguments[3]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===e[i])t[i]=Object.create(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;a>=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o,n){for(var s,r,a,h,d=1e4,l=0,c=0,u=t.length-1,n=void 0!=n?n:function(t,e){return t==e?0:e>t?-1:1};u>=c&&d>l;){if(h=Math.floor(.5*(u+c)),s=t[Math.max(0,h-1)][i],r=t[h][i],a=t[Math.min(t.length-1,h+1)][i],0==n(r,e))return h;if(n(s,e)<0&&n(r,e)>0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?c=h+1:u=h-1,l++}return-1},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,i){t.exports="undefined"!=typeof window&&window.moment||i(3)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Qi.apply(null,arguments)}function i(t){Qi=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in $i)o=$i[i],n=e[o],p(n)||(t[o]=n);return t}function m(t){f(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),to===!1&&(to=!0,e.updateOffset(this),to=!1)}function v(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}function g(t){return 0>t?Math.ceil(t):Math.floor(t)}function y(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=g(e)),i}function b(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&y(t[o])!==y(e[o]))&&r++;return r+s}function w(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function _(t,e){var i=!0;return a(function(){return i&&(w(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),i=!1),e.apply(this,arguments)},e)}function x(t,e){eo[t]||(w(e),eo[t]=!0)}function k(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function O(t){return"[object Object]"===Object.prototype.toString.call(t)}function M(t){var e,i;for(i in t)e=t[i],k(e)?this[i]=e:this["_"+i]=e;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function D(t,e){var i,o=a({},t);for(i in e)r(e,i)&&(O(t[i])&&O(e[i])?(o[i]={},a(o[i],t[i]),a(o[i],e[i])):null!=e[i]?o[i]=e[i]:delete o[i]);return o}function S(t){null!=t&&this.set(t)}function C(t){return t?t.toLowerCase().replace("_","-"):t}function T(t){for(var e,i,o,n,s=0;s0;){if(o=E(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&b(n,i,!0)>=e-1)break;e--}s++}return null}function E(e){var i=null;if(!oo[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=io._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),P(i)}catch(o){}return oo[e]}function P(t,e){var i;return t&&(i=p(e)?z(t):I(t,e),i&&(io=i)),io._abbr}function I(t,e){return null!==e?(e.abbr=t,null!=oo[t]?(x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),e=D(oo[t]._config,e)):null!=e.parentLocale&&(null!=oo[e.parentLocale]?e=D(oo[e.parentLocale]._config,e):x("parentLocaleUndefined","specified parentLocale is not defined yet")),oo[t]=new S(e),P(t),oo[t]):(delete oo[t],null)}function N(t,e){if(null!=e){var i;null!=oo[t]&&(e=D(oo[t]._config,e)),i=new S(e),i.parentLocale=oo[t],oo[t]=i,P(t)}else null!=oo[t]&&(null!=oo[t].parentLocale?oo[t]=oo[t].parentLocale:null!=oo[t]&&delete oo[t]);return oo[t]}function z(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return io;if(!o(t)){if(e=E(t))return e;t=[t]}return T(t)}function L(){return Object.keys(oo)}function R(t,e){var i=t.toLowerCase();no[i]=no[i+"s"]=no[e]=t}function A(t){return"string"==typeof t?no[t]||no[t.toLowerCase()]:void 0}function B(t){var e,i,o={};for(i in t)r(t,i)&&(e=A(i),e&&(o[e]=t[i]));return o}function F(t,i){return function(o){return null!=o?(H(this,t,o),e.updateOffset(this,i),this):j(this,t)}}function j(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function H(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function W(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=A(t),k(this[t]))return this[t](e);return this}function Y(t,e,i){var o=""+Math.abs(t),n=e-o.length,s=t>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function G(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(ho[t]=n),e&&(ho[e[0]]=function(){return Y(n.apply(this,arguments),e[1],e[2])}),i&&(ho[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function V(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function U(t){var e,i,o=t.match(so);for(e=0,i=o.length;i>e;e++)ho[o[e]]?o[e]=ho[o[e]]:o[e]=V(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function q(t,e){return t.isValid()?(e=X(e,t.localeData()),ao[e]=ao[e]||U(e),ao[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(ro.lastIndex=0;o>=0&&ro.test(t);)t=t.replace(ro,i),ro.lastIndex=0,o-=1;return t}function Z(t,e,i){So[t]=k(e)?e:function(t,o){return t&&i?i:e}}function K(t,e){return r(So,t)?So[t](e._strict,e._locale):new RegExp(J(t))}function J(t){return Q(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function Q(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function $(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=y(t)}),i=0;io;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function rt(t,e){var i;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=y(e);else if(e=t.localeData().monthsParse(e),"number"!=typeof e)return t;return i=Math.min(t.date(),it(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t}function at(t){return null!=t?(rt(this,t),e.updateOffset(this,!0),this):j(this,"Month")}function ht(){return it(this.year(),this.month())}function dt(t){return this._monthsParseExact?(r(this,"_monthsRegex")||ct.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function lt(t){return this._monthsParseExact?(r(this,"_monthsRegex")||ct.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function ct(){function t(t,e){return e.length-t.length}var e,i,o=[],n=[],s=[];for(e=0;12>e;e++)i=h([2e3,e]),o.push(this.monthsShort(i,"")),n.push(this.months(i,"")),s.push(this.months(i,"")),s.push(this.monthsShort(i,""));for(o.sort(t),n.sort(t),s.sort(t),e=0;12>e;e++)o[e]=Q(o[e]),n[e]=Q(n[e]),s[e]=Q(s[e]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")$","i"),this._monthsShortStrictRegex=new RegExp("^("+o.join("|")+")$","i")}function ut(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[Eo]<0||i[Eo]>11?Eo:i[Po]<1||i[Po]>it(i[To],i[Eo])?Po:i[Io]<0||i[Io]>24||24===i[Io]&&(0!==i[No]||0!==i[zo]||0!==i[Lo])?Io:i[No]<0||i[No]>59?No:i[zo]<0||i[zo]>59?zo:i[Lo]<0||i[Lo]>999?Lo:-1,l(t)._overflowDayOfYear&&(To>e||e>Po)&&(e=Po),l(t)._overflowWeeks&&-1===e&&(e=Ro),l(t)._overflowWeekday&&-1===e&&(e=Ao),l(t).overflow=e),t}function pt(t){var e,i,o,n,s,r,a=t._i,h=Yo.exec(a)||Go.exec(a);if(h){for(l(t).iso=!0,e=0,i=Uo.length;i>e;e++)if(Uo[e][1].exec(h[1])){n=Uo[e][0],o=Uo[e][2]!==!1;break}if(null==n)return void(t._isValid=!1);if(h[3]){for(e=0,i=qo.length;i>e;e++)if(qo[e][1].exec(h[3])){s=(h[2]||" ")+qo[e][0];break}if(null==s)return void(t._isValid=!1)}if(!o&&null!=s)return void(t._isValid=!1);if(h[4]){if(!Vo.exec(h[4]))return void(t._isValid=!1);r="Z"}t._f=n+(s||"")+(r||""),Ct(t)}else t._isValid=!1}function ft(t){var i=Xo.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(pt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function mt(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 100>t&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function vt(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function gt(t){return yt(t)?366:365}function yt(t){return t%4===0&&t%100!==0||t%400===0}function bt(){return yt(this.year())}function wt(t,e,i){var o=7+e-i,n=(7+vt(t,0,o).getUTCDay()-e)%7;return-n+o-1}function _t(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return 0>=d?(s=t-1,r=gt(s)+d):d>gt(t)?(s=t+1,r=d-gt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function xt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return 1>r?(n=t.year()-1,o=r+kt(n,e,i)):r>kt(t.year(),e,i)?(o=r-kt(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function kt(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function Ot(t,e,i){return null!=t?t:null!=e?e:i}function Mt(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function Dt(t){var e,i,o,n,s=[];if(!t._d){for(o=Mt(t),t._w&&null==t._a[Po]&&null==t._a[Eo]&&St(t),t._dayOfYear&&(n=Ot(t._a[To],o[To]),t._dayOfYear>gt(n)&&(l(t)._overflowDayOfYear=!0),i=vt(n,0,t._dayOfYear),t._a[Eo]=i.getUTCMonth(),t._a[Po]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Io]&&0===t._a[No]&&0===t._a[zo]&&0===t._a[Lo]&&(t._nextDay=!0,t._a[Io]=0),t._d=(t._useUTC?vt:mt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Io]=24)}}function St(t){var e,i,o,n,s,r,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=Ot(e.GG,t._a[To],xt(Rt(),1,4).year),o=Ot(e.W,1),n=Ot(e.E,1),(1>n||n>7)&&(h=!0)):(s=t._locale._week.dow,r=t._locale._week.doy,i=Ot(e.gg,t._a[To],xt(Rt(),s,r).year),o=Ot(e.w,1),null!=e.d?(n=e.d,(0>n||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s),1>o||o>kt(i,s,r)?l(t)._overflowWeeks=!0:null!=h?l(t)._overflowWeekday=!0:(a=_t(i,o,n,s,r),t._a[To]=a.year,t._dayOfYear=a.dayOfYear)}function Ct(t){if(t._f===e.ISO_8601)return void pt(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=X(t._f,t._locale).match(so)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),ho[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),et(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[Io]<=12&&t._a[Io]>0&&(l(t).bigHour=void 0),t._a[Io]=Tt(t._locale,t._a[Io],t._meridiem),Dt(t),ut(t)}function Tt(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function Et(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function Pt(t){if(!t._d){var e=B(t._i);t._a=s([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),Dt(t)}}function It(t){var e=new m(ut(Nt(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Nt(t){var e=t._i,i=t._f;return t._locale=t._locale||z(t._l),null===e||void 0===i&&""===e?u({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new m(ut(e)):(o(i)?Et(t):i?Ct(t):n(e)?t._d=e:zt(t),c(t)||(t._d=null),t))}function zt(t){var i=t._i;void 0===i?t._d=new Date(e.now()):n(i)?t._d=new Date(+i):"string"==typeof i?ft(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),Dt(t)):"object"==typeof i?Pt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Lt(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,It(s)}function Rt(t,e,i,o){return Lt(t,e,i,o,!1)}function At(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Rt();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+Y(~~(t/60),2)+e+Y(~~t%60,2)})}function Yt(t,e){var i=(e||"").match(t)||[],o=i[i.length-1]||[],n=(o+"").match($o)||["-",0,0],s=+(60*n[1])+y(n[2]);return"+"===n[0]?s:-s}function Gt(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(v(t)||n(t)?+t:+Rt(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):Rt(t).local()}function Vt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ut(t,i){var o,n=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=Yt(Oo,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=Vt(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?de(this,oe(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:Vt(this):null!=t?this:NaN}function qt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Xt(t){return this.utcOffset(0,t)}function Zt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Vt(this),"m")),this}function Kt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Yt(ko,this._i)),this}function Jt(t){return this.isValid()?(t=t?Rt(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function Qt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function $t(){if(!p(this._isDSTShifted))return this._isDSTShifted;var t={};if(f(t,this),t=Nt(t),t._a){var e=t._isUTC?h(t._a):Rt(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function te(){return this.isValid()?!this._isUTC:!1}function ee(){return this.isValid()?this._isUTC:!1}function ie(){return this.isValid()?this._isUTC&&0===this._offset:!1}function oe(t,e){var i,o,n,s=t,a=null;return Ht(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=tn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:y(a[Po])*i,h:y(a[Io])*i,m:y(a[No])*i,s:y(a[zo])*i,ms:y(a[Lo])*i}):(a=en.exec(t))?(i="-"===a[1]?-1:1,s={y:ne(a[2],i),M:ne(a[3],i),w:ne(a[4],i),d:ne(a[5],i),h:ne(a[6],i),m:ne(a[7],i),s:ne(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=re(Rt(s.from),Rt(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new jt(s),Ht(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function ne(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function se(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function re(t,e){var i;return t.isValid()&&e.isValid()?(e=Gt(e,t),t.isBefore(e)?i=se(t,e):(i=se(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function ae(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function he(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(x(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=oe(i,o),de(this,n,t),this}}function de(t,i,o,n){var s=i._milliseconds,r=ae(i._days),a=ae(i._months);t.isValid()&&(n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&H(t,"Date",j(t,"Date")+r*o),a&&rt(t,j(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function le(t,e){var i=t||Rt(),o=Gt(i,this).startOf("day"),n=this.diff(o,"days",!0),s=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse",r=e&&(k(e[s])?e[s]():e[s]);return this.format(r||this.localeData().calendar(s,this,Rt(i))); -}function ce(){return new m(this)}function ue(t,e){var i=v(t)?t:Rt(t);return this.isValid()&&i.isValid()?(e=A(p(e)?"millisecond":e),"millisecond"===e?+this>+i:+i<+this.clone().startOf(e)):!1}function pe(t,e){var i=v(t)?t:Rt(t);return this.isValid()&&i.isValid()?(e=A(p(e)?"millisecond":e),"millisecond"===e?+i>+this:+this.clone().endOf(e)<+i):!1}function fe(t,e,i){return this.isAfter(t,i)&&this.isBefore(e,i)}function me(t,e){var i,o=v(t)?t:Rt(t);return this.isValid()&&o.isValid()?(e=A(e||"millisecond"),"millisecond"===e?+this===+o:(i=+o,+this.clone().startOf(e)<=i&&i<=+this.clone().endOf(e))):!1}function ve(t,e){return this.isSame(t,e)||this.isAfter(t,e)}function ge(t,e){return this.isSame(t,e)||this.isBefore(t,e)}function ye(t,e,i){var o,n,s,r;return this.isValid()?(o=Gt(t,this),o.isValid()?(n=6e4*(o.utcOffset()-this.utcOffset()),e=A(e),"year"===e||"month"===e||"quarter"===e?(r=be(this,o),"quarter"===e?r/=3:"year"===e&&(r/=12)):(s=this-o,r="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-n)/864e5:"week"===e?(s-n)/6048e5:s),i?r:g(r)):NaN):NaN}function be(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function we(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function _e(){var t=this.clone().utc();return 0s&&(e=s),qe.call(this,t,e,i,o,n))}function qe(t,e,i,o,n){var s=_t(t,e,i,o,n),r=vt(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Xe(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ze(t){return xt(t,this._week.dow,this._week.doy).week}function Ke(){return this._week.dow}function Je(){return this._week.doy}function Qe(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function $e(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ti(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function ei(t,e){return o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function ii(t){return this._weekdaysShort[t.day()]}function oi(t){return this._weekdaysMin[t.day()]}function ni(t,e,i){var o,n,s;for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;7>o;o++){if(n=Rt([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function si(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ti(t,this.localeData()),this.add(t-e,"d")):e}function ri(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function ai(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:NaN}function hi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function di(){return this.hours()%12||12}function li(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ci(t,e){return e._meridiemParse}function ui(t){return"p"===(t+"").toLowerCase().charAt(0)}function pi(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function fi(t,e){e[Lo]=y(1e3*("0."+t))}function mi(){return this._isUTC?"UTC":""}function vi(){return this._isUTC?"Coordinated Universal Time":""}function gi(t){return Rt(1e3*t)}function yi(){return Rt.apply(null,arguments).parseZone()}function bi(t,e,i){var o=this._calendar[t];return k(o)?o.call(e,i):o}function wi(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function _i(){return this._invalidDate}function xi(t){return this._ordinal.replace("%d",t)}function ki(t){return t}function Oi(t,e,i,o){var n=this._relativeTime[i];return k(n)?n(t,e,i,o):n.replace(/%d/i,t)}function Mi(t,e){var i=this._relativeTime[t>0?"future":"past"];return k(i)?i(e):i.replace(/%s/i,e)}function Di(t,e,i,o){var n=z(),s=h().set(o,e);return n[i](s,t)}function Si(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return Di(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=Di(t,s,i,n);return r}function Ci(t,e){return Si(t,e,"months",12,"month")}function Ti(t,e){return Si(t,e,"monthsShort",12,"month")}function Ei(t,e){return Si(t,e,"weekdays",7,"day")}function Pi(t,e){return Si(t,e,"weekdaysShort",7,"day")}function Ii(t,e){return Si(t,e,"weekdaysMin",7,"day")}function Ni(){var t=this._data;return this._milliseconds=Dn(this._milliseconds),this._days=Dn(this._days),this._months=Dn(this._months),t.milliseconds=Dn(t.milliseconds),t.seconds=Dn(t.seconds),t.minutes=Dn(t.minutes),t.hours=Dn(t.hours),t.months=Dn(t.months),t.years=Dn(t.years),this}function zi(t,e,i,o){var n=oe(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Li(t,e){return zi(this,t,e,1)}function Ri(t,e){return zi(this,t,e,-1)}function Ai(t){return 0>t?Math.floor(t):Math.ceil(t)}function Bi(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||0>=s&&0>=r&&0>=a||(s+=864e5*Ai(ji(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=g(s/1e3),h.seconds=t%60,e=g(t/60),h.minutes=e%60,i=g(e/60),h.hours=i%24,r+=g(i/24),n=g(Fi(r)),a+=n,r-=Ai(ji(n)),o=g(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function Fi(t){return 4800*t/146097}function ji(t){return 146097*t/4800}function Hi(t){var e,i,o=this._milliseconds;if(t=A(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+Fi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(ji(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function Wi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*y(this._months/12)}function Yi(t){return function(){return this.as(t)}}function Gi(t){return t=A(t),this[t+"s"]()}function Vi(t){return function(){return this._data[t]}}function Ui(){return g(this.days()/7)}function qi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function Xi(t,e,i){var o=oe(t).abs(),n=Wn(o.as("s")),s=Wn(o.as("m")),r=Wn(o.as("h")),a=Wn(o.as("d")),h=Wn(o.as("M")),d=Wn(o.as("y")),l=n=s&&["m"]||s=r&&["h"]||r=a&&["d"]||a=h&&["M"]||h=d&&["y"]||["yy",d];return l[2]=e,l[3]=+t>0,l[4]=i,qi.apply(null,l)}function Zi(t,e){return void 0===Yn[t]?!1:void 0===e?Yn[t]:(Yn[t]=e,!0)}function Ki(t){var e=this.localeData(),i=Xi(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Ji(){var t,e,i,o=Gn(this._milliseconds)/1e3,n=Gn(this._days),s=Gn(this._months);t=g(o/60),e=g(t/60),o%=60,t%=60,i=g(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,c=o,u=this.asSeconds();return u?(0>u?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||c?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var Qi,$i=e.momentProperties=[],to=!1,eo={};e.suppressDeprecationWarnings=!1;var io,oo={},no={},so=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ro=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ao={},ho={},lo=/\d/,co=/\d\d/,uo=/\d{3}/,po=/\d{4}/,fo=/[+-]?\d{6}/,mo=/\d\d?/,vo=/\d\d\d\d?/,go=/\d\d\d\d\d\d?/,yo=/\d{1,3}/,bo=/\d{1,4}/,wo=/[+-]?\d{1,6}/,_o=/\d+/,xo=/[+-]?\d+/,ko=/Z|[+-]\d\d:?\d\d/gi,Oo=/Z|[+-]\d\d(?::?\d\d)?/gi,Mo=/[+-]?\d+(\.\d{1,3})?/,Do=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,So={},Co={},To=0,Eo=1,Po=2,Io=3,No=4,zo=5,Lo=6,Ro=7,Ao=8;G("M",["MM",2],"Mo",function(){return this.month()+1}),G("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),G("MMMM",0,0,function(t){return this.localeData().months(this,t)}),R("month","M"),Z("M",mo),Z("MM",mo,co),Z("MMM",function(t,e){return e.monthsShortRegex(t)}),Z("MMMM",function(t,e){return e.monthsRegex(t)}),$(["M","MM"],function(t,e){e[Eo]=y(t)-1}),$(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[Eo]=n:l(i).invalidMonth=t});var Bo=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,Fo="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),jo="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Ho=Do,Wo=Do,Yo=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Go=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Vo=/Z|[+-]\d\d(?::?\d\d)?/,Uo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],qo=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Xo=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=_("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":""))}),G("Y",0,0,function(){var t=this.year();return 9999>=t?""+t:"+"+t}),G(0,["YY",2],0,function(){return this.year()%100}),G(0,["YYYY",4],0,"year"),G(0,["YYYYY",5],0,"year"),G(0,["YYYYYY",6,!0],0,"year"),R("year","y"),Z("Y",xo),Z("YY",mo,co),Z("YYYY",bo,po),Z("YYYYY",wo,fo),Z("YYYYYY",wo,fo),$(["YYYYY","YYYYYY"],To),$("YYYY",function(t,i){i[To]=2===t.length?e.parseTwoDigitYear(t):y(t)}),$("YY",function(t,i){i[To]=e.parseTwoDigitYear(t)}),$("Y",function(t,e){e[To]=parseInt(t,10)}),e.parseTwoDigitYear=function(t){return y(t)+(y(t)>68?1900:2e3)};var Zo=F("FullYear",!1);e.ISO_8601=function(){};var Ko=_("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Rt.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:u()}),Jo=_("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Rt.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:u()}),Qo=function(){return Date.now?Date.now():+new Date};Wt("Z",":"),Wt("ZZ",""),Z("Z",Oo),Z("ZZ",Oo),$(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Yt(Oo,t)});var $o=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var tn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,en=/^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$/;oe.fn=jt.prototype;var on=he(1,"add"),nn=he(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var sn=_("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),He("gggg","weekYear"),He("ggggg","weekYear"),He("GGGG","isoWeekYear"),He("GGGGG","isoWeekYear"),R("weekYear","gg"),R("isoWeekYear","GG"),Z("G",xo),Z("g",xo),Z("GG",mo,co),Z("gg",mo,co),Z("GGGG",bo,po),Z("gggg",bo,po),Z("GGGGG",wo,fo),Z("ggggg",wo,fo),tt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=y(t)}),tt(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),R("quarter","Q"),Z("Q",lo),$("Q",function(t,e){e[Eo]=3*(y(t)-1)}),G("w",["ww",2],"wo","week"),G("W",["WW",2],"Wo","isoWeek"),R("week","w"),R("isoWeek","W"),Z("w",mo),Z("ww",mo,co),Z("W",mo),Z("WW",mo,co),tt(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=y(t)});var rn={dow:0,doy:6};G("D",["DD",2],"Do","date"),R("date","D"),Z("D",mo),Z("DD",mo,co),Z("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),$(["D","DD"],Po),$("Do",function(t,e){e[Po]=y(t.match(mo)[0],10)});var an=F("Date",!0);G("d",0,"do","day"),G("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),G("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),G("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),G("e",0,0,"weekday"),G("E",0,0,"isoWeekday"),R("day","d"),R("weekday","e"),R("isoWeekday","E"),Z("d",mo),Z("e",mo),Z("E",mo),Z("dd",Do),Z("ddd",Do),Z("dddd",Do),tt(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:l(i).invalidWeekday=t}),tt(["d","e","E"],function(t,e,i,o){e[o]=y(t)});var hn="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),dn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),ln="Su_Mo_Tu_We_Th_Fr_Sa".split("_");G("DDD",["DDDD",3],"DDDo","dayOfYear"),R("dayOfYear","DDD"),Z("DDD",yo),Z("DDDD",uo),$(["DDD","DDDD"],function(t,e,i){i._dayOfYear=y(t)}),G("H",["HH",2],0,"hour"),G("h",["hh",2],0,di),G("hmm",0,0,function(){return""+di.apply(this)+Y(this.minutes(),2)}),G("hmmss",0,0,function(){return""+di.apply(this)+Y(this.minutes(),2)+Y(this.seconds(),2)}),G("Hmm",0,0,function(){return""+this.hours()+Y(this.minutes(),2)}),G("Hmmss",0,0,function(){return""+this.hours()+Y(this.minutes(),2)+Y(this.seconds(),2)}),li("a",!0),li("A",!1),R("hour","h"),Z("a",ci),Z("A",ci),Z("H",mo),Z("h",mo),Z("HH",mo,co),Z("hh",mo,co),Z("hmm",vo),Z("hmmss",go),Z("Hmm",vo),Z("Hmmss",go),$(["H","HH"],Io),$(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),$(["h","hh"],function(t,e,i){e[Io]=y(t),l(i).bigHour=!0}),$("hmm",function(t,e,i){var o=t.length-2;e[Io]=y(t.substr(0,o)),e[No]=y(t.substr(o)),l(i).bigHour=!0}),$("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Io]=y(t.substr(0,o)),e[No]=y(t.substr(o,2)),e[zo]=y(t.substr(n)),l(i).bigHour=!0}),$("Hmm",function(t,e,i){var o=t.length-2;e[Io]=y(t.substr(0,o)),e[No]=y(t.substr(o))}),$("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Io]=y(t.substr(0,o)),e[No]=y(t.substr(o,2)),e[zo]=y(t.substr(n))});var cn=/[ap]\.?m?\.?/i,un=F("Hours",!0);G("m",["mm",2],0,"minute"),R("minute","m"),Z("m",mo),Z("mm",mo,co),$(["m","mm"],No);var pn=F("Minutes",!1);G("s",["ss",2],0,"second"),R("second","s"),Z("s",mo),Z("ss",mo,co),$(["s","ss"],zo);var fn=F("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),R("millisecond","ms"),Z("S",yo,lo),Z("SS",yo,co),Z("SSS",yo,uo);var mn;for(mn="SSSS";mn.length<=9;mn+="S")Z(mn,_o);for(mn="S";mn.length<=9;mn+="S")$(mn,fi);var vn=F("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var gn=m.prototype;gn.add=on,gn.calendar=le,gn.clone=ce,gn.diff=ye,gn.endOf=Ee,gn.format=xe,gn.from=ke,gn.fromNow=Oe,gn.to=Me,gn.toNow=De,gn.get=W,gn.invalidAt=Fe,gn.isAfter=ue,gn.isBefore=pe,gn.isBetween=fe,gn.isSame=me,gn.isSameOrAfter=ve,gn.isSameOrBefore=ge,gn.isValid=Ae,gn.lang=sn,gn.locale=Se,gn.localeData=Ce,gn.max=Jo,gn.min=Ko,gn.parsingFlags=Be,gn.set=W,gn.startOf=Te,gn.subtract=nn,gn.toArray=ze,gn.toObject=Le,gn.toDate=Ne,gn.toISOString=_e,gn.toJSON=Re,gn.toString=we,gn.unix=Ie,gn.valueOf=Pe,gn.creationData=je,gn.year=Zo,gn.isLeapYear=bt,gn.weekYear=We,gn.isoWeekYear=Ye,gn.quarter=gn.quarters=Xe,gn.month=at,gn.daysInMonth=ht,gn.week=gn.weeks=Qe,gn.isoWeek=gn.isoWeeks=$e,gn.weeksInYear=Ve,gn.isoWeeksInYear=Ge,gn.date=an,gn.day=gn.days=si,gn.weekday=ri,gn.isoWeekday=ai,gn.dayOfYear=hi,gn.hour=gn.hours=un,gn.minute=gn.minutes=pn,gn.second=gn.seconds=fn,gn.millisecond=gn.milliseconds=vn,gn.utcOffset=Ut,gn.utc=Xt,gn.local=Zt,gn.parseZone=Kt,gn.hasAlignedHourOffset=Jt,gn.isDST=Qt,gn.isDSTShifted=$t,gn.isLocal=te,gn.isUtcOffset=ee,gn.isUtc=ie,gn.isUTC=ie,gn.zoneAbbr=mi,gn.zoneName=vi,gn.dates=_("dates accessor is deprecated. Use date instead.",an),gn.months=_("months accessor is deprecated. Use month instead",at),gn.years=_("years accessor is deprecated. Use year instead",Zo),gn.zone=_("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",qt);var yn=gn,bn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},wn={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},_n="Invalid date",xn="%d",kn=/\d{1,2}/,On={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"},Mn=S.prototype;Mn._calendar=bn,Mn.calendar=bi,Mn._longDateFormat=wn,Mn.longDateFormat=wi,Mn._invalidDate=_n,Mn.invalidDate=_i,Mn._ordinal=xn,Mn.ordinal=xi,Mn._ordinalParse=kn,Mn.preparse=ki,Mn.postformat=ki,Mn._relativeTime=On,Mn.relativeTime=Oi,Mn.pastFuture=Mi,Mn.set=M,Mn.months=ot,Mn._months=Fo,Mn.monthsShort=nt,Mn._monthsShort=jo,Mn.monthsParse=st,Mn._monthsRegex=Wo,Mn.monthsRegex=lt,Mn._monthsShortRegex=Ho,Mn.monthsShortRegex=dt,Mn.week=Ze,Mn._week=rn,Mn.firstDayOfYear=Je,Mn.firstDayOfWeek=Ke,Mn.weekdays=ei,Mn._weekdays=hn,Mn.weekdaysMin=oi,Mn._weekdaysMin=ln,Mn.weekdaysShort=ii,Mn._weekdaysShort=dn,Mn.weekdaysParse=ni,Mn.isPM=ui,Mn._meridiemParse=cn,Mn.meridiem=pi,P("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===y(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=_("moment.lang is deprecated. Use moment.locale instead.",P),e.langData=_("moment.langData is deprecated. Use moment.localeData instead.",z);var Dn=Math.abs,Sn=Yi("ms"),Cn=Yi("s"),Tn=Yi("m"),En=Yi("h"),Pn=Yi("d"),In=Yi("w"),Nn=Yi("M"),zn=Yi("y"),Ln=Vi("milliseconds"),Rn=Vi("seconds"),An=Vi("minutes"),Bn=Vi("hours"),Fn=Vi("days"),jn=Vi("months"),Hn=Vi("years"),Wn=Math.round,Yn={s:45,m:45,h:22,d:26,M:11},Gn=Math.abs,Vn=jt.prototype;Vn.abs=Ni,Vn.add=Li,Vn.subtract=Ri,Vn.as=Hi,Vn.asMilliseconds=Sn,Vn.asSeconds=Cn,Vn.asMinutes=Tn,Vn.asHours=En,Vn.asDays=Pn,Vn.asWeeks=In,Vn.asMonths=Nn,Vn.asYears=zn,Vn.valueOf=Wi,Vn._bubble=Bi,Vn.get=Gi,Vn.milliseconds=Ln,Vn.seconds=Rn,Vn.minutes=An,Vn.hours=Bn,Vn.days=Fn,Vn.weeks=Ui,Vn.months=jn,Vn.years=Hn,Vn.humanize=Ki,Vn.toISOString=Ji,Vn.toString=Ji,Vn.toJSON=Ji,Vn.locale=Se,Vn.localeData=Ce,Vn.toIsoString=_("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ji),Vn.lang=sn,G("X",0,0,"unix"),G("x",0,0,"valueOf"),Z("x",xo),Z("X",Mo),$("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),$("x",function(t,e,i){i._d=new Date(y(t))}),e.version="2.12.0",i(Rt),e.fn=yn,e.min=Bt,e.max=Ft,e.now=Qo,e.utc=h,e.unix=gi,e.months=Ci,e.isDate=n,e.locale=P,e.invalid=u,e.duration=oe,e.isMoment=v,e.weekdays=Ei,e.parseZone=yi,e.localeData=z,e.isDuration=Ht,e.monthsShort=Ti,e.weekdaysMin=Ii,e.defineLocale=I,e.updateLocale=N,e.locales=L,e.weekdaysShort=Pi,e.normalizeUnits=A,e.relativeTimeThreshold=Zi,e.prototype=yn;var Un=e;return Un})}).call(e,i(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=5},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){16>n&&(e[o+n++]=c[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var c=a/4294967296*1e4&268435455;s[n++]=c>>>8&255,s[n++]=255&c,s[n++]=c>>>24&15|16,s[n++]=c>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var u=t.node||f,p=0;6>p;p++)s[n+p]=u[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],c={},u=0;256>u;u++)l[u]=(u+256).toString(16).substr(1),c[l[u]]=u;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e,i){e.util=i(1),e.DOMutil=i(8),e.DataSet=i(9),e.DataView=i(11),e.Queue=i(10),e.Graph3d=i(12),e.graph3d={Camera:i(16),Filter:i(17),Point2d:i(15),Point3d:i(14),Slider:i(18),StepNumber:i(19)},e.moment=i(2),e.Hammer=i(20),e.keycharm=i(23)},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(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=Object.keys(this._options.type),o=0,n=i.length;n>o;o++){var s=i[o],r=this._options.type[s];"Date"==r||"ISODate"==r||"ASPDate"==r?this._type[s]="Date":this._type[s]=r}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(10);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=r.extend(this,{replace:["add","update","remove"]})),"object"===n(t.queue)&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0,s=o.length;s>n;n++){var r=o[n];r.callback&&r.callback(t,e,i||null)}},o.prototype.add=function(t,e){var i,o=[],n=this;if(Array.isArray(t))for(var s=0,r=t.length;r>s;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],r=[],a=this,h=a._fieldId,d=function(t){var e=t[h];if(a._data[e]){var d=s.extend({},a._data[e]);e=a._updateItem(t),o.push(e),r.push(t),n.push(d)}else e=a._addItem(t),i.push(e)};if(Array.isArray(t))for(var l=0,c=t.length;c>l;l++)t[l]instanceof Object?d(t[l]):console.warn("Ignoring input item, which is not an object at index "+l);else{if(!(t instanceof Object))throw new Error("Unknown dataType");d(t)}if(i.length&&this._trigger("add",{items:i},e),o.length){var u={items:o,oldData:n,data:r};this._trigger("update",u,e)}return i.concat(o)},o.prototype.get=function(t){var e,i,o,n=this,r=s.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,c,u,p,f=o&&o.type||this._options.type,m=o&&o.filter,v=[];if(void 0!=e)d=n._getItem(e,f),d&&m&&!m(d)&&(d=null);else if(void 0!=i)for(u=0,p=i.length;p>u;u++)d=n._getItem(i[u],f),m&&!m(d)||v.push(d);else for(l=Object.keys(this._data),u=0,p=l.length;p>u;u++)c=l[u],d=n._getItem(c,f),m&&!m(d)||v.push(d);if(o&&o.order&&void 0==e&&this._sort(v,o.order),o&&o.fields){var g=o.fields;if(void 0!=e)d=this._filterFields(d,g);else for(u=0,p=v.length;p>u;u++)v[u]=this._filterFields(v[u],g)}if("Object"==a){var y,b={};for(u=0,p=v.length;p>u;u++)y=v[u],b[y.id]=y;return b}return void 0!=e?d:v},o.prototype.getIds=function(t){var e,i,o,n,s,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=Object.keys(r),c=[];if(a)if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&s.push(n);for(this._sort(s,h),e=0,i=s.length;i>e;e++)c.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&c.push(n[this._fieldId]);else if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)c.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=r[o],c.push(n[this._fieldId]);return c},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=this._data,d=Object.keys(h);if(e&&e.order){var l=this.get(e);for(i=0, -o=l.length;o>i;i++)n=l[i],s=n[this._fieldId],t(n,s)}else for(i=0,o=d.length;o>i;i++)s=d[i],n=this._getItem(s,a),r&&!r(n)||t(n,s)},o.prototype.map=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=[],d=this._data,l=Object.keys(d);for(i=0,o=l.length;o>i;i++)n=l[i],s=this._getItem(n,a),r&&!r(s)||h.push(t(s,n));return e&&e.order&&this._sort(h,e.order),h},o.prototype._filterFields=function(t,e){if(!t)return t;var i,o,n={},s=Object.keys(t),r=s.length;if(Array.isArray(e))for(i=0;r>i;i++)o=s[i],-1!=e.indexOf(o)&&(n[o]=t[o]);else for(i=0;r>i;i++)o=s[i],e.hasOwnProperty(o)&&(n[e[o]]=t[o]);return n},o.prototype._sort=function(t,e){if(s.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(s.isNumber(t)||s.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(void 0!==e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||d>r)&&(s=h,r=d)}return s},o.prototype.min=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||r>d)&&(s=h,r=d)}return s},o.prototype.distinct=function(t){var e,i,o,n=this._data,r=Object.keys(n),a=[],h=this._options.type&&this._options.type[t]||null,d=0;for(e=0,o=r.length;o>e;e++){var l=r[e],c=n[l],u=c[t],p=!1;for(i=0;d>i;i++)if(a[i]==u){p=!0;break}p||void 0===u||(a[d]=u,d++)}if(h)for(e=0,o=a.length;o>e;e++)a[e]=s.convert(a[e],h);return a},o.prototype._addItem=function(t){var e=t[this._fieldId];if(void 0!=e){if(this._data[e])throw new Error("Cannot add item: item with id "+e+" already exists")}else e=s.randomUUID(),t[this._fieldId]=e;var i,o,n={},r=Object.keys(t);for(i=0,o=r.length;o>i;i++){var a=r[i],h=this._type[a];n[a]=s.convert(t[a],h)}return this._data[e]=n,this.length++,e},o.prototype._getItem=function(t,e){var i,o,n,r,a=this._data[t];if(!a)return null;var h={},d=Object.keys(a);if(e)for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=s.convert(o,e[i]);else for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=o;return h},o.prototype._updateItem=function(t){var e=t[this._fieldId];if(void 0==e)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(t)+")");var i=this._data[e];if(!i)throw new Error("Cannot update item: no item with id "+e+" found");for(var o=Object.keys(t),n=0,r=o.length;r>n;n++){var a=o[n],h=this._type[a];i[a]=s.convert(t[a],h)}return e},t.exports=o},function(t,e){function i(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}i.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},i.extend=function(t,e){var o=new i(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){o.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(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 n=i(1),s=i(9);o.prototype.setData=function(t){var e,i,o,n;if(this._data&&(this._data.off&&this._data.off("*",this.listener),e=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:e})),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}),o=0,n=e.length;n>o;o++)i=e[o],this._ids[i]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){var t,e,i,o=this._data.getIds({filter:this._options&&this._options.filter}),n=Object.keys(this._ids),s={},r=[],a=[];for(e=0,i=o.length;i>e;e++)t=o[e],s[t]=!0,this._ids[t]||(r.push(t),this._ids[t]=!0);for(e=0,i=n.length;i>e;e++)t=n[e],s[t]||(a.push(t),delete this._ids[t]);this.length+=r.length-a.length,r.length&&this._trigger("add",{items:r}),a.length&&this._trigger("remove",{items:a})},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r||"Array"==r?(e=arguments[0],i=arguments[1],o=arguments[2]):(i=arguments[0],o=arguments[1]);var a=n.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(t){return s._options.filter(t)&&i.filter(t)});var h=[];return void 0!=e&&h.push(e),h.push(a),h.push(o),this._data&&this._data.get.apply(this._data,h)},o.prototype.getIds=function(t){var e;if(this._data){var i,o=this._options.filter;i=t&&t.filter?o?function(e){return o(e)&&t.filter(e)}:t.filter:o,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},o.prototype.map=function(t,e){var i=[];if(this._data){var o,n=this._options.filter;o=e&&e.filter?n?function(t){return n(t)&&e.filter(t)}:e.filter:n,i=this._data.map(t,{filter:o,order:e&&e.order})}else i=[];return i},o.prototype.getDataSet=function(){for(var t=this;t instanceof o;)t=t._data;return t||null},o.prototype._onEvent=function(t,e,i){var o,n,s,r,a=e&&e.items,h=this._data,d=[],l=[],c=[],u=[];if(a&&h){switch(t){case"add":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(c.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],u.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],u.push(s))}this.length+=l.length-u.length,l.length&&this._trigger("add",{items:l},i),c.length&&this._trigger("update",{items:c,data:d},i),u.length&&this._trigger("remove",{items:u},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))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 n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.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.camera.setArmRotation(1,.5),this.camera.setArmLength(1.7),this.eye=new c(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.axisColor="#4D4D4D",this.gridColor="#D3D3D3",this.dataColor={fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},this.dotSizeRatio=.02,this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},a=i(13),h=i(9),d=i(11),l=i(1),c=i(14),u=i(15),p=i(16),f=i(17),m=i(18),v=i(19);a(o.prototype),o.prototype._setScale=function(){this.scale=new c(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!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.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)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-u)/(p-u),m=240*f,g=this._hsv2rgb(m,1,1);c.strokeStyle=g,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.axisColor,c.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(c.strokeStyle=this.axisColor,c.fillStyle=this.dataColor.fill,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===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new v(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new c(_,r,this.zMin)),Math.cos(2*w)>0?(m.textAlign="center",m.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(m.lineWidth=1,o=void 0===this.defaultYStep,i=new v(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new c(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(m.textAlign="center",m.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(m.lineWidth=1,o=void 0===this.defaultZStep,i=new v(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new c(s,r,i.getCurrent())),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(t.x-b,t.y),m.stroke(),m.textAlign="right",m.textBaseline="middle",m.fillStyle=this.axisColor,m.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();m.lineWidth=1,t=this._convert3Dto2D(new c(s,r,this.zMin)),e=this._convert3Dto2D(new c(s,r,this.zMax)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke(),m.lineWidth=1,u=this._convert3Dto2D(new c(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new c(this.xMax,this.yMin,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(u.x,u.y),m.lineTo(p.x,p.y),m.stroke(),u=this._convert3Dto2D(new c(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new c(this.xMax,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(u.x,u.y),m.lineTo(p.x,p.y),m.stroke(),m.lineWidth=1,t=this._convert3Dto2D(new c(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new c(this.xMin,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke(),t=this._convert3Dto2D(new c(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new c(this.xMax,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke();var x=this.xLabel;x.length>0&&(l=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-l:this.yMax+l,n=this._convert3Dto2D(new c(s,r,this.zMin)),Math.cos(2*w)>0?(m.textAlign="center",m.textBaseline="top"):Math.sin(2*w)<0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new c(s,r,this.zMin)),Math.cos(2*w)<0?(m.textAlign="center",m.textBaseline="top"):Math.sin(2*w)>0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(k,n.x,n.y));var O=this.zLabel;O.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new c(s,r,a)),m.textAlign="right",m.textBaseline="middle",m.fillStyle=this.axisColor,m.fillText(O,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,l,u,p,f=this.frame.canvas,m=f.getContext("2d");if(m.lineJoin="round",m.lineCap="round",!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(p=(t.point.z+e.point.z+i.point.z+n.point.z)/4,d=240*(1-(p-this.zMin)*this.scale.z/this.verticalRatio),l=1,this.showShadow?(u=Math.min(1+x.x/k/2,1),a=this._hsv2rgb(d,l,u),h=a):(u=1,a=this._hsv2rgb(d,l,u), -h=this.axisColor)):(a="gray",h=this.axisColor),m.lineWidth=this._getStrokeWidth(t),m.fillStyle=a,m.strokeStyle=h,m.beginPath(),m.moveTo(t.screen.x,t.screen.y),m.lineTo(e.screen.x,e.screen.y),m.lineTo(n.screen.x,n.screen.y),m.lineTo(i.screen.x,i.screen.y),m.closePath(),m.fill(),m.stroke()}}else for(s=0;su&&(u=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.dataColor.fill,m=this.dataColor.stroke):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=this._getStrokeWidth(d),i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,u,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0){for(t=this.dataPoints[0],o.lineWidth=this._getStrokeWidth(t),o.lineJoin="round",o.lineCap="round",o.strokeStyle=this.dataColor.stroke,o.beginPath(),o.moveTo(t.screen.x,t.screen.y),e=1;e0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=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",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
"+this.xLabel+":"+t.point.x+"
"+this.yLabel+":"+t.point.y+"
"+this.zLabel+":"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),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-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.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=o},function(t,e){function i(t){return t?o(t):void 0}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 o,n=0;no;++o)i[o].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){function i(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}i.subtract=function(t,e){var o=new i;return o.x=t.x-e.x,o.y=t.y-e.y,o.z=t.z-e.z,o},i.add=function(t,e){var o=new i;return o.x=t.x+e.x,o.y=t.y+e.y,o.z=t.z+e.z,o},i.avg=function(t,e){return new i((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},i.crossProduct=function(t,e){var o=new i;return o.x=t.y*e.z-t.z*e.y,o.y=t.z*e.x-t.x*e.z,o.z=t.x*e.y-t.y*e.x,o},i.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=i},function(t,e){function i(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=i},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(14);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.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()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.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=o},function(t,e,i){function o(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 n=i(11);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){return void 0!==this.index?this.values[this.index]:void 0},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},o.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 o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e){function i(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}i.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(){this._current=this._start-this._start%this._step},i.prototype.next=function(){this._current+=this._step},i.prototype.end=function(){return this._current>this._end},t.exports=i},function(t,e,i){if("undefined"!=typeof window){var o=i(21),n=window.Hammer||i(22);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(p(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function u(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ct(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==ft?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(w(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(w(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function w(t){return t.trim().split(/\s+/g)}function _(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=z(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=B(a,h),e.distance=A(a,h),P(i,e),e.offsetDirection=R(e.deltaX,e.deltaY);var d=L(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=vt(d.x)>vt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?F(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Et&&s.eventType!==It||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Nt&&(h>Tt||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,c=L(h,d,l);o=c.x,n=c.y,i=vt(c.x)>vt(c.y)?c.x:c.y,s=R(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function L(t,e,i){return{x:e/t||0,y:i/t||0}}function R(t,e){return t===e?zt:vt(t)>=vt(e)?0>t?Lt:Rt:0>e?At:Bt}function A(t,e,i){i||(i=Wt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function B(t,e,i){i||(i=Wt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function F(t,e){return B(e[1],e[0],Yt)+B(t[1],t[0],Yt)}function j(t,e){return A(e[0],e[1],Yt)/A(t[0],t[1],Yt)}function H(){this.evEl=Vt,this.evWin=Ut,this.allow=!0,this.pressed=!1,S.apply(this,arguments)}function W(){this.evEl=Zt,this.evWin=Kt,S.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Qt,this.evWin=$t,this.started=!1,S.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(It|Nt)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=ee,this.targetIds={},S.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Et|Pt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Et)for(n=0;na&&(e.push(t),a=e.length-1):n&(It|Nt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Jt={touchstart:Et,touchmove:Pt,touchend:It,touchcancel:Nt},Qt="touchstart",$t="touchstart touchmove touchend touchcancel";u(Y,S,{handler:function(t){var e=Jt[t.type];if(e===Et&&(this.started=!0),this.started){var i=G.call(this,t,e);e&(It|Nt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Mt,srcEvent:t})}}});var te={touchstart:Et,touchmove:Pt,touchend:It,touchcancel:Nt},ee="touchstart touchmove touchend touchcancel";u(V,S,{handler:function(t){var e=te[t.type],i=U.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Mt,srcEvent:t})}}),u(q,S,{handler:function(t,e,i){var o=i.pointerType==Mt,n=i.pointerType==St;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(It|Nt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ie=O(pt.style,"touchAction"),oe=ie!==a,ne="compute",se="auto",re="manipulation",ae="none",he="pan-x",de="pan-y";X.prototype={set:function(t){t==ne&&(t=this.compute()),oe&&this.manager.element.style&&(this.manager.element.style[ie]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){f(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),Z(t.join(" "))},preventDefaults:function(t){if(!oe){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=b(o,ae),s=b(o,de),r=b(o,he);if(n){var a=1===t.pointers.length,h=t.distance<2,d=t.deltaTime<250;if(a&&h&&d)return}if(!r||!s)return n||s&&i&Ft||r&&i&jt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var le=1,ce=2,ue=4,pe=8,fe=pe,me=16,ve=32;K.prototype={defaults:{},set:function(t){return ct(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=$(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=$(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=$(t,this),-1===_(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=$(t,this);var e=_(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;pe>o&&e(i.options.event+J(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=pe&&e(i.options.event+J(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ve)},canEmit:function(){for(var t=0;ts?Lt:Rt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?zt:0>r?At:Bt,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return tt.prototype.attrTest.call(this,t)&&(this.state&ce||!(this.state&ce)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Q(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),u(it,tt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ce)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),u(ot,K,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(It|Nt)&&!n)this.reset();else if(t.eventType&Et)this.reset(),this._timer=h(function(){this.state=fe,this.tryEmit()},e.time,this);else if(t.eventType&It)return fe;return ve},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===fe&&(t&&t.eventType&It?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),u(nt,tt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ce)}}),u(st,tt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Ft|jt,pointers:1},getTouchAction:function(){return et.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Ft|jt)?e=t.overallVelocity:i&Ft?e=t.overallVelocityX:i&jt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&vt(e)>this.options.velocity&&t.eventType&It},emit:function(t){var e=Q(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),u(rt,K,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distance=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!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;ne)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=t&&void 0!==t.animation?t.animation:!0,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=null!==e.min?e.min.valueOf():null,o=null!==e.max?e.max.valueOf():null,n=null,s=null;if(null!=i&&null!=o){var r,a,h,d,c;!function(){var e=function(t){return l.convert(t.data.start,"Date").valueOf()},u=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()};r=o-i,0>=r&&(r=10),a=r/t.props.center.width,l.forEach(t.itemSet.items,function(t){t.show(),t.repositionX();var r=e(t),h=u(t);if(this.options.rtl)var d=r-(t.getWidthRight()+10)*a,l=h+(t.getWidthLeft()+10)*a;else var d=r-(t.getWidthLeft()+10)*a,l=h+(t.getWidthRight()+10)*a;i>d&&(i=d,n=t),l>o&&(o=l,s=t)}.bind(t)),n&&s&&(h=n.getWidthLeft()+10,d=s.getWidthRight()+10,c=t.props.center.width-h-d,c>0&&(t.options.rtl?(i=e(n)-d*r/c,o=u(s)+h*r/c):(i=e(n)-h*r/c,o=u(s)+d*r/c)))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||t>o)&&(t=o),(null===e||n>e)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=g.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),c=this.body.util.getStep(),u=this._toTime(o),p=h?h(u,d,c):u,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:u,snappedTime:p}},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?o-1:0),r=1;o>r;r++)n[r-1]=e[r];return n.forEach(function(t){s.appendChild(t)}),i.domElements.push(s),{v:i.domElements.length}}();if("object"===("undefined"==typeof a?"undefined":s(a)))return a.v}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;se&&n>e*c?(a.min=Math.ceil(e*c),l=a.min,d="range increased"):n>e/c&&(a.min=Math.ceil(e/c),l=a.min,d="range increased"),e*c>s&&1!==s&&(a.max=Math.ceil(e*c),l=a.max,d="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var p=this;a.onchange=function(){u.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var f=this._makeLabel(i[i.length-1],i),m=this._makeItem(i,f,a,u);""!==d&&this.popupHistory[m]!==l&&(this.popupHistory[m]=l,this._setupPopup(d,m))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCountervar options = "+JSON.stringify(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;es;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h},function(t,e,i){i(20);e.onTouch=function(t,e){e.inputHandler=function(t){t.isFirst&&e(t)},t.on("hammer.input",e.inputHandler)},e.onRelease=function(t,e){return e.inputHandler=function(t){t.isFinal&&e(t)},t.on("hammer.input",e.inputHandler)},e.offTouch=function(t,e){t.off("hammer.input",e.inputHandler)},e.offRelease=e.offTouch,e.disablePreventDefaultVertically=function(t){var e="pan-y";return t.getTouchAction=function(){return[e]},t}},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),d):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),d):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),d),a=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],s=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var c in i){var u=void 0;if(void 0!==i[c].__type__&&n===!0){var p=t.findInOptions(e,i[c],r.copyAndExtendArray(o,c));s>p.distance&&(a=p.closestMatch,h=p.path,s=p.distance,l=p.indexMatch)}else-1!==c.toLowerCase().indexOf(d)&&(l=c),u=t.levenshteinDistance(e,c),s>u&&(a=c,h=r.copyArray(o),s=u)}return{closestMatch:a,path:h,distance:s,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var r=0;ru,r=s||null===n?n:l+(n-l)*i,p=s||null===a?a:c+(a-c)*i;y=h._applyRange(r,p),d.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),v=v||y,y&&h.body.emitter.emit("rangechange",{start:new Date(h.start),end:new Date(h.end),byUser:o}),s?v&&h.body.emitter.emit("rangechanged",{start:new Date(h.start),end:new Date(h.end),byUser:o}):h.animationTimer=setTimeout(w,20)}};return g()}var y=this._applyRange(n,a);if(d.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),y){var b={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",b),this.body.emitter.emit("rangechanged",b)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=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(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&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"))},o.prototype._onDrag=function(t){if(this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var a=i/r*o;else var a=-i/r*o;var h=this.props.touch.start+a,l=this.props.touch.end+a,c=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(c!=h||u!=l)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l);var p=new Date(this.start),f=new Date(this.end);this.body.emitter.emit("rangechange",{start:p,end:f,byUser:!0})}},o.prototype._onDragEnd=function(t){this.props.touch.dragging&&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}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&(!this.options.zoomKey||t[this.options.zoomKey])){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 o=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){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},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&l==a||(this.props.touch.start=h,this.props.touch.end=l,this.scaleOffset=1-t.scale,r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-r.getAbsoluteLeft(this.body.dom.centerContainer);else var i=r.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.getPointer=function(t,e){return this.options.rtl?{x:r.getAbsoluteRight(e)-t.x,y:t.y-r.getAbsoluteTop(e)}:{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);h==r&&l==a||(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e){function i(t,e){this.options=null,this.props=null}i.prototype.setOptions=function(t){t&&util.extend(this.options,t)},i.prototype.redraw=function(){return!1},i.prototype.destroy=function(){},i.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=i},function(t,e){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var u=0,p=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(u=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-u,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(u=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(u,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(u=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(u,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;p>d;)switch(i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),o[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:",o[h].repeat)}i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(i);var v=e.isHidden(i.range.start,i.hiddenDates),g=e.isHidden(i.range.end,i.hiddenDates),y=i.range.start,b=i.range.end;1==v.hidden&&(y=1==i.range.startToFront?v.startDate-1:v.endDate+1), -1==g.hidden&&(b=1==i.range.endToFront?g.startDate-1:g.endDate+1),1!=v.hidden&&1!=g.hidden||i.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){o=!0;break}}if(1==o&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(){}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(13),r=i(20),a=i(28),h=i(1),d=(i(9),i(11),i(30),i(34),i(44)),l=i(45),c=i(32),u=i(46);s(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("_change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new r(this.dom.root);var o=this.hammer.get("pinch").set({enable:!0});a.disablePreventDefaultVertically(o),this.hammer.get("pan").set({threshold:5,direction:r.DIRECTION_HORIZONTAL}),this.listeners={};var n=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(n.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),a.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),a.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","throttleRedraw"];if(h.selectiveExtend(e,this.options,t),this.options.rtl){var i=this.dom.leftContainer;this.dom.leftContainer=this.dom.rightContainer,this.dom.rightContainer=i,this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"}if(this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===n(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var o=this.timeAxis2=new d(this.body);o.setOptions=function(t){var e=t?h.extend({},t):{};e.orientation="top",d.prototype.setOptions.call(o,e)},this.components.push(o)}}else if(this.timeAxis2){var s=this.components.indexOf(this.timeAxis2);-1!==s&&this.components.splice(s,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&c.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new l(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var r=h.deepExtend({},this.options);this.components.forEach(function(t){h.deepExtend(r,t.options)}),this.configurator.setModuleOptions({global:r})}this._origRedraw?this._redraw():(this._origRedraw=this._redraw.bind(this),this._redraw=h.throttle(this._origRedraw,this.options.throttleRedraw))},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));return i.length>0?i[0].setCustomTitle(t):void 0},o.prototype.getEventProperties=function(t){return{event:t}},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?h.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,h.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(o,n,s)}},o.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=h.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.clientWidth){c.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(h.addClassName(o.root,"vis-top"),h.removeClassName(o.root,"vis-bottom")):(h.removeClassName(o.root,"vis-top"),h.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=h.option.asSize(e.maxHeight,""),o.root.style.minHeight=h.option.asSize(e.minHeight,""),o.root.style.width=h.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.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+n+i.border.top+i.border.bottom;o.root.style.height=h.option.asSize(e.height,d+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var l=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"top"!=e.orientation.item&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=p+"px",o.left.style.left="0",o.left.style.top=p+"px",o.right.style.left="0",o.right.style.top=p+"px";var f=0==this.props.scrollTop?"hidden":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=f,o.shadowBottom.style.visibility=m,o.shadowTopLeft.style.visibility=f,o.shadowBottomLeft.style.visibility=m,o.shadowTopRight.style.visibility=f,o.shadowBottomRight.style.visibility=m;var v=this.props.center.height>this.props.centerContainer.height;this.hammer.get("pan").set({direction:v?r.DIRECTION_ALL:r.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var g=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange();if(this.options.rtl)var e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end);else var i=this.body.util.toScreen(t.start),e=this.body.util.toScreen(t.end);var o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id):h.lefti&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=r.option.asSize,o=this.options,n=o.orientation.item,s=!1,a=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.options.rtl?this.props.right=this.body.domProps.right.width+this.body.domProps.border.right:this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset",s=this._orderGroups()||s;var h=e.end-e.start,d=h!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;d&&(this.stackDirty=!0),this.lastVisibleInterval=h,this.props.lastWidth=this.props.width;var l=this.stackDirty,c=this._firstGroup(),u={item:t.item,axis:t.axis},p={item:t.item,axis:t.item.vertical/2},f=0,m=t.axis+t.item.vertical;return this.groups[y].redraw(e,p,l),r.forEach(this.groups,function(t){var i=t==c?u:p,o=t.redraw(e,i,l);s=o||s,f+=t.height}),f=Math.max(f,m),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right="0":this.dom.axis.style.left="0",s=this._isResized()||s},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[g];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[g];this.groups[y];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 o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new c(s,r,this),this.groups[g]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof a||t instanceof h))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(r.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;r.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}this.body.emitter.emit("_change",{queue:!0})},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(r.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof a||t instanceof h))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;r.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("_change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.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)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?y:this.groupsData?t.group:g},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("_change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("_change",{queue:!0}))},o.prototype._order=function(){r.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==g||t==y)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);r.extend(n,{height:null}),o=new c(t,i,e),e.groups[t]=o;for(var s in e.items)if(e.items.hasOwnProperty(s)){var a=e.items[s];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("_change",{queue:!0})},o.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})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({ -order:this.options.groupOrder}),e=!r.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},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.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)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;in+s)return}else{var a=e.height;if(n+a-s>o)return}}if(e&&e!=this.groupTouchParams.group){var h=this.groupsData,d=h.get(e.groupId),l=h.get(this.groupTouchParams.group.groupId);l&&d&&(this.options.groupOrderSwap(l,d,this.groupsData),this.groupsData.update(l),this.groupsData.update(d));var c=this.groupsData.getIds({order:this.options.groupOrder});if(!r.equalArray(c,this.groupTouchParams.originalOrder))for(var h=this.groupsData,u=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,f=Math.min(u.length,c.length),m=0,v=0,g=0;f>m;){for(;f>m+v&&f>m+g&&c[m+v]==u[m+g];)m++;if(m+v>=f)break;if(c[m+v]!=p)if(u[m+g]!=p){var y=c.indexOf(u[m+g]),b=h.get(c[m+v]),w=h.get(u[m+g]);this.options.groupOrderSwap(b,w,h),h.update(b),h.update(w);var _=c[m+v];c[m+v]=u[m+g],c[y]=_,m++}else g=1;else v=1}}}},o.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=r.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!r.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,a=Math.min(s.length,n.length),h=0;a>h;){for(;a>h&&n[h]==s[h];)h++;if(h>=a)break;var d=n.indexOf(s[h]),l=o.get(n[h]),c=o.get(s[h]);e.options.groupOrderSwap(l,c,o),groupsData.update(l),groupsData.update(c);var u=n[h];n[h]=s[h],n[d]=u,h++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},o.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{if(this.options.rtl)var s=r.getAbsoluteRight(this.dom.frame),a=s-t.center.x;else var s=r.getAbsoluteLeft(this.dom.frame),a=t.center.x-s;var 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 u=this.body.util.toTime(a+this.props.width/5);c.end=i?i(u,d,l):u}c[this.itemsData._fieldId]=r.randomUUID();var p=this.groupFromTarget(t);p&&(c.group=p.groupId),c=this._cloneItemData(c),this.options.onAdd(c,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=o._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,c=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&c<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof v||i.push(d.id)}}}else{var u=i.indexOf(e.id);-1==u?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},o._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}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&e0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=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*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>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)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.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}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(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+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+c+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var u=a.year();return"vis-year"+u+n(a)+t(u);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(1),s=i(37);i(38);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.innerHTML="?",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e;if(e=this.itemSet.options&&this.itemSet.options.groupTemplate?this.itemSet.options.groupTemplate(t):t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?n.removeClassName(this.dom.inner,"vis-hidden"):n.addClassName(this.dom.inner,"vis-hidden");var i=t&&t.className||null;i!=this.className&&(this.className&&(n.removeClassName(this.dom.label,this.className),n.removeClassName(this.dom.foreground,this.className),n.removeClassName(this.dom.background,this.className),n.removeClassName(this.dom.axis,this.className)),n.addClassName(this.dom.label,i),n.addClassName(this.dom.foreground,i),n.addClassName(this.dom.background,i),n.addClassName(this.dom.axis,i),this.className=i),this.style&&(n.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(n.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype.redraw=function(t,e,i){var o=!1,r=this.dom.marker.clientHeight;if(r!=this.lastMarkerHeight&&(this.lastMarkerHeight=r,n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(),"function"==typeof this.itemSet.options.order){if(i){var a=this,h=!1;n.forEach(this.items,function(t){t.displayed||(t.redraw(),a.visibleItems.push(t)),t.repositionX(h)});var d=this.orderedItems.byStart.slice().sort(function(t,e){return a.itemSet.options.order(t.data,e.data)});s.stack(d,e,!0)}this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?s.stack(this.visibleItems,e,i):s.nostack(this.visibleItems,e,this.subgroups);var l=this._calculateHeight(e),c=this.dom.foreground;this.top=c.offsetTop,this.right=c.offsetLeft,this.width=c.offsetWidth,o=n.updateProperty(this,"height",l)||o,o=n.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=n.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=l+"px",this.dom.foreground.style.height=l+"px",this.dom.label.style.height=l+"px";for(var u=0,p=this.visibleItems.length;p>u;u++){var f=this.visibleItems[u];f.repositionY(e)}return o},o.prototype._calculateSubGroupHeights=function(){if(Object.keys(this.subgroups).length>0){var t=this;this.resetSubgroups(),n.forEach(this.visibleItems,function(e){void 0!==e.data.subgroup&&(t.subgroups[e.data.subgroup].height=Math.max(t.subgroups[e.data.subgroup].height,e.height),t.subgroups[e.data.subgroup].visible=!0)})}},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,s=i[0].top+i[0].height;if(n.forEach(i,function(t){o=Math.min(o,t.top),s=Math.max(s,t.top+t.height)}),o>t.axis){var r=o-t.axis;s-=r,n.forEach(i,function(t){t.top-=r})}e=s+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.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)},o.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 o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.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)}},o.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(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];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,l.options.rtl)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(20),i(39));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).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()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);void 0!==t&&t!==!0||(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n, -this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,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)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,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=o},function(t,e,i){function o(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.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this.data&&this.data.hasOwnProperty("editable")&&"boolean"==typeof this.data.editable&&(this.editable=t.editable)}var n=i(20),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),t.hasOwnProperty("editable")&&"boolean"==typeof t.editable&&(this.editable=t.editable),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.remove||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new n(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.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;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){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}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.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;in;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(39);i(1);o.prototype=new n(null,null,null),o.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},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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?" vis-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}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(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=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:a.FORMAT,moment:d,timeAxis:null},this.options=s.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(31),a=i(35),h=i(32),d=i(2);o.prototype=new r,o.prototype.setOptions=function(t){t&&(s.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),s.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===n(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof d.locale?d.locale(t.locale):d.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=s.convert(this.body.range.start,"Number"),i=s.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-h.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var r=new a(new Date(e),new Date(i),n,this.body.hiddenDates);r.setMoment(this.options.moment),this.options.format&&r.setFormat(this.options.format),this.options.timeAxis&&r.setScale(this.options.timeAxis),this.step=r;var d=this.dom;d.redundant.lines=d.lines,d.redundant.majorTexts=d.majorTexts,d.redundant.minorTexts=d.minorTexts,d.lines=[],d.majorTexts=[],d.minorTexts=[];var c,u,p,f,m,v,g,y,b,w,_=0,x=void 0,k=0,O=1e3;for(r.start(),u=r.getCurrent(),f=this.body.util.toScreen(u);r.hasNext()&&O>k;){k++,m=r.isMajor(),w=r.getClassName(),b=r.getLabelMinor(),c=u,p=f,r.next(),u=r.getCurrent(),v=r.isMajor(),f=this.body.util.toScreen(u),g=_,_=f-p;var M=_>=.4*g;if(this.options.showMinorLabels&&M){var D=this._repaintMinorText(p,b,t,w);D.style.width=_+"px"}m&&this.options.showMajorLabels?(p>0&&(void 0==x&&(x=p),D=this._repaintMajorText(p,r.getLabelMajor(),t,w)),y=this._repaintMajorLine(p,_,t,w)):M?y=this._repaintMinorLine(p,_,t,w):y&&(y.style.width=parseInt(y.style.width)+_+"px")}if(k!==O||l||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+O+" lines."),l=!0),this.options.showMajorLabels){var S=this.body.util.toTime(0),C=r.getLabelMajor(S),T=C.length*(this.props.majorCharWidth||10)+10;(void 0==x||x>T)&&this._repaintMajorText(0,C,t,w)}s.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top=s.majorLabelHeight+"px":n.style.top=this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-minor "+o):(n.style.left=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-minor "+o),n.style.width=e+"px",n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top="0":n.style.top=this.body.domProps.top.height+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-major "+o):(n.style.left=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-major "+o),n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-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="vis-text vis-major vis-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};var l=!1;t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(23),r=i(13),a=i(20),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={moment:a,locales:h,locale:"en",id:void 0,title:void 0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this.setOptions(e),this._create()}var n=i(20),s=i(1),r=i(31),a=i(2),h=i(47);o.prototype=new r,o.prototype.setOptions=function(t){t&&s.selectiveExtend(["moment","locale","locales","id"],this.options,t)},o.prototype._create=function(){var t=document.createElement("div");t["custom-time"]=this,t.className="vis-custom-time "+(this.options.id||""),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=new n(e),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:n.DIRECTION_HORIZONTAL})},o.prototype.destroy=function(){this.hide(),this.hammer.destroy(),this.hammer=null,this.body=null},o.prototype.redraw=function(){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];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),i=this.options.locales.en);var o=this.options.title;return void 0===o&&(o=i.time+": "+this.options.moment(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss"),o=o.charAt(0).toUpperCase()+o.substring(1)),this.bar.style.left=e+"px",this.bar.title=o,!1},o.prototype.hide=function(){this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar)},o.prototype.setCustomTime=function(t){this.customTime=s.convert(t,"Date"),this.redraw()},o.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},o.prototype.setCustomTitle=function(t){this.options.title=t},o.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()},o.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=this.body.util.toScreen(this.eventParams.customTime)+t.deltaX,i=this.body.util.toTime(e);this.setCustomTime(i),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation()}},o.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation())},o.customTimeFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("custom-time"))return e["custom-time"];e=e.parentNode}return null},t.exports=o},function(t,e){e.en={current:"current",time:"time"},e.en_EN=e.en,e.en_US=e.en,e.nl={current:"huidige",time:"tijd"},e.nl_NL=e.nl,e.nl_BE=e.nl},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(1),s=i(31),r=i(2),a=i(47);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},o.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=this.options.moment((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;30>o&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="date",a="object",h="dom",d="moment",l="any",c={configure:{enabled:{"boolean":o},filter:{"boolean":o,"function":"function"},container:{dom:h},__type__:{object:a,"boolean":o,"function":"function"}},align:{string:i},rtl:{"boolean":o,undefined:"undefined"},autoResize:{"boolean":o},throttleRedraw:{number:n},clickToUse:{"boolean":o},dataAttributes:{string:i,array:s},editable:{add:{"boolean":o,undefined:"undefined"},remove:{"boolean":o,undefined:"undefined"},updateGroup:{"boolean":o,undefined:"undefined"},updateTime:{"boolean":o,undefined:"undefined"},__type__:{"boolean":o,object:a}},end:{number:n,date:r,string:i,moment:d},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a}},__type__:{object:a}},moment:{"function":"function"},groupOrder:{string:i,"function":"function"},groupEditable:{add:{"boolean":o,undefined:"undefined"},remove:{"boolean":o,undefined:"undefined"},order:{"boolean":o,undefined:"undefined"},__type__:{"boolean":o,object:a}},groupOrderSwap:{"function":"function"},height:{string:i,number:n},hiddenDates:{start:{date:r,number:n,string:i,moment:d},end:{date:r,number:n,string:i,moment:d},repeat:{string:i},__type__:{object:a,array:s}},itemsAlwaysDraggable:{"boolean":o},locale:{string:i},locales:{__any__:{any:l},__type__:{object:a}},margin:{axis:{number:n},item:{horizontal:{number:n, -undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:a,number:n}},__type__:{object:a,number:n}},max:{date:r,number:n,string:i,moment:d},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:r,number:n,string:i,moment:d},minHeight:{number:n,string:i},moveable:{"boolean":o},multiselect:{"boolean":o},multiselectPerGroup:{"boolean":o},onAdd:{"function":"function"},onUpdate:{"function":"function"},onMove:{"function":"function"},onMoving:{"function":"function"},onRemove:{"function":"function"},onAddGroup:{"function":"function"},onMoveGroup:{"function":"function"},onRemoveGroup:{"function":"function"},order:{"function":"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:a}},selectable:{"boolean":o},showCurrentTime:{"boolean":o},showMajorLabels:{"boolean":o},showMinorLabels:{"boolean":o},stack:{"boolean":o},snap:{"function":"function","null":"null"},start:{date:r,number:n,string:i,moment:d},template:{"function":"function"},groupTemplate:{"function":"function"},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:a}},type:{string:i},width:{string:i,number:n},zoomable:{"boolean":o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:a}},u={global:{align:["center","left","right"],direction:!1,autoResize:!0,throttleRedraw:[10,0,1e3,10],clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",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:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,start:"",type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=c,e.configureOptions=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof c||i instanceof u)&&i instanceof Object){var n=o;o=i,i=n}var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new p(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new v(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(26),r=o(s),a=i(29),h=o(a),d=(i(13),i(20),i(2)),l=i(1),c=i(9),u=i(11),p=i(30),f=i(33),m=i(44),v=i(48),g=i(46),y=i(51),b=i(29).printStyle,w=i(59).allOptions,_=i(59).configureOptions;n.prototype=new f,n.prototype.setOptions=function(t){var e=h["default"].validate(t,w);e===!0&&console.log("%cErrors have been found in the supplied options object.",b),f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof c||t instanceof u?t:new c(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 o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},n.prototype.setGroups=function(t){var e;e=t?t instanceof c||t instanceof u?t:new c(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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},n.prototype.getDataRange=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 o=0;os?s:t,e=null==e?s:s>e?s:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-l.getAbsoluteLeft(this.dom.centerContainer),n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this._toTime(o),r=g.customTimeFromTarget(t),a=l.getTarget(t),h=null;l.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&l.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":l.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":l.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":l.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":l.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":null!=r?h="custom-time":l.hasParent(a,this.currentTime.bar)?h="current-time":l.hasParent(a,this.dom.center)&&(h="background");var d=[],c=this.linegraph.yAxisLeft,u=this.linegraph.yAxisRight;return c.hidden||d.push(c.screenToValue(n)),u.hidden||d.push(u.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r["default"](this,this.dom.container,_)},t.exports=n},function(t,e,i){function o(t,e){this.id=s.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=s.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=s.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(8),a=i(9),h=i(11),d=i(31),l=i(52),c=i(54),u=i(58),p=i(55),f=i(57),m=i(56),v="__ungrouped__";o.prototype=new d,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",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 l(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new l(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new u(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new u(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))i?-1:1});for(var o=new Array(t.length),n=0;n0){var h={};for(this._getRelevantData(a,h,n,s),this._applySampling(a,h),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(a[e])||(l[a[e]]=f.calcPath(h[a[e]],t)),f.draw(l[a[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||m.draw(h[a[e]],t,this.framework);break;case"bar":}}}return r.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,r,a,h;if(t.length>0)for(r=0;rt?-1:1},c=Math.max(0,s.binarySearchValue(d,i,"x","before",l)),u=Math.min(d.length,s.binarySearchValue(d,o,"x","after",l)+1);0>=u&&(u=d.length);var p=new Array(u-c);for(a=c;u>a;a++)h=n.itemsData[a],p[a-c]=h;e[t[r]]=p}else e[t[r]]=n.itemsData}},o.prototype._applySampling=function(t,e){var i;if(t.length>0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;r>l;l+=s){var c=Math.round(l/s);d[c]=n[l]}e[t[o]]=d.splice(0,Math.round(r/s))}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getItems()):h=h.concat(n.getItems()):i[t[s]]=n.getYRange(o,t[s]));p.getStackedYRange(a,i,t,"__barStackLeft","left"),p.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,this.yAxisRight.masterAxis=this.yAxisLeft,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],c=0;ct?-1:1});for(var a=0;a=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var d=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(d=this.props.titleCharHeight);var l=this.options.icons===!0?Math.max(this.options.iconWidth,d)+this.options.labelOffsetX+15:d+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-l&&this.options.visible===!0?(this.width=this.maxLabelSize+l,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+l),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,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*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize.5*(h.magnitudefactor*h.minorSteps[h.minorStepIdx])?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;0>i&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])===0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&o-i>c?(s(),d=!1):d=!0}}},i.prototype.convertValue=function(t){return this.containerHeight-(t-this._start)*this.scale},i.prototype.screenToValue=function(t){return(this.containerHeight-t)/this.scale+this._start},t.exports=i},function(t,e,i){function o(t,e,i,o){this.id=e;var n=["sampling","style","sort","yAxisOrientation","barChart","drawPoints","shaded","interpolation","zIndex","excludeFromStacking","excludeFromLegend"];this.options=s.selectiveBridgeObject(n,i),this.usingDefaultStyle=void 0===t.className,this.groupsUsingDefaultStyles=o,this.zeroPosition=0,this.update(t),1==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=void 0===t.visible?!0:t.visible}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=(i(8),i(55)),a=i(57),h=i(56);o.prototype.setItems=function(t){null!=t?(this.itemsData=t,1==this.options.sort&&s.insertSort(this.itemsData,function(t,e){return t.x>e.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];s.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),s.mergeOptions(this.options,t,"interpolation"),s.mergeOptions(this.options,t,"drawPoints"),s.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==n(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible?!0:t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){var s=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:s,svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":a.drawIcon(this,o,n,t,e,i);break;case"points":case"point":h.drawIcon(this,o,n,t,e,i);break;case"bar":r.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){var i=[];return i=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var c={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,c,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;nl;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={screen_x:(-e.screen_x+6*i.screen_x+o.screen_x)*h,screen_y:(-e.screen_y+6*i.screen_y+o.screen_y)*h},r={screen_x:(i.screen_x+6*o.screen_x-n.screen_x)*h,screen_y:(i.screen_y+6*o.screen_y-n.screen_y)*h},a.push([s.screen_x,s.screen_y]),a.push([r.screen_x,r.screen_y]),a.push([o.screen_x,o.screen_y]);return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);var o,n,s,r,a,h,d,l,c,u,p,f,m,v,g,y,b,w,_,x=[];x.push([Math.round(t[0].screen_x),Math.round(t[0].screen_y)]);for(var k=t.length,O=0;k-1>O;O++)o=0==O?t[0]:t[O-1],n=t[O],s=t[O+1],r=k>O+2?t[O+2]:s,d=Math.sqrt(Math.pow(o.screen_x-n.screen_x,2)+Math.pow(o.screen_y-n.screen_y,2)),l=Math.sqrt(Math.pow(n.screen_x-s.screen_x,2)+Math.pow(n.screen_y-s.screen_y,2)),c=Math.sqrt(Math.pow(s.screen_x-r.screen_x,2)+Math.pow(s.screen_y-r.screen_y,2)),v=Math.pow(c,i),y=Math.pow(c,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),u=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+u*n.screen_x+w*s.screen_x)*f,screen_y:(-b*o.screen_y+u*n.screen_y+w*s.screen_y)*f},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;it?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.resetElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["color","font","fixed","shadow"];if(A.selectiveNotDeepExtend(n,t,e,i),A.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=A.parseColor(e.color);A.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=A.bridgeObject(o.color));void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&null!==e.font?a["default"].parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=A.bridgeObject(o.font)),void 0!==e.scaling&&A.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e["default"]=B},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;i=this.nodeOptions.scaling.label.maxVisible&&(r=Number(this.nodeOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=n(d,2),c=l[0],u=l[1],p=this._setAlignment(t,i,h,s),f=n(p,2);i=f[0],h=f[1],t.font=(e&&this.nodeOptions.labelHighlightBold?"bold ":"")+r+"px "+this.fontOptions.face,t.fillStyle=c,this.isEdgeLabel||"left"!==this.fontOptions.align?t.textAlign="center":(t.textAlign=this.fontOptions.align,i-=.5*this.size.width),this.fontOptions.strokeWidth>0&&(t.lineWidth=this.fontOptions.strokeWidth,t.strokeStyle=u,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.fontOptions.color||"#000000",i=this.fontOptions.strokeColor||"#ffffff";if(t<=this.nodeOptions.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.nodeOptions.scaling.label.drawThreshold-t)));e=a.overrideOpacity(e,o),i=a.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.fontOptions.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?0:arguments[2],o=arguments.length<=3||void 0===arguments[3]?0:arguments[3],n=arguments.length<=4||void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.fontOptions.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===n&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.nodeOptions.label){o=String(this.nodeOptions.label).split("\n"),n=o.length,t.font=(e&&this.nodeOptions.labelHighlightBold?"bold ":"")+this.fontOptions.size+"px "+this.fontOptions.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"===s(e.font)&&a.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),this.updateBoundingBox(e,i,t,o),this.labelModule.draw(t,e,i,o)}},{key:"updateBoundingBox",value:function(t,e,i,o){this.resize(i,o),this.left=t-.5*this.width,this.top=e-.5*this.height;var n=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-n,this.boundingBox.top=this.top-n,this.boundingBox.bottom=this.top+this.height+n,this.boundingBox.right=this.left+this.width+n}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(d["default"]);e["default"]=l},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ithis.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,h),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.save(),h>0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore()}},{key:"_drawImageAtPosition",value:function(t){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t);var e=this.imageObj.width/this.width/this.body.view.scale;if(e>2&&this.options.shapeProperties.interpolation===!0){var i=this.imageObj.width,o=this.imageObj.height,n=document.createElement("canvas");n.width=i,n.height=i;var s=n.getContext("2d");e*=.5,i*=.5,o*=.5,s.drawImage(this.imageObj,0,0,i,o);for(var r=0,a=1;e>2&&4>a;)s.drawImage(n,r,0,i,o,r+i,0,i/2,o/2),r+=i,e*=.5,i*=.5,o*=.5,a+=1;t.drawImage(n,r,0,i,o,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t)}}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),this.updateBoundingBox(e,i,t,o),this.labelModule.draw(t,e,i,o)}},{key:"updateBoundingBox",value:function(t,e,i,o){this.resize(i,o),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),void 0!==this.options.label){var l=n+.5*this.height+3;this.labelModule.draw(t,o,l,s,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),this.updateBoundingBox(e,i,t,o),this.labelModule.draw(t,e,i,o)}},{key:"updateBoundingBox",value:function(t,e,i,o){this.resize(i,o),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(t,e,i,o){var n=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+n+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t),t.fillText(this.options.icon.code,e,i),this.disableShadow(t)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),t.closePath()}this._drawImageAtPosition(t),this._drawImageLabel(t,e,i,o||n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(g.selectiveDeepExtend(n,t,e,i),g.mergeOptions(t,e,"smooth",i,o),g.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=Object.create(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),g.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=Object.create(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();-1!=r.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=r.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=r.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!==s(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));g.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),g.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),g.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=Object.create(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=g.deepExtend({},t.color,!0),g.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var a=!1;void 0!==e.color.color&&(t.color.color=e.color.color,a=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,a=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,a=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&a===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=g.bridgeObject(o.color));void 0!==e.font&&null!==e.font?h["default"].parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=g.bridgeObject(o.font))}}]),t}();e["default"]=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function(){function t(t,e){for(var i=0;iMath.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length<=6||void 0===arguments[6]?this._getViaCoordinates():arguments[6],h=a(r,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,s,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?this._getViaCoordinates():arguments[1],i=a(e,2),o=i[0],n=i[1],s=t,r=[];r[0]=Math.pow(1-s,3),r[1]=3*s*Math.pow(1-s,2),r[2]=3*Math.pow(s,2)*(1-s),r[3]=Math.pow(s,3);var h=r[0]*this.fromPoint.x+r[1]*o.x+r[2]*n.x+r[3]*this.toPoint.x,d=r[0]*this.fromPoint.y+r[1]*o.y+r[2]*n.y+r[3]*this.toPoint.y;return{x:h,y:d}}}]),e}(l["default"]);e["default"]=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;il;l++)c=.1*l,v[0]=Math.pow(1-c,3),v[1]=3*c*Math.pow(1-c,2),v[2]=3*Math.pow(c,2)*(1-c),v[3]=Math.pow(c,3),u=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,u,p,n,s),h=h>d?d:h),f=u,m=p;return h}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+c);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:c=m:f===!1?c=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,c=void 0,u=void 0,p=t,f=e;for(d=1;10>d;d++)l=.1*d,c=Math.pow(1-l,2)*t+2*l*(1-l)*r.x+Math.pow(l,2)*i,u=Math.pow(1-l,2)*e+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(p,f,c,u,n,s),a=a>h?h:a),p=c,f=u;return a}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,c=void 0,u=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),c=this._pointOnCircle(o,n,l,g),u=Math.atan2(t.y-c.y,t.x-c.x),p=t.distanceToBorder(e,u),f=Math.sqrt(Math.pow(c.x-t.x,2)+Math.pow(c.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return c.t=g,c}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i){var o=this.options.color;if(o.inherit!==!1){if("both"===o.inherit&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,a=void 0;return s=this.from.options.color.highlight.border,a=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),a=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?a=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,a),n}this.colorDirty===!0&&("to"===o.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,o.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,o.opacity)))}else this.colorDirty===!0&&(this.color.highlight=o.highlight,this.color.hover=o.hover,this.color.color=r.overrideOpacity(o.color,o.opacity));return this.colorDirty=!1,e===!0?this.color.highlight:i===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,o,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,s,r,a);else{var d=this._getCircleData(),l=n(d,3),c=l[0],u=l[1],p=l[2],f=c-s,m=u-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,u=l-n,p=c-s;return Math.sqrt(u*u+p*p)}},{key:"getArrowData",value:function(t,e,i,o,s){var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,c=void 0,u=this.getLineWidth(o,s);if("from"===e?(h=this.from,d=this.to,l=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(h=this.to,d=this.from,l=-.1,c=this.options.arrows.to.scaleFactor):(h=this.to,d=this.from,c=this.options.arrows.middle.scaleFactor),h!=d)if("middle"!==e)if(this.options.smooth.enabled===!0){a=this.findBorderPosition(h,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,a.t+l)),i);r=Math.atan2(a.y-p.y,a.x-p.x)}else r=Math.atan2(h.y-d.y,h.x-d.x),a=this.findBorderPosition(h,t);else r=Math.atan2(h.y-d.y,h.x-d.x),a=this.getPoint(.5,i);else{var f=this._getCircleData(t),m=n(f,3),v=m[0],g=m[1],y=m[2];"from"===e?(a=this.findBorderPosition(this.from,t,{x:v,y:g,low:.25,high:.6,direction:-1}),r=-2*a.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(a=this.findBorderPosition(this.from,t,{x:v,y:g,low:.6,high:1,direction:1}),r=-2*a.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(a=this._pointOnCircle(v,g,y,.175),r=3.9269908169872414)}var b=15*c+3*u,w=a.x-.9*b*Math.cos(r),_=a.y-.9*b*Math.sin(r),x={x:w,y:_};return{point:a,core:x,angle:r,length:b}}},{key:"drawArrowHead",value:function(t,e,i,o){t.strokeStyle=this.getColor(t,e,i),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(e,i),t.arrow(o.point.x,o.point.y,o.angle,o.length),this.enableShadow(t),t.fill(),this.disableShadow(t)}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor=this.options.shadow.color,t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e); -t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?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.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.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"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(t=this.from.x,e=this.from.yMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,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.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var t=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=t*this.timestep:this.timestep/ts))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;se?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?this.options.stabilization.iterations:arguments[0];return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;o>s;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):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)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var c=Math.abs(r-n)-Math.abs(a-s);c>0?(s-=.5*c,a+=.5*c):(n+=.5*c,r-=.5*c);var u=1e-5,p=Math.max(u,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var y=0;o>y;y++)i=t[e[y]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=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")}},{key:"_placeInRegion",value: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+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value: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)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value: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()}}]),t}();e["default"]=n},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii&&(s=.5*c>i?1:u*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=n},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,u[r.id].x-=o,u[r.id].y-=n,u[a.id].x+=o,u[a.id].y+=n}}}]),t}();e["default"]=n},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;i0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;i=t&&i.push(n.id)}for(var r=0;r0&&Object.keys(p).length>0&&m===!0&&o.push({nodes:u,edges:p})}}}for(var b=0;bo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!0:arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];r[d]={x:l.x,y:l.y}}var u=e.releaseFunction(a,r);for(var p in n)if(n.hasOwnProperty(p)){var f=this.body.nodes[p];void 0!==u[p]&&(f.x=void 0===u[p].x?o.x:u[p].x,f.y=void 0===u[p].y?o.y:u[p].y)}}else for(var m in n)if(n.hasOwnProperty(m)){var v=this.body.nodes[m];v=n[m],v.options.fixed.x===!1&&(v.x=o.x),v.options.fixed.y===!1&&(v.y=o.y)}for(var g in n)if(n.hasOwnProperty(g)){var y=this.body.nodes[g];y.vx=o.vx,y.vy=o.vy,y.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[g]}for(var b=[],w=0;wo;)e.push(this.body.nodes[t].id),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t].id),e.reverse(),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e["default"]=u},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(-1!==t.indexOf("%")||-1!==t.indexOf("px"))return t;if(-1===t.indexOf("%"))return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",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.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new s(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:s.DIRECTION_ALL}),r.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new s(this.frame),r.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length<=0||void 0===arguments[0]?this.options.width:arguments[0],e=arguments.length<=1||void 0===arguments[1]?this.options.height:arguments[1];t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),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=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e["default"]=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function"); -}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=a["default"].getRange(this.body.nodes,t.nodes);var h=this.body.nodeIndices.length;o=12.662/(h+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=a["default"].getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),c=1.1*Math.abs(i.maxY-i.minY),u=this.canvas.frame.canvas.clientWidth/l,p=this.canvas.frame.canvas.clientHeight/c;o=p>=u?u:p}o>1?o=1:0===o&&(o=1);var f=a["default"].findCenter(i),m={position:f,scale:o,animation:t.animation};this.moveTo(m)}},{key:"focus",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=h.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e["default"]=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),c=l.nodesChanged,u=l.edgesChanged,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):c===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0):0>h-n&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&u===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;nt&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}}},{key:"onMouseWheel",value:function(t){if(this.options.zoomView===!0){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(i,n)}t.preventDefault()}}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,c=[],u=0;u0&&(this.popupObj=h[c[c.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],g=0;g0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,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.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=c},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale})}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e["default"]=h},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof a["default"]?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof a["default"]?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof a["default"]?(delete this.selectionObj.nodes[t.id],this._unselectConnectedEdges(t)):delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t]}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t]}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value: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}},{key:"_selectionIsEmpty",value: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}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),l.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={enabled:void 0===this.optionsBackup.physics.enabled?!0:this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled?!0:this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===r(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled?!0:t.physics.enabled,this.optionsBackup.physics.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var e="horizontal";"RL"!==this.options.hierarchical.direction&&"LR"!==this.options.hierarchical.direction||(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;es){for(var r=this.body.nodeIndices.length;this.body.nodeIndices.length>s;){n+=1;var a=this.body.nodeIndices.length;n%3===0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();var h=this.body.nodeIndices.length;if(a==h&&n%3!==0||n>o)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*r)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var d=70,l=0;l0){var t=void 0,e=void 0,i=!1,o=!0,n=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0===t.options.x&&void 0===t.options.y&&(o=!1),void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):n=!0);if(n===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");n===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback());for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&void 0===this.hierarchicalLevels[s]&&(this.hierarchicalLevels[s]=0);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(){for(var e=a(),i=0;i0)for(var n=0;n=l&&(r=Math.min(c,r),a=Math.max(c,a))}return[r,a,o,n]},l=function _(e){var i=t.hierarchicalLevels[e];if(t.hierarchicalChildrenReference[e]){var o=t.hierarchicalChildrenReference[e];if(o.length>0)for(var n=0;n1)for(var a=0;at.options.hierarchical.nodeSpacing){var u={};u[i.id]=!0;var p={};p[o.id]=!0,h(i,u),h(o,p);var f=c(i,o),m=d(u,f),v=s(m,4),g=(v[0],v[1]),y=(v[2],v[3],d(p,f)),b=s(y,4),w=b[0],_=(b[1],b[2]),x=(b[3],Math.abs(g-w));if(x>t.options.hierarchical.nodeSpacing){var k=g-w+t.options.hierarchical.nodeSpacing;k<-_+t.options.hierarchical.nodeSpacing&&(k=-_+t.options.hierarchical.nodeSpacing),0>k&&(t._shiftBlock(o.id,k),e=!0,n===!0&&t._centerParent(o))}}},m=function(o,n){for(var r=n.id,a=n.edges,l=t.hierarchicalLevels[n.id],c=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,u={},p=[],f=0;fr;r++){var a=g(o,i),h=y(o,i),d=40,l=Math.max(-d,Math.min(d,Math.round(a/h)));if(o-=l,void 0!==s[o])break;s[o]=r}return o},w=function(o){var r=t._getPositionForHierarchy(n);if(void 0===i[n.id]){var a={};a[n.id]=!0,h(n,a),i[n.id]=a}var l=d(i[n.id]),c=s(l,4),u=(c[0],c[1],c[2]),p=c[3],f=o-r,m=0;f>0?m=Math.min(f,p-t.options.hierarchical.nodeSpacing):0>f&&(m=-Math.min(-f,u-t.options.hierarchical.nodeSpacing)),0!=m&&(t._shiftBlock(n.id,m),e=!0)},_=function(i){var o=t._getPositionForHierarchy(n),r=t._getSpaceAroundNode(n),a=s(r,2),h=a[0],d=a[1],l=i-o,c=o;l>0?c=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):0>l&&(c=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),c!==o&&(t._setPositionForHierarchy(n,c,void 0,!0),e=!0)},x=b(o,p);w(x),x=b(o,a),_(x)},v=function(i){var o=Object.keys(t.distributionOrdering);o=o.reverse();for(var n=0;i>n;n++){e=!1;for(var s=0;sn&&(e=!1,p(f,o,!0),e===!0);n++);},y=function(){for(var e in t.body.nodes)t.body.nodes.hasOwnProperty(e)&&t._centerParent(t.body.nodes[e])},b=function(){var e=Object.keys(t.distributionOrdering);e=e.reverse();for(var i=0;i0)for(var d=0;dg&&Math.abs(g)0&&Math.abs(g)0&&(r=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(s,r,e),this._validataPositionAndContinue(s,e,r),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){if(void 0!==this.hierarchicalChildrenReference[t]){for(var i=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var h=1e9,d=-1e9,l=0;l0&&(e=this._getHubSize(),0!==e);)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=1e5,i=function(t,e,i){},o=function(o,n,s){var r=t.hierarchicalLevels[o.id];void 0===r&&(t.hierarchicalLevels[o.id]=e);var a=i(d["default"].cloneOptions(o,"node"),d["default"].cloneOptions(n,"node"),d["default"].cloneOptions(s,"edge"));t.hierarchicalLevels[n.id]=t.hierarchicalLevels[o.id]+a};this._crawlNetwork(o),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=1e4,i=function(i,o,n){var s=t.hierarchicalLevels[i.id];void 0===s&&(t.hierarchicalLevels[i.id]=e),n.toId==o.id?t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]+1:t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]-1};this._crawlNetwork(i),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&void 0!==this.hierarchicalLevels[e]&&(t=Math.min(this.hierarchicalLevels[e],t));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalChildrenReference[o]&&(t.hierarchicalChildrenReference[o]=[]),t.hierarchicalChildrenReference[o].push(n),void 0===t.hierarchicalParentReference[n]&&(t.hierarchicalParentReference[n]=[]),t.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?function(){}:arguments[0],i=arguments[1],o={},n=0,s=function d(i,n){if(void 0===o[i.id]){void 0===t.hierarchicalTrees[i.id]&&(t.hierarchicalTrees[i.id]=n,t.treeIndex=Math.max(n,t.treeIndex)),o[i.id]=!0;for(var s=void 0,r=0;r1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e["default"]=c},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=s.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){var t=this;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId?!function(){var e=t.body.edges[t.edgeBeingEditedId],i=t._getNewTargetNode(e.from.x,e.from.y),o=t._getNewTargetNode(e.to.x,e.to.y);t.temporaryIds.nodes.push(i.id),t.temporaryIds.nodes.push(o.id),t.body.nodes[i.id]=i,t.body.nodeIndices.push(i.id),t.body.nodes[o.id]=o,t.body.nodeIndices.push(o.id),t._temporaryBindUI("onTouch",t._controlNodeTouch.bind(t)),t._temporaryBindUI("onTap",function(){}),t._temporaryBindUI("onHold",function(){}),t._temporaryBindUI("onDragStart",t._controlNodeDragStart.bind(t)),t._temporaryBindUI("onDrag",t._controlNodeDrag.bind(t)),t._temporaryBindUI("onDragEnd",t._controlNodeDragEnd.bind(t)),t._temporaryBindUI("onMouseMove",function(){}),t._temporaryBindEvent("beforeDrawing",function(t){var n=e.edgeType.findBorderPositions(t);i.selected===!1&&(i.x=n.from.x,i.y=n.from.y),o.selected===!1&&(o.x=n.to.x,o.y=n.to.y)}),t.body.emitter.emit("_redraw")}():this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block", -this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=h},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="object",a="dom",h="any",d={configure:{enabled:{"boolean":o},filter:{"boolean":o,string:i,array:s,"function":"function"},container:{dom:a},showButton:{"boolean":o},__type__:{object:r,"boolean":o,string:i,array:s,"function":"function"}},edges:{arrows:{to:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},middle:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},from:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},__type__:{string:["from","to","middle"],object:r}},arrowStrikethrough:{"boolean":o},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],"boolean":o},opacity:{number:n},__type__:{object:r,string:i}},dashes:{"boolean":o,array:s},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:r,string:i}},hidden:{"boolean":o},hoverWidth:{"function":"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},length:{number:n,undefined:"undefined"},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},selectionWidth:{"function":"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},smooth:{enabled:{"boolean":o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],"boolean":o},__type__:{object:r,"boolean":o}},title:{string:i,undefined:"undefined"},width:{number:n},value:{number:n,undefined:"undefined"},__type__:{object:r}},groups:{useDefaultGroups:{"boolean":o},__any__:"get from nodes, will be overwritten below",__type__:{object:r}},interaction:{dragNodes:{"boolean":o},dragView:{"boolean":o},hideEdgesOnDrag:{"boolean":o},hideNodesOnDrag:{"boolean":o},hover:{"boolean":o},keyboard:{enabled:{"boolean":o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:r}},bindToWindow:{"boolean":o},__type__:{object:r,"boolean":o}},multiselect:{"boolean":o},navigationButtons:{"boolean":o},selectable:{"boolean":o},selectConnectedEdges:{"boolean":o},hoverConnectedEdges:{"boolean":o},tooltipDelay:{number:n},zoomView:{"boolean":o},__type__:{object:r}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{"boolean":o},hierarchical:{enabled:{"boolean":o},levelSeparation:{number:n},nodeSpacing:{number:n},treeSpacing:{number:n},blockShifting:{"boolean":o},edgeMinimization:{"boolean":o},parentCentralization:{"boolean":o},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:r,"boolean":o}},__type__:{object:r}},manipulation:{enabled:{"boolean":o},initiallyActive:{"boolean":o},addNode:{"boolean":o,"function":"function"},addEdge:{"boolean":o,"function":"function"},editNode:{"function":"function"},editEdge:{"boolean":o,"function":"function"},deleteNode:{"boolean":o,"function":"function"},deleteEdge:{"boolean":o,"function":"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:r,"boolean":o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},__type__:{object:r,string:i}},fixed:{x:{"boolean":o},y:{"boolean":o},__type__:{object:r,"boolean":o}},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},__type__:{object:r,string:i}},group:{string:i,number:n,undefined:"undefined"},hidden:{"boolean":o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:r}},id:{string:i,number:n},image:{string:i,undefined:"undefined"},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},level:{number:n,undefined:"undefined"},mass:{number:n},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{"boolean":o,array:s},borderRadius:{number:n},interpolation:{"boolean":o},useImageSize:{"boolean":o},useBorderWithImage:{"boolean":o},__type__:{object:r}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},x:{number:n},y:{number:n},__type__:{object:r}},physics:{enabled:{"boolean":o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{"boolean":o},fit:{"boolean":o},__type__:{object:r,"boolean":o}},timestep:{number:n},adaptiveTimestep:{"boolean":o},__type__:{object:r,"boolean":o}},autoResize:{"boolean":o},clickToUse:{"boolean":o},locale:{string:i},locales:{__any__:{any:h},__type__:{object:r}},height:{string:i},width:{string:i},__type__:{object:r}};d.groups.__any__=d.nodes,d.manipulation.controlNodeStyle=d.nodes;var l={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};e.allOptions=d,e.configureOptions=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),r=function(){function t(t,e){for(var i=0;in&&h>a;){a+=1;var v=this._getHighestEnergyNode(i),g=s(v,4);for(c=g[0],l=g[1],u=g[2],p=g[3],f=l,m=0;f>r&&d>m;){m+=1,this._moveNode(c,u,p);var y=this._getEnergy(c),b=s(y,3);f=b[0],u=b[1],p=b[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],r=0,a=0,h=0;ho&&(o=u,n=d,r=p,a=f)}}return[n,o,r,a]}},{key:"_getEnergy",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=i[t].x,n=i[t].y,s=0,r=0,a=0;al;l++)for(var c=0;d-1>c;c++)for(var u=c+1;d>u;u++)o[e[c]][e[u]]=Math.min(o[e[c]][e[u]],o[e[c]][e[l]]+o[e[l]][e[u]]),o[e[u]][e[c]]=o[e[c]][e[u]];return o}}]),t}();e["default"]=n},function(t,e){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,c=e+r,u=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,u+h,c,u,c),this.bezierCurveTo(u-h,c,t,p+d,t,p),this.bezierCurveTo(t,p-d,u-h,e,u,e),this.bezierCurveTo(u+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,u+h,m,u,m),this.bezierCurveTo(u-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),c=s+o/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,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0,u=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),u=Math.sqrt(p*p/(1+h*h)),u=0>r?-u:u,t+=u,e+=h*u,c===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,c=!c})},function(t,e){function i(t){return P=t,p()}function o(){I=0,N=P.charAt(0)}function n(){I++,N=P.charAt(I)}function s(){return P.charAt(I+1)}function r(t){return R.test(t)}function a(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function h(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function d(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=a(n.attr,t.node))),i=s.length-1;i>=0;i--){var h=s[i];h.nodes||(h.nodes=[]),-1===h.nodes.indexOf(n)&&h.nodes.push(n)}e.attr&&(n.attr=a(n.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,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=a({},t.edge)),s.attr=a(s.attr||{},n),s}function u(){for(L=T.NULL,z="";" "===N||" "===N||"\n"===N||"\r"===N;)n();do{var t=!1;if("#"===N){for(var e=I-1;" "===P.charAt(e)||" "===P.charAt(e);)e--;if("\n"===P.charAt(e)||""===P.charAt(e)){for(;""!=N&&"\n"!=N;)n();t=!0}}if("/"===N&&"/"===s()){for(;""!=N&&"\n"!=N;)n();t=!0}if("/"===N&&"*"===s()){for(;""!=N;){if("*"===N&&"/"===s()){n(),n();break}n()}t=!0}for(;" "===N||" "===N||"\n"===N||"\r"===N;)n()}while(t);if(""===N)return void(L=T.DELIMITER);var i=N+s();if(E[i])return L=T.DELIMITER,z=i,n(),void n();if(E[N])return L=T.DELIMITER,z=N,void n();if(r(N)||"-"===N){for(z+=N,n();r(N);)z+=N,n();return"false"===z?z=!1:"true"===z?z=!0:isNaN(Number(z))||(z=Number(z)),void(L=T.IDENTIFIER)}if('"'===N){for(n();""!=N&&('"'!=N||'"'===N&&'"'===s());)z+=N,'"'===N&&n(),n();if('"'!=N)throw _('End of string " expected');return n(),void(L=T.IDENTIFIER)}for(L=T.UNKNOWN;""!=N;)z+=N,n();throw new SyntaxError('Syntax error in part "'+x(z,30)+'"')}function p(){var t={};if(o(),u(),"strict"===z&&(t.strict=!0,u()),"graph"!==z&&"digraph"!==z||(t.type=z,u()),L===T.IDENTIFIER&&(t.id=z,u()),"{"!=z)throw _("Angle bracket { expected");if(u(),f(t),"}"!=z)throw _("Angle bracket } expected");if(u(),""!==z)throw _("End of file expected");return u(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==z&&"}"!=z;)m(t),";"===z&&u()}function m(t){var e=v(t);if(e)return void b(t,e);var i=g(t);if(!i){ -if(L!=T.IDENTIFIER)throw _("Identifier expected");var o=z;if(u(),"="===z){if(u(),L!=T.IDENTIFIER)throw _("Identifier expected");t[o]=z,u()}else y(t,o)}}function v(t){var e=null;if("subgraph"===z&&(e={},e.type="subgraph",u(),L===T.IDENTIFIER&&(e.id=z,u())),"{"===z){if(u(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=z)throw _("Angle bracket } expected");u(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function g(t){return"node"===z?(u(),t.node=w(),"node"):"edge"===z?(u(),t.edge=w(),"edge"):"graph"===z?(u(),t.graph=w(),"graph"):null}function y(t,e){var i={id:e},o=w();o&&(i.attr=o),d(t,i),b(t,e)}function b(t,e){for(;"->"===z||"--"===z;){var i,o=z;u();var n=v(t);if(n)i=n;else{if(L!=T.IDENTIFIER)throw _("Identifier or subgraph expected");i=z,d(t,{id:i}),u()}var s=w(),r=c(t,e,i,o,s);l(t,r),e=i}}function w(){for(var t=null;"["===z;){for(u(),t={};""!==z&&"]"!=z;){if(L!=T.IDENTIFIER)throw _("Attribute name expected");var e=z;if(u(),"="!=z)throw _("Equal sign = expected");if(u(),L!=T.IDENTIFIER)throw _("Attribute value expected");var i=z;h(t,e,i),u(),","==z&&u()}if("]"!=z)throw _("Bracket ] expected");u()}return t}function _(t){return new SyntaxError(t+', got "'+x(z,30)+'" (char '+I+")")}function x(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function k(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 O(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},P="",I=0,N="",z="",L=T.NULL,R=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;ai;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var o;if(void 0!==t){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(n.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return o=r.exec(t),o?new Date(Number(o[1])):n(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return n(t);if(t instanceof Date)return n(t.valueOf());if(n.isMoment(t))return n(t);if(e.isString(t))return o=r.exec(t),n(o?Number(o[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(n.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return o=r.exec(t),o?new Date(Number(o[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)){o=r.exec(t);var s;return s=o?new Date(Number(o[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}}};var r=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e="undefined"==typeof t?"undefined":o(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":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;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.throttle=function(t,e){var i=null,o=!1;return function n(){i?o=!0:(o=!1,t(),i=setTimeout(function(){i=null,o&&n()},e))}},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):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,o){return e+e+i+i+o+o});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("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.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)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.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||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var a={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=a.split(t.style.cssText),n=a.split(i),s=e.extend(o,n);t.style.cssText=a.join(s)},e.removeCssText=function(t,e){var i=a.split(t.style.cssText),o=a.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=a.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,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:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.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.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==("undefined"==typeof i?"undefined":o(i))){for(var n=Object.create(i),s=0;s0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length<=3||void 0===arguments[3]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===e[i])t[i]=Object.create(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;a>=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o,n){for(var s,r,a,h,d=1e4,l=0,c=0,u=t.length-1,n=void 0!=n?n:function(t,e){return t==e?0:e>t?-1:1};u>=c&&d>l;){if(h=Math.floor(.5*(u+c)),s=t[Math.max(0,h-1)][i],r=t[h][i],a=t[Math.min(t.length-1,h+1)][i],0==n(r,e))return h;if(n(s,e)<0&&n(r,e)>0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?c=h+1:u=h-1,l++}return-1},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,i){t.exports="undefined"!=typeof window&&window.moment||i(3)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return ro.apply(null,arguments)}function i(t){ro=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in ho)o=ho[i],n=e[o],p(n)||(t[o]=n);return t}function m(t){f(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),lo===!1&&(lo=!0,e.updateOffset(this),lo=!1)}function v(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}function g(t){return 0>t?Math.ceil(t):Math.floor(t)}function y(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=g(e)),i}function b(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&y(t[o])!==y(e[o]))&&r++;return r+s}function w(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function _(t,i){var o=!0;return a(function(){return null!=e.deprecationHandler&&e.deprecationHandler(null,t),o&&(w(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),o=!1),i.apply(this,arguments)},i)}function x(t,i){null!=e.deprecationHandler&&e.deprecationHandler(t,i),co[t]||(w(i),co[t]=!0)}function k(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function O(t){return"[object Object]"===Object.prototype.toString.call(t)}function M(t){var e,i;for(i in t)e=t[i],k(e)?this[i]=e:this["_"+i]=e;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function D(t,e){var i,o=a({},t);for(i in e)r(e,i)&&(O(t[i])&&O(e[i])?(o[i]={},a(o[i],t[i]),a(o[i],e[i])):null!=e[i]?o[i]=e[i]:delete o[i]);return o}function S(t){null!=t&&this.set(t)}function C(t){return t?t.toLowerCase().replace("_","-"):t}function T(t){for(var e,i,o,n,s=0;s0;){if(o=E(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&b(n,i,!0)>=e-1)break;e--}s++}return null}function E(e){var i=null;if(!mo[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=po._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),P(i)}catch(o){}return mo[e]}function P(t,e){var i;return t&&(i=p(e)?R(t):I(t,e),i&&(po=i)),po._abbr}function I(t,e){return null!==e?(e.abbr=t,null!=mo[t]?(x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),e=D(mo[t]._config,e)):null!=e.parentLocale&&(null!=mo[e.parentLocale]?e=D(mo[e.parentLocale]._config,e):x("parentLocaleUndefined","specified parentLocale is not defined yet")),mo[t]=new S(e),P(t),mo[t]):(delete mo[t],null)}function N(t,e){if(null!=e){var i;null!=mo[t]&&(e=D(mo[t]._config,e)),i=new S(e),i.parentLocale=mo[t],mo[t]=i,P(t)}else null!=mo[t]&&(null!=mo[t].parentLocale?mo[t]=mo[t].parentLocale:null!=mo[t]&&delete mo[t]);return mo[t]}function R(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return po;if(!o(t)){if(e=E(t))return e;t=[t]}return T(t)}function z(){return uo(mo)}function L(t,e){var i=t.toLowerCase();vo[i]=vo[i+"s"]=vo[e]=t}function A(t){return"string"==typeof t?vo[t]||vo[t.toLowerCase()]:void 0}function B(t){var e,i,o={};for(i in t)r(t,i)&&(e=A(i),e&&(o[e]=t[i]));return o}function F(t,i){return function(o){return null!=o?(H(this,t,o),e.updateOffset(this,i),this):j(this,t)}}function j(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function H(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function W(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=A(t),k(this[t]))return this[t](e);return this}function Y(t,e,i){var o=""+Math.abs(t),n=e-o.length,s=t>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function G(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(wo[t]=n),e&&(wo[e[0]]=function(){return Y(n.apply(this,arguments),e[1],e[2])}),i&&(wo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function V(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function U(t){var e,i,o=t.match(go);for(e=0,i=o.length;i>e;e++)wo[o[e]]?o[e]=wo[o[e]]:o[e]=V(o[e]);return function(e){var n,s="";for(n=0;i>n;n++)s+=o[n]instanceof Function?o[n].call(e,t):o[n];return s}}function q(t,e){return t.isValid()?(e=X(e,t.localeData()),bo[e]=bo[e]||U(e),bo[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(yo.lastIndex=0;o>=0&&yo.test(t);)t=t.replace(yo,i),yo.lastIndex=0,o-=1;return t}function Z(t,e,i){Bo[t]=k(e)?e:function(t,o){return t&&i?i:e}}function K(t,e){return r(Bo,t)?Bo[t](e._strict,e._locale):new RegExp(J(t))}function J(t){return Q(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function Q(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function $(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=y(t)}),i=0;io;++o)s=h([2e3,o]),this._shortMonthsParse[o]=this.monthsShort(s,"").toLocaleLowerCase(),this._longMonthsParse[o]=this.months(s,"").toLocaleLowerCase();return i?"MMM"===e?(n=fo.call(this._shortMonthsParse,r),-1!==n?n:null):(n=fo.call(this._longMonthsParse,r),-1!==n?n:null):"MMM"===e?(n=fo.call(this._shortMonthsParse,r),-1!==n?n:(n=fo.call(this._longMonthsParse,r),-1!==n?n:null)):(n=fo.call(this._longMonthsParse,r),-1!==n?n:(n=fo.call(this._shortMonthsParse,r),-1!==n?n:null))}function rt(t,e,i){var o,n,s;if(this._monthsParseExact)return st.call(this,t,e,i);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),o=0;12>o;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function at(t,e){var i;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=y(e);else if(e=t.localeData().monthsParse(e),"number"!=typeof e)return t;return i=Math.min(t.date(),it(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t}function ht(t){return null!=t?(at(this,t),e.updateOffset(this,!0),this):j(this,"Month")}function dt(){return it(this.year(),this.month())}function lt(t){return this._monthsParseExact?(r(this,"_monthsRegex")||ut.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function ct(t){return this._monthsParseExact?(r(this,"_monthsRegex")||ut.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function ut(){function t(t,e){return e.length-t.length}var e,i,o=[],n=[],s=[];for(e=0;12>e;e++)i=h([2e3,e]),o.push(this.monthsShort(i,"")),n.push(this.months(i,"")),s.push(this.months(i,"")),s.push(this.monthsShort(i,""));for(o.sort(t),n.sort(t),s.sort(t),e=0;12>e;e++)o[e]=Q(o[e]),n[e]=Q(n[e]),s[e]=Q(s[e]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+o.join("|")+")","i")}function pt(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[Ho]<0||i[Ho]>11?Ho:i[Wo]<1||i[Wo]>it(i[jo],i[Ho])?Wo:i[Yo]<0||i[Yo]>24||24===i[Yo]&&(0!==i[Go]||0!==i[Vo]||0!==i[Uo])?Yo:i[Go]<0||i[Go]>59?Go:i[Vo]<0||i[Vo]>59?Vo:i[Uo]<0||i[Uo]>999?Uo:-1,l(t)._overflowDayOfYear&&(jo>e||e>Wo)&&(e=Wo),l(t)._overflowWeeks&&-1===e&&(e=qo),l(t)._overflowWeekday&&-1===e&&(e=Xo),l(t).overflow=e),t}function ft(t){var e,i,o,n,s,r,a=t._i,h=tn.exec(a)||en.exec(a);if(h){for(l(t).iso=!0,e=0,i=nn.length;i>e;e++)if(nn[e][1].exec(h[1])){n=nn[e][0],o=nn[e][2]!==!1;break}if(null==n)return void(t._isValid=!1);if(h[3]){for(e=0,i=sn.length;i>e;e++)if(sn[e][1].exec(h[3])){s=(h[2]||" ")+sn[e][0];break}if(null==s)return void(t._isValid=!1)}if(!o&&null!=s)return void(t._isValid=!1);if(h[4]){if(!on.exec(h[4]))return void(t._isValid=!1);r="Z"}t._f=n+(s||"")+(r||""),Tt(t)}else t._isValid=!1}function mt(t){var i=rn.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(ft(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function vt(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 100>t&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function gt(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function yt(t){return bt(t)?366:365}function bt(t){return t%4===0&&t%100!==0||t%400===0}function wt(){return bt(this.year())}function _t(t,e,i){var o=7+e-i,n=(7+gt(t,0,o).getUTCDay()-e)%7;return-n+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=_t(t,o,n),d=1+7*(e-1)+a+h;return 0>=d?(s=t-1,r=yt(s)+d):d>yt(t)?(s=t+1,r=d-yt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function kt(t,e,i){var o,n,s=_t(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return 1>r?(n=t.year()-1,o=r+Ot(n,e,i)):r>Ot(t.year(),e,i)?(o=r-Ot(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function Ot(t,e,i){var o=_t(t,e,i),n=_t(t+1,e,i);return(yt(t)-o+n)/7}function Mt(t,e,i){return null!=t?t:null!=e?e:i}function Dt(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function St(t){var e,i,o,n,s=[];if(!t._d){for(o=Dt(t),t._w&&null==t._a[Wo]&&null==t._a[Ho]&&Ct(t),t._dayOfYear&&(n=Mt(t._a[jo],o[jo]),t._dayOfYear>yt(n)&&(l(t)._overflowDayOfYear=!0),i=gt(n,0,t._dayOfYear),t._a[Ho]=i.getUTCMonth(),t._a[Wo]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Yo]&&0===t._a[Go]&&0===t._a[Vo]&&0===t._a[Uo]&&(t._nextDay=!0,t._a[Yo]=0),t._d=(t._useUTC?gt:vt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Yo]=24)}}function Ct(t){var e,i,o,n,s,r,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=Mt(e.GG,t._a[jo],kt(At(),1,4).year),o=Mt(e.W,1),n=Mt(e.E,1),(1>n||n>7)&&(h=!0)):(s=t._locale._week.dow,r=t._locale._week.doy,i=Mt(e.gg,t._a[jo],kt(At(),s,r).year),o=Mt(e.w,1),null!=e.d?(n=e.d,(0>n||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s),1>o||o>Ot(i,s,r)?l(t)._overflowWeeks=!0:null!=h?l(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[jo]=a.year,t._dayOfYear=a.dayOfYear)}function Tt(t){if(t._f===e.ISO_8601)return void ft(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=X(t._f,t._locale).match(go)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),wo[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),et(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[Yo]<=12&&t._a[Yo]>0&&(l(t).bigHour=void 0),l(t).parsedDateParts=t._a.slice(0),l(t).meridiem=t._meridiem,t._a[Yo]=Et(t._locale,t._a[Yo],t._meridiem),St(t),pt(t)}function Et(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function Pt(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function It(t){if(!t._d){var e=B(t._i);t._a=s([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),St(t)}}function Nt(t){var e=new m(pt(Rt(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Rt(t){var e=t._i,i=t._f;return t._locale=t._locale||R(t._l),null===e||void 0===i&&""===e?u({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new m(pt(e)):(o(i)?Pt(t):i?Tt(t):n(e)?t._d=e:zt(t),c(t)||(t._d=null),t))}function zt(t){var i=t._i;void 0===i?t._d=new Date(e.now()):n(i)?t._d=new Date(i.valueOf()):"string"==typeof i?mt(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),St(t)):"object"==typeof i?It(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Lt(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,Nt(s)}function At(t,e,i,o){return Lt(t,e,i,o,!1)}function Bt(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return At();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+Y(~~(t/60),2)+e+Y(~~t%60,2)})}function Gt(t,e){var i=(e||"").match(t)||[],o=i[i.length-1]||[],n=(o+"").match(cn)||["-",0,0],s=+(60*n[1])+y(n[2]);return"+"===n[0]?s:-s}function Vt(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(v(t)||n(t)?t.valueOf():At(t).valueOf())-o.valueOf(),o._d.setTime(o._d.valueOf()+s),e.updateOffset(o,!1),o):At(t).local()}function Ut(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function qt(t,i){var o,n=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=Gt(zo,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=Ut(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?le(this,ne(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:Ut(this):null!=t?this:NaN}function Xt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Zt(t){return this.utcOffset(0,t)}function Kt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ut(this),"m")),this}function Jt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Gt(Ro,this._i)),this}function Qt(t){return this.isValid()?(t=t?At(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function $t(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function te(){if(!p(this._isDSTShifted))return this._isDSTShifted;var t={};if(f(t,this),t=Rt(t),t._a){var e=t._isUTC?h(t._a):At(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function ee(){return this.isValid()?!this._isUTC:!1}function ie(){return this.isValid()?this._isUTC:!1}function oe(){return this.isValid()?this._isUTC&&0===this._offset:!1}function ne(t,e){var i,o,n,s=t,a=null;return Wt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=un.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:y(a[Wo])*i,h:y(a[Yo])*i,m:y(a[Go])*i,s:y(a[Vo])*i,ms:y(a[Uo])*i}):(a=pn.exec(t))?(i="-"===a[1]?-1:1,s={y:se(a[2],i),M:se(a[3],i),w:se(a[4],i),d:se(a[5],i),h:se(a[6],i),m:se(a[7],i),s:se(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=ae(At(s.from),At(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Ht(s),Wt(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function se(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function re(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months, +i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function ae(t,e){var i;return t.isValid()&&e.isValid()?(e=Vt(e,t),t.isBefore(e)?i=re(t,e):(i=re(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function he(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function de(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(x(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=ne(i,o),le(this,n,t),this}}function le(t,i,o,n){var s=i._milliseconds,r=he(i._days),a=he(i._months);t.isValid()&&(n=null==n?!0:n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&H(t,"Date",j(t,"Date")+r*o),a&&at(t,j(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function ce(t,e){var i=t||At(),o=Vt(i,this).startOf("day"),n=this.diff(o,"days",!0),s=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse",r=e&&(k(e[s])?e[s]():e[s]);return this.format(r||this.localeData().calendar(s,this,At(i)))}function ue(){return new m(this)}function pe(t,e){var i=v(t)?t:At(t);return this.isValid()&&i.isValid()?(e=A(p(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)||0}function _e(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function xe(){var t=this.clone().utc();return 0s&&(e=s),Xe.call(this,t,e,i,o,n))}function Xe(t,e,i,o,n){var s=xt(t,e,i,o,n),r=gt(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ze(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ke(t){return kt(t,this._week.dow,this._week.doy).week}function Je(){return this._week.dow}function Qe(){return this._week.doy}function $e(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function ti(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ei(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function ii(t,e){return o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function oi(t){return this._weekdaysShort[t.day()]}function ni(t){return this._weekdaysMin[t.day()]}function si(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;7>o;++o)s=h([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=fo.call(this._weekdaysParse,r),-1!==n?n:null):"ddd"===e?(n=fo.call(this._shortWeekdaysParse,r),-1!==n?n:null):(n=fo.call(this._minWeekdaysParse,r),-1!==n?n:null):"dddd"===e?(n=fo.call(this._weekdaysParse,r),-1!==n?n:(n=fo.call(this._shortWeekdaysParse,r),-1!==n?n:(n=fo.call(this._minWeekdaysParse,r),-1!==n?n:null))):"ddd"===e?(n=fo.call(this._shortWeekdaysParse,r),-1!==n?n:(n=fo.call(this._weekdaysParse,r),-1!==n?n:(n=fo.call(this._minWeekdaysParse,r),-1!==n?n:null))):(n=fo.call(this._minWeekdaysParse,r),-1!==n?n:(n=fo.call(this._weekdaysParse,r),-1!==n?n:(n=fo.call(this._shortWeekdaysParse,r),-1!==n?n:null)))}function ri(t,e,i){var o,n,s;if(this._weekdaysParseExact)return si.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;7>o;o++){if(n=h([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function ai(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ei(t,this.localeData()),this.add(t-e,"d")):e}function hi(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function di(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:NaN}function li(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pi.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex}function ci(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pi.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}function ui(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pi.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}function pi(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],d=[],l=[];for(e=0;7>e;e++)i=h([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),d.push(s),l.push(o),l.push(n),l.push(s);for(r.sort(t),a.sort(t),d.sort(t),l.sort(t),e=0;7>e;e++)a[e]=Q(a[e]),d[e]=Q(d[e]),l[e]=Q(l[e]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function fi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function mi(){return this.hours()%12||12}function vi(){return this.hours()||24}function gi(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function yi(t,e){return e._meridiemParse}function bi(t){return"p"===(t+"").toLowerCase().charAt(0)}function wi(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function _i(t,e){e[Uo]=y(1e3*("0."+t))}function xi(){return this._isUTC?"UTC":""}function ki(){return this._isUTC?"Coordinated Universal Time":""}function Oi(t){return At(1e3*t)}function Mi(){return At.apply(null,arguments).parseZone()}function Di(t,e,i){var o=this._calendar[t];return k(o)?o.call(e,i):o}function Si(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function Ci(){return this._invalidDate}function Ti(t){return this._ordinal.replace("%d",t)}function Ei(t){return t}function Pi(t,e,i,o){var n=this._relativeTime[i];return k(n)?n(t,e,i,o):n.replace(/%d/i,t)}function Ii(t,e){var i=this._relativeTime[t>0?"future":"past"];return k(i)?i(e):i.replace(/%s/i,e)}function Ni(t,e,i,o){var n=R(),s=h().set(o,e);return n[i](s,t)}function Ri(t,e,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return Ni(t,e,i,"month");var o,n=[];for(o=0;12>o;o++)n[o]=Ni(t,o,i,"month");return n}function zi(t,e,i,o){"boolean"==typeof t?("number"==typeof e&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,"number"==typeof e&&(i=e,e=void 0),e=e||"");var n=R(),s=t?n._week.dow:0;if(null!=i)return Ni(e,(i+s)%7,o,"day");var r,a=[];for(r=0;7>r;r++)a[r]=Ni(e,(r+s)%7,o,"day");return a}function Li(t,e){return Ri(t,e,"months")}function Ai(t,e){return Ri(t,e,"monthsShort")}function Bi(t,e,i){return zi(t,e,i,"weekdays")}function Fi(t,e,i){return zi(t,e,i,"weekdaysShort")}function ji(t,e,i){return zi(t,e,i,"weekdaysMin")}function Hi(){var t=this._data;return this._milliseconds=jn(this._milliseconds),this._days=jn(this._days),this._months=jn(this._months),t.milliseconds=jn(t.milliseconds),t.seconds=jn(t.seconds),t.minutes=jn(t.minutes),t.hours=jn(t.hours),t.months=jn(t.months),t.years=jn(t.years),this}function Wi(t,e,i,o){var n=ne(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Yi(t,e){return Wi(this,t,e,1)}function Gi(t,e){return Wi(this,t,e,-1)}function Vi(t){return 0>t?Math.floor(t):Math.ceil(t)}function Ui(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||0>=s&&0>=r&&0>=a||(s+=864e5*Vi(Xi(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=g(s/1e3),h.seconds=t%60,e=g(t/60),h.minutes=e%60,i=g(e/60),h.hours=i%24,r+=g(i/24),n=g(qi(r)),a+=n,r-=Vi(Xi(n)),o=g(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function qi(t){return 4800*t/146097}function Xi(t){return 146097*t/4800}function Zi(t){var e,i,o=this._milliseconds;if(t=A(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+qi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Xi(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function Ki(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*y(this._months/12)}function Ji(t){return function(){return this.as(t)}}function Qi(t){return t=A(t),this[t+"s"]()}function $i(t){return function(){return this._data[t]}}function to(){return g(this.days()/7)}function eo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function io(t,e,i){var o=ne(t).abs(),n=is(o.as("s")),s=is(o.as("m")),r=is(o.as("h")),a=is(o.as("d")),h=is(o.as("M")),d=is(o.as("y")),l=n=s&&["m"]||s=r&&["h"]||r=a&&["d"]||a=h&&["M"]||h=d&&["y"]||["yy",d];return l[2]=e,l[3]=+t>0,l[4]=i,eo.apply(null,l)}function oo(t,e){return void 0===os[t]?!1:void 0===e?os[t]:(os[t]=e,!0)}function no(t){var e=this.localeData(),i=io(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function so(){var t,e,i,o=ns(this._milliseconds)/1e3,n=ns(this._days),s=ns(this._months);t=g(o/60),e=g(t/60),o%=60,t%=60,i=g(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,c=o,u=this.asSeconds();return u?(0>u?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||c?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var ro,ao;ao=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;i>o;o++)if(o in e&&t.call(this,e[o],o,e))return!0;return!1};var ho=e.momentProperties=[],lo=!1,co={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var uo;uo=Object.keys?Object.keys:function(t){var e,i=[];for(e in t)r(t,e)&&i.push(e);return i};var po,fo,mo={},vo={},go=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,yo=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,bo={},wo={},_o=/\d/,xo=/\d\d/,ko=/\d{3}/,Oo=/\d{4}/,Mo=/[+-]?\d{6}/,Do=/\d\d?/,So=/\d\d\d\d?/,Co=/\d\d\d\d\d\d?/,To=/\d{1,3}/,Eo=/\d{1,4}/,Po=/[+-]?\d{1,6}/,Io=/\d+/,No=/[+-]?\d+/,Ro=/Z|[+-]\d\d:?\d\d/gi,zo=/Z|[+-]\d\d(?::?\d\d)?/gi,Lo=/[+-]?\d+(\.\d{1,3})?/,Ao=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Bo={},Fo={},jo=0,Ho=1,Wo=2,Yo=3,Go=4,Vo=5,Uo=6,qo=7,Xo=8;fo=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e=t?""+t:"+"+t}),G(0,["YY",2],0,function(){return this.year()%100}),G(0,["YYYY",4],0,"year"),G(0,["YYYYY",5],0,"year"),G(0,["YYYYYY",6,!0],0,"year"),L("year","y"),Z("Y",No),Z("YY",Do,xo),Z("YYYY",Eo,Oo),Z("YYYYY",Po,Mo),Z("YYYYYY",Po,Mo),$(["YYYYY","YYYYYY"],jo),$("YYYY",function(t,i){i[jo]=2===t.length?e.parseTwoDigitYear(t):y(t)}),$("YY",function(t,i){i[jo]=e.parseTwoDigitYear(t)}),$("Y",function(t,e){e[jo]=parseInt(t,10)}),e.parseTwoDigitYear=function(t){return y(t)+(y(t)>68?1900:2e3)};var an=F("FullYear",!0);e.ISO_8601=function(){};var hn=_("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=At.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:u()}),dn=_("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=At.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:u()}),ln=function(){return Date.now?Date.now():+new Date};Yt("Z",":"),Yt("ZZ",""),Z("Z",zo),Z("ZZ",zo),$(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Gt(zo,t)});var cn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var un=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,pn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;ne.fn=Ht.prototype;var fn=de(1,"add"),mn=de(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var vn=_("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),We("gggg","weekYear"),We("ggggg","weekYear"),We("GGGG","isoWeekYear"),We("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),Z("G",No),Z("g",No),Z("GG",Do,xo),Z("gg",Do,xo),Z("GGGG",Eo,Oo),Z("gggg",Eo,Oo),Z("GGGGG",Po,Mo),Z("ggggg",Po,Mo),tt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=y(t)}),tt(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),L("quarter","Q"),Z("Q",_o),$("Q",function(t,e){e[Ho]=3*(y(t)-1)}),G("w",["ww",2],"wo","week"),G("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),Z("w",Do),Z("ww",Do,xo),Z("W",Do),Z("WW",Do,xo),tt(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=y(t)});var gn={dow:0,doy:6};G("D",["DD",2],"Do","date"),L("date","D"),Z("D",Do),Z("DD",Do,xo),Z("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),$(["D","DD"],Wo),$("Do",function(t,e){e[Wo]=y(t.match(Do)[0],10)});var yn=F("Date",!0);G("d",0,"do","day"),G("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),G("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),G("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),G("e",0,0,"weekday"),G("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),Z("d",Do),Z("e",Do),Z("E",Do),Z("dd",function(t,e){return e.weekdaysMinRegex(t)}),Z("ddd",function(t,e){return e.weekdaysShortRegex(t)}),Z("dddd",function(t,e){return e.weekdaysRegex(t)}),tt(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:l(i).invalidWeekday=t}),tt(["d","e","E"],function(t,e,i,o){e[o]=y(t)});var bn="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),_n="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),xn=Ao,kn=Ao,On=Ao;G("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),Z("DDD",To),Z("DDDD",ko),$(["DDD","DDDD"],function(t,e,i){i._dayOfYear=y(t)}),G("H",["HH",2],0,"hour"),G("h",["hh",2],0,mi),G("k",["kk",2],0,vi),G("hmm",0,0,function(){return""+mi.apply(this)+Y(this.minutes(),2)}),G("hmmss",0,0,function(){return""+mi.apply(this)+Y(this.minutes(),2)+Y(this.seconds(),2)}),G("Hmm",0,0,function(){return""+this.hours()+Y(this.minutes(),2)}),G("Hmmss",0,0,function(){return""+this.hours()+Y(this.minutes(),2)+Y(this.seconds(),2)}),gi("a",!0),gi("A",!1),L("hour","h"),Z("a",yi),Z("A",yi),Z("H",Do),Z("h",Do),Z("HH",Do,xo),Z("hh",Do,xo),Z("hmm",So),Z("hmmss",Co),Z("Hmm",So),Z("Hmmss",Co),$(["H","HH"],Yo),$(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),$(["h","hh"],function(t,e,i){e[Yo]=y(t),l(i).bigHour=!0}),$("hmm",function(t,e,i){var o=t.length-2;e[Yo]=y(t.substr(0,o)),e[Go]=y(t.substr(o)),l(i).bigHour=!0}),$("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Yo]=y(t.substr(0,o)),e[Go]=y(t.substr(o,2)),e[Vo]=y(t.substr(n)),l(i).bigHour=!0}),$("Hmm",function(t,e,i){var o=t.length-2;e[Yo]=y(t.substr(0,o)),e[Go]=y(t.substr(o))}),$("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Yo]=y(t.substr(0,o)),e[Go]=y(t.substr(o,2)),e[Vo]=y(t.substr(n))});var Mn=/[ap]\.?m?\.?/i,Dn=F("Hours",!0);G("m",["mm",2],0,"minute"),L("minute","m"),Z("m",Do),Z("mm",Do,xo),$(["m","mm"],Go);var Sn=F("Minutes",!1);G("s",["ss",2],0,"second"),L("second","s"),Z("s",Do),Z("ss",Do,xo),$(["s","ss"],Vo);var Cn=F("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),Z("S",To,_o),Z("SS",To,xo),Z("SSS",To,ko);var Tn;for(Tn="SSSS";Tn.length<=9;Tn+="S")Z(Tn,Io);for(Tn="S";Tn.length<=9;Tn+="S")$(Tn,_i);var En=F("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var Pn=m.prototype;Pn.add=fn,Pn.calendar=ce,Pn.clone=ue,Pn.diff=be,Pn.endOf=Pe,Pn.format=ke,Pn.from=Oe,Pn.fromNow=Me,Pn.to=De,Pn.toNow=Se,Pn.get=W,Pn.invalidAt=je,Pn.isAfter=pe,Pn.isBefore=fe,Pn.isBetween=me,Pn.isSame=ve,Pn.isSameOrAfter=ge,Pn.isSameOrBefore=ye,Pn.isValid=Be,Pn.lang=vn,Pn.locale=Ce,Pn.localeData=Te,Pn.max=dn,Pn.min=hn,Pn.parsingFlags=Fe,Pn.set=W,Pn.startOf=Ee,Pn.subtract=mn,Pn.toArray=ze,Pn.toObject=Le,Pn.toDate=Re,Pn.toISOString=xe,Pn.toJSON=Ae,Pn.toString=_e,Pn.unix=Ne,Pn.valueOf=Ie,Pn.creationData=He,Pn.year=an,Pn.isLeapYear=wt,Pn.weekYear=Ye,Pn.isoWeekYear=Ge,Pn.quarter=Pn.quarters=Ze,Pn.month=ht,Pn.daysInMonth=dt,Pn.week=Pn.weeks=$e,Pn.isoWeek=Pn.isoWeeks=ti,Pn.weeksInYear=Ue,Pn.isoWeeksInYear=Ve,Pn.date=yn,Pn.day=Pn.days=ai,Pn.weekday=hi,Pn.isoWeekday=di,Pn.dayOfYear=fi,Pn.hour=Pn.hours=Dn,Pn.minute=Pn.minutes=Sn,Pn.second=Pn.seconds=Cn,Pn.millisecond=Pn.milliseconds=En,Pn.utcOffset=qt,Pn.utc=Zt,Pn.local=Kt,Pn.parseZone=Jt,Pn.hasAlignedHourOffset=Qt,Pn.isDST=$t,Pn.isDSTShifted=te,Pn.isLocal=ee,Pn.isUtcOffset=ie,Pn.isUtc=oe,Pn.isUTC=oe,Pn.zoneAbbr=xi,Pn.zoneName=ki,Pn.dates=_("dates accessor is deprecated. Use date instead.",yn),Pn.months=_("months accessor is deprecated. Use month instead",ht),Pn.years=_("years accessor is deprecated. Use year instead",an),Pn.zone=_("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Xt);var In=Pn,Nn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Rn={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},zn="Invalid date",Ln="%d",An=/\d{1,2}/,Bn={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"},Fn=S.prototype;Fn._calendar=Nn,Fn.calendar=Di,Fn._longDateFormat=Rn,Fn.longDateFormat=Si,Fn._invalidDate=zn,Fn.invalidDate=Ci,Fn._ordinal=Ln,Fn.ordinal=Ti,Fn._ordinalParse=An,Fn.preparse=Ei,Fn.postformat=Ei,Fn._relativeTime=Bn,Fn.relativeTime=Pi,Fn.pastFuture=Ii,Fn.set=M,Fn.months=ot,Fn._months=Ko,Fn.monthsShort=nt,Fn._monthsShort=Jo,Fn.monthsParse=rt,Fn._monthsRegex=$o,Fn.monthsRegex=ct,Fn._monthsShortRegex=Qo,Fn.monthsShortRegex=lt,Fn.week=Ke,Fn._week=gn,Fn.firstDayOfYear=Qe,Fn.firstDayOfWeek=Je,Fn.weekdays=ii,Fn._weekdays=bn,Fn.weekdaysMin=ni,Fn._weekdaysMin=_n,Fn.weekdaysShort=oi,Fn._weekdaysShort=wn,Fn.weekdaysParse=ri,Fn._weekdaysRegex=xn,Fn.weekdaysRegex=li,Fn._weekdaysShortRegex=kn,Fn.weekdaysShortRegex=ci,Fn._weekdaysMinRegex=On,Fn.weekdaysMinRegex=ui,Fn.isPM=bi,Fn._meridiemParse=Mn,Fn.meridiem=wi,P("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===y(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=_("moment.lang is deprecated. Use moment.locale instead.",P),e.langData=_("moment.langData is deprecated. Use moment.localeData instead.",R);var jn=Math.abs,Hn=Ji("ms"),Wn=Ji("s"),Yn=Ji("m"),Gn=Ji("h"),Vn=Ji("d"),Un=Ji("w"),qn=Ji("M"),Xn=Ji("y"),Zn=$i("milliseconds"),Kn=$i("seconds"),Jn=$i("minutes"),Qn=$i("hours"),$n=$i("days"),ts=$i("months"),es=$i("years"),is=Math.round,os={s:45,m:45,h:22,d:26,M:11},ns=Math.abs,ss=Ht.prototype;ss.abs=Hi,ss.add=Yi,ss.subtract=Gi,ss.as=Zi,ss.asMilliseconds=Hn,ss.asSeconds=Wn,ss.asMinutes=Yn,ss.asHours=Gn,ss.asDays=Vn,ss.asWeeks=Un,ss.asMonths=qn,ss.asYears=Xn,ss.valueOf=Ki,ss._bubble=Ui,ss.get=Qi,ss.milliseconds=Zn,ss.seconds=Kn,ss.minutes=Jn,ss.hours=Qn,ss.days=$n,ss.weeks=to,ss.months=ts,ss.years=es,ss.humanize=no,ss.toISOString=so,ss.toString=so,ss.toJSON=so,ss.locale=Ce,ss.localeData=Te,ss.toIsoString=_("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",so),ss.lang=vn,G("X",0,0,"unix"),G("x",0,0,"valueOf"),Z("x",No),Z("X",Lo),$("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),$("x",function(t,e,i){i._d=new Date(y(t))}),e.version="2.13.0",i(At),e.fn=In,e.min=Ft,e.max=jt,e.now=ln,e.utc=h,e.unix=Oi,e.months=Li,e.isDate=n,e.locale=P,e.invalid=u,e.duration=ne,e.isMoment=v,e.weekdays=Bi,e.parseZone=Mi,e.localeData=R,e.isDuration=Wt,e.monthsShort=Ai,e.weekdaysMin=ji,e.defineLocale=I,e.updateLocale=N,e.locales=z,e.weekdaysShort=Fi,e.normalizeUnits=A,e.relativeTimeThreshold=oo,e.prototype=In;var rs=e;return rs})}).call(e,i(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=5},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){16>n&&(e[o+n++]=c[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var c=a/4294967296*1e4&268435455;s[n++]=c>>>8&255,s[n++]=255&c,s[n++]=c>>>24&15|16,s[n++]=c>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var u=t.node||f,p=0;6>p;p++)s[n+p]=u[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],c={},u=0;256>u;u++)l[u]=(u+256).toString(16).substr(1),c[l[u]]=u;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e,i){e.util=i(1),e.DOMutil=i(8),e.DataSet=i(9),e.DataView=i(11),e.Queue=i(10),e.Graph3d=i(12),e.graph3d={Camera:i(16),Filter:i(17),Point2d:i(15),Point3d:i(14),Slider:i(18),StepNumber:i(19)},e.moment=i(2),e.Hammer=i(20),e.keycharm=i(23)},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?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s); +r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(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=Object.keys(this._options.type),o=0,n=i.length;n>o;o++){var s=i[o],r=this._options.type[s];"Date"==r||"ISODate"==r||"ASPDate"==r?this._type[s]="Date":this._type[s]=r}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(10);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=r.extend(this,{replace:["add","update","remove"]})),"object"===n(t.queue)&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0,s=o.length;s>n;n++){var r=o[n];r.callback&&r.callback(t,e,i||null)}},o.prototype.add=function(t,e){var i,o=[],n=this;if(Array.isArray(t))for(var s=0,r=t.length;r>s;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],r=[],a=this,h=a._fieldId,d=function(t){var e=t[h];if(a._data[e]){var d=s.extend({},a._data[e]);e=a._updateItem(t),o.push(e),r.push(t),n.push(d)}else e=a._addItem(t),i.push(e)};if(Array.isArray(t))for(var l=0,c=t.length;c>l;l++)t[l]instanceof Object?d(t[l]):console.warn("Ignoring input item, which is not an object at index "+l);else{if(!(t instanceof Object))throw new Error("Unknown dataType");d(t)}if(i.length&&this._trigger("add",{items:i},e),o.length){var u={items:o,oldData:n,data:r};this._trigger("update",u,e)}return i.concat(o)},o.prototype.get=function(t){var e,i,o,n=this,r=s.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,c,u,p,f=o&&o.type||this._options.type,m=o&&o.filter,v=[];if(void 0!=e)d=n._getItem(e,f),d&&m&&!m(d)&&(d=null);else if(void 0!=i)for(u=0,p=i.length;p>u;u++)d=n._getItem(i[u],f),m&&!m(d)||v.push(d);else for(l=Object.keys(this._data),u=0,p=l.length;p>u;u++)c=l[u],d=n._getItem(c,f),m&&!m(d)||v.push(d);if(o&&o.order&&void 0==e&&this._sort(v,o.order),o&&o.fields){var g=o.fields;if(void 0!=e)d=this._filterFields(d,g);else for(u=0,p=v.length;p>u;u++)v[u]=this._filterFields(v[u],g)}if("Object"==a){var y,b={};for(u=0,p=v.length;p>u;u++)y=v[u],b[y.id]=y;return b}return void 0!=e?d:v},o.prototype.getIds=function(t){var e,i,o,n,s,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=Object.keys(r),c=[];if(a)if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&s.push(n);for(this._sort(s,h),e=0,i=s.length;i>e;e++)c.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&c.push(n[this._fieldId]);else if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)c.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=r[o],c.push(n[this._fieldId]);return c},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=this._data,d=Object.keys(h);if(e&&e.order){var l=this.get(e);for(i=0,o=l.length;o>i;i++)n=l[i],s=n[this._fieldId],t(n,s)}else for(i=0,o=d.length;o>i;i++)s=d[i],n=this._getItem(s,a),r&&!r(n)||t(n,s)},o.prototype.map=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=[],d=this._data,l=Object.keys(d);for(i=0,o=l.length;o>i;i++)n=l[i],s=this._getItem(n,a),r&&!r(s)||h.push(t(s,n));return e&&e.order&&this._sort(h,e.order),h},o.prototype._filterFields=function(t,e){if(!t)return t;var i,o,n={},s=Object.keys(t),r=s.length;if(Array.isArray(e))for(i=0;r>i;i++)o=s[i],-1!=e.indexOf(o)&&(n[o]=t[o]);else for(i=0;r>i;i++)o=s[i],e.hasOwnProperty(o)&&(n[e[o]]=t[o]);return n},o.prototype._sort=function(t,e){if(s.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(s.isNumber(t)||s.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(void 0!==e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||d>r)&&(s=h,r=d)}return s},o.prototype.min=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||r>d)&&(s=h,r=d)}return s},o.prototype.distinct=function(t){var e,i,o,n=this._data,r=Object.keys(n),a=[],h=this._options.type&&this._options.type[t]||null,d=0;for(e=0,o=r.length;o>e;e++){var l=r[e],c=n[l],u=c[t],p=!1;for(i=0;d>i;i++)if(a[i]==u){p=!0;break}p||void 0===u||(a[d]=u,d++)}if(h)for(e=0,o=a.length;o>e;e++)a[e]=s.convert(a[e],h);return a},o.prototype._addItem=function(t){var e=t[this._fieldId];if(void 0!=e){if(this._data[e])throw new Error("Cannot add item: item with id "+e+" already exists")}else e=s.randomUUID(),t[this._fieldId]=e;var i,o,n={},r=Object.keys(t);for(i=0,o=r.length;o>i;i++){var a=r[i],h=this._type[a];n[a]=s.convert(t[a],h)}return this._data[e]=n,this.length++,e},o.prototype._getItem=function(t,e){var i,o,n,r,a=this._data[t];if(!a)return null;var h={},d=Object.keys(a);if(e)for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=s.convert(o,e[i]);else for(n=0,r=d.length;r>n;n++)i=d[n],o=a[i],h[i]=o;return h},o.prototype._updateItem=function(t){var e=t[this._fieldId];if(void 0==e)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(t)+")");var i=this._data[e];if(!i)throw new Error("Cannot update item: no item with id "+e+" found");for(var o=Object.keys(t),n=0,r=o.length;r>n;n++){var a=o[n],h=this._type[a];i[a]=s.convert(t[a],h)}return e},t.exports=o},function(t,e){function i(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}i.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},i.extend=function(t,e){var o=new i(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){o.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(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 n=i(1),s=i(9);o.prototype.setData=function(t){var e,i,o,n;if(this._data&&(this._data.off&&this._data.off("*",this.listener),e=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:e})),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}),o=0,n=e.length;n>o;o++)i=e[o],this._ids[i]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){var t,e,i,o=this._data.getIds({filter:this._options&&this._options.filter}),n=Object.keys(this._ids),s={},r=[],a=[];for(e=0,i=o.length;i>e;e++)t=o[e],s[t]=!0,this._ids[t]||(r.push(t),this._ids[t]=!0);for(e=0,i=n.length;i>e;e++)t=n[e],s[t]||(a.push(t),delete this._ids[t]);this.length+=r.length-a.length,r.length&&this._trigger("add",{items:r}),a.length&&this._trigger("remove",{items:a})},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r||"Array"==r?(e=arguments[0],i=arguments[1],o=arguments[2]):(i=arguments[0],o=arguments[1]);var a=n.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(t){return s._options.filter(t)&&i.filter(t)});var h=[];return void 0!=e&&h.push(e),h.push(a),h.push(o),this._data&&this._data.get.apply(this._data,h)},o.prototype.getIds=function(t){var e;if(this._data){var i,o=this._options.filter;i=t&&t.filter?o?function(e){return o(e)&&t.filter(e)}:t.filter:o,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},o.prototype.map=function(t,e){var i=[];if(this._data){var o,n=this._options.filter;o=e&&e.filter?n?function(t){return n(t)&&e.filter(t)}:e.filter:n,i=this._data.map(t,{filter:o,order:e&&e.order})}else i=[];return i},o.prototype.getDataSet=function(){for(var t=this;t instanceof o;)t=t._data;return t||null},o.prototype._onEvent=function(t,e,i){var o,n,s,r,a=e&&e.items,h=this._data,d=[],l=[],c=[],u=[];if(a&&h){switch(t){case"add":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(c.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],u.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],u.push(s))}this.length+=l.length-u.length,l.length&&this._trigger("add",{items:l},i),c.length&&this._trigger("update",{items:c,data:d},i),u.length&&this._trigger("remove",{items:u},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))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 n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.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.camera.setArmRotation(1,.5),this.camera.setArmLength(1.7),this.eye=new c(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.axisColor="#4D4D4D",this.gridColor="#D3D3D3",this.dataColor={fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},this.dotSizeRatio=.02,this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},a=i(13),h=i(9),d=i(11),l=i(1),c=i(14),u=i(15),p=i(16),f=i(17),m=i(18),v=i(19);a(o.prototype),o.prototype._setScale=function(){this.scale=new c(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!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.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)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-u)/(p-u),m=240*f,g=this._hsv2rgb(m,1,1);c.strokeStyle=g,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.axisColor,c.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(c.strokeStyle=this.axisColor,c.fillStyle=this.dataColor.fill,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===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new v(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new c(_,r,this.zMin)),Math.cos(2*w)>0?(m.textAlign="center",m.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(m.lineWidth=1,o=void 0===this.defaultYStep,i=new v(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new c(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(m.textAlign="center",m.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(m.lineWidth=1,o=void 0===this.defaultZStep,i=new v(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new c(s,r,i.getCurrent())),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(t.x-b,t.y),m.stroke(),m.textAlign="right",m.textBaseline="middle",m.fillStyle=this.axisColor,m.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();m.lineWidth=1,t=this._convert3Dto2D(new c(s,r,this.zMin)),e=this._convert3Dto2D(new c(s,r,this.zMax)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke(),m.lineWidth=1,u=this._convert3Dto2D(new c(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new c(this.xMax,this.yMin,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(u.x,u.y),m.lineTo(p.x,p.y),m.stroke(),u=this._convert3Dto2D(new c(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new c(this.xMax,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(u.x,u.y),m.lineTo(p.x,p.y),m.stroke(),m.lineWidth=1,t=this._convert3Dto2D(new c(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new c(this.xMin,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke(),t=this._convert3Dto2D(new c(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new c(this.xMax,this.yMax,this.zMin)),m.strokeStyle=this.axisColor,m.beginPath(),m.moveTo(t.x,t.y),m.lineTo(e.x,e.y),m.stroke();var x=this.xLabel;x.length>0&&(l=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-l:this.yMax+l,n=this._convert3Dto2D(new c(s,r,this.zMin)),Math.cos(2*w)>0?(m.textAlign="center",m.textBaseline="top"):Math.sin(2*w)<0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new c(s,r,this.zMin)),Math.cos(2*w)<0?(m.textAlign="center",m.textBaseline="top"):Math.sin(2*w)>0?(m.textAlign="right",m.textBaseline="middle"):(m.textAlign="left",m.textBaseline="middle"),m.fillStyle=this.axisColor,m.fillText(k,n.x,n.y));var O=this.zLabel;O.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new c(s,r,a)),m.textAlign="right",m.textBaseline="middle",m.fillStyle=this.axisColor,m.fillText(O,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,l,u,p,f=this.frame.canvas,m=f.getContext("2d");if(m.lineJoin="round",m.lineCap="round",!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(p=(t.point.z+e.point.z+i.point.z+n.point.z)/4,d=240*(1-(p-this.zMin)*this.scale.z/this.verticalRatio),l=1,this.showShadow?(u=Math.min(1+x.x/k/2,1),a=this._hsv2rgb(d,l,u),h=a):(u=1,a=this._hsv2rgb(d,l,u),h=this.axisColor)):(a="gray",h=this.axisColor),m.lineWidth=this._getStrokeWidth(t),m.fillStyle=a,m.strokeStyle=h,m.beginPath(),m.moveTo(t.screen.x,t.screen.y),m.lineTo(e.screen.x,e.screen.y),m.lineTo(n.screen.x,n.screen.y),m.lineTo(i.screen.x,i.screen.y),m.closePath(),m.fill(),m.stroke()}}else for(s=0;su&&(u=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.dataColor.fill,m=this.dataColor.stroke):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=this._getStrokeWidth(d),i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,u,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0){for(t=this.dataPoints[0],o.lineWidth=this._getStrokeWidth(t),o.lineJoin="round",o.lineCap="round",o.strokeStyle=this.dataColor.stroke,o.beginPath(),o.moveTo(t.screen.x,t.screen.y),e=1;e0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=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",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
"+this.xLabel+":"+t.point.x+"
"+this.yLabel+":"+t.point.y+"
"+this.zLabel+":"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),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-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.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=o},function(t,e){function i(t){return t?o(t):void 0}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 o,n=0;no;++o)i[o].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){function i(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}i.subtract=function(t,e){var o=new i;return o.x=t.x-e.x,o.y=t.y-e.y,o.z=t.z-e.z,o},i.add=function(t,e){var o=new i;return o.x=t.x+e.x,o.y=t.y+e.y,o.z=t.z+e.z,o},i.avg=function(t,e){return new i((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},i.crossProduct=function(t,e){var o=new i;return o.x=t.y*e.z-t.z*e.y,o.y=t.z*e.x-t.x*e.z,o.z=t.x*e.y-t.y*e.x,o},i.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=i},function(t,e){function i(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=i},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(14);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.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()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.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=o},function(t,e,i){function o(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 n=i(11);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){return void 0!==this.index?this.values[this.index]:void 0},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},o.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 o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e){function i(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}i.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(){this._current=this._start-this._start%this._step},i.prototype.next=function(){this._current+=this._step},i.prototype.end=function(){return this._current>this._end},t.exports=i},function(t,e,i){if("undefined"!=typeof window){var o=i(21),n=window.Hammer||i(22);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(p(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function u(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ct(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==ft?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(w(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(w(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function w(t){return t.trim().split(/\s+/g)}function _(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=R(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=B(a,h),e.distance=A(a,h),P(i,e),e.offsetDirection=L(e.deltaX,e.deltaY);var d=z(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=vt(d.x)>vt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?F(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Et&&s.eventType!==It||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Nt&&(h>Tt||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,c=z(h,d,l);o=c.x,n=c.y,i=vt(c.x)>vt(c.y)?c.x:c.y,s=L(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function z(t,e,i){return{x:e/t||0,y:i/t||0}}function L(t,e){return t===e?Rt:vt(t)>=vt(e)?0>t?zt:Lt:0>e?At:Bt}function A(t,e,i){i||(i=Wt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function B(t,e,i){i||(i=Wt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function F(t,e){return B(e[1],e[0],Yt)+B(t[1],t[0],Yt)}function j(t,e){return A(e[0],e[1],Yt)/A(t[0],t[1],Yt)}function H(){this.evEl=Vt,this.evWin=Ut,this.allow=!0,this.pressed=!1,S.apply(this,arguments)}function W(){this.evEl=Zt,this.evWin=Kt,S.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Qt,this.evWin=$t,this.started=!1,S.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(It|Nt)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=ee,this.targetIds={},S.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Et|Pt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Et)for(n=0;na&&(e.push(t),a=e.length-1):n&(It|Nt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Jt={touchstart:Et,touchmove:Pt,touchend:It,touchcancel:Nt},Qt="touchstart",$t="touchstart touchmove touchend touchcancel";u(Y,S,{handler:function(t){var e=Jt[t.type];if(e===Et&&(this.started=!0),this.started){var i=G.call(this,t,e);e&(It|Nt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Mt,srcEvent:t})}}});var te={touchstart:Et,touchmove:Pt,touchend:It,touchcancel:Nt},ee="touchstart touchmove touchend touchcancel";u(V,S,{handler:function(t){var e=te[t.type],i=U.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Mt,srcEvent:t})}}),u(q,S,{handler:function(t,e,i){var o=i.pointerType==Mt,n=i.pointerType==St;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(It|Nt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ie=O(pt.style,"touchAction"),oe=ie!==a,ne="compute",se="auto",re="manipulation",ae="none",he="pan-x",de="pan-y";X.prototype={set:function(t){t==ne&&(t=this.compute()),oe&&this.manager.element.style&&(this.manager.element.style[ie]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){f(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),Z(t.join(" "))},preventDefaults:function(t){if(!oe){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=b(o,ae),s=b(o,de),r=b(o,he);if(n){var a=1===t.pointers.length,h=t.distance<2,d=t.deltaTime<250;if(a&&h&&d)return}if(!r||!s)return n||s&&i&Ft||r&&i&jt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var le=1,ce=2,ue=4,pe=8,fe=pe,me=16,ve=32;K.prototype={defaults:{},set:function(t){return ct(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=$(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=$(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=$(t,this),-1===_(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=$(t,this);var e=_(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;pe>o&&e(i.options.event+J(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=pe&&e(i.options.event+J(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ve)},canEmit:function(){for(var t=0;ts?zt:Lt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?Rt:0>r?At:Bt,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return tt.prototype.attrTest.call(this,t)&&(this.state&ce||!(this.state&ce)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Q(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),u(it,tt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ce)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),u(ot,K,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(It|Nt)&&!n)this.reset();else if(t.eventType&Et)this.reset(),this._timer=h(function(){this.state=fe,this.tryEmit()},e.time,this);else if(t.eventType&It)return fe;return ve},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===fe&&(t&&t.eventType&It?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),u(nt,tt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ce)}}),u(st,tt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Ft|jt,pointers:1},getTouchAction:function(){return et.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Ft|jt)?e=t.overallVelocity:i&Ft?e=t.overallVelocityX:i&jt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&vt(e)>this.options.velocity&&t.eventType&It},emit:function(t){var e=Q(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),u(rt,K,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distance=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!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;ne)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=t&&void 0!==t.animation?t.animation:!0,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=null!==e.min?e.min.valueOf():null,o=null!==e.max?e.max.valueOf():null,n=null,s=null;if(null!=i&&null!=o){var r,a,h,d,c;!function(){var e=function(t){return l.convert(t.data.start,"Date").valueOf()},u=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()};r=o-i,0>=r&&(r=10),a=r/t.props.center.width,l.forEach(t.itemSet.items,function(t){t.show(),t.repositionX();var r=e(t),h=u(t);if(this.options.rtl)var d=r-(t.getWidthRight()+10)*a,l=h+(t.getWidthLeft()+10)*a;else var d=r-(t.getWidthLeft()+10)*a,l=h+(t.getWidthRight()+10)*a;i>d&&(i=d,n=t),l>o&&(o=l,s=t)}.bind(t)),n&&s&&(h=n.getWidthLeft()+10,d=s.getWidthRight()+10,c=t.props.center.width-h-d,c>0&&(t.options.rtl?(i=e(n)-d*r/c,o=u(s)+h*r/c):(i=e(n)-h*r/c,o=u(s)+d*r/c)))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||t>o)&&(t=o),(null===e||n>e)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=g.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),c=this.body.util.getStep(),u=this._toTime(o),p=h?h(u,d,c):u,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:u,snappedTime:p}},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?o-1:0),r=1;o>r;r++)n[r-1]=e[r];return n.forEach(function(t){s.appendChild(t)}),i.domElements.push(s),{v:i.domElements.length}}();if("object"===("undefined"==typeof a?"undefined":s(a)))return a.v}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;se&&n>e*c?(a.min=Math.ceil(e*c),l=a.min,d="range increased"):n>e/c&&(a.min=Math.ceil(e/c),l=a.min,d="range increased"),e*c>s&&1!==s&&(a.max=Math.ceil(e*c),l=a.max,d="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var p=this;a.onchange=function(){u.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var f=this._makeLabel(i[i.length-1],i),m=this._makeItem(i,f,a,u);""!==d&&this.popupHistory[m]!==l&&(this.popupHistory[m]=l,this._setupPopup(d,m))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCountervar options = "+JSON.stringify(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;es;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h},function(t,e,i){i(20);e.onTouch=function(t,e){e.inputHandler=function(t){t.isFirst&&e(t)},t.on("hammer.input",e.inputHandler)},e.onRelease=function(t,e){return e.inputHandler=function(t){t.isFinal&&e(t)},t.on("hammer.input",e.inputHandler)},e.offTouch=function(t,e){t.off("hammer.input",e.inputHandler)},e.offRelease=e.offTouch,e.disablePreventDefaultVertically=function(t){var e="pan-y";return t.getTouchAction=function(){return[e]},t}},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),d):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),d):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),d),a=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],s=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var c in i){var u=void 0;if(void 0!==i[c].__type__&&n===!0){var p=t.findInOptions(e,i[c],r.copyAndExtendArray(o,c));s>p.distance&&(a=p.closestMatch,h=p.path,s=p.distance,l=p.indexMatch)}else-1!==c.toLowerCase().indexOf(d)&&(l=c),u=t.levenshteinDistance(e,c),s>u&&(a=c,h=r.copyArray(o),s=u)}return{closestMatch:a,path:h,distance:s,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var r=0;ru,r=s||null===n?n:l+(n-l)*i,p=s||null===a?a:c+(a-c)*i;y=h._applyRange(r,p),d.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),v=v||y,y&&h.body.emitter.emit("rangechange",{start:new Date(h.start),end:new Date(h.end),byUser:o}),s?v&&h.body.emitter.emit("rangechanged",{start:new Date(h.start),end:new Date(h.end),byUser:o}):h.animationTimer=setTimeout(w,20)}};return g()}var y=this._applyRange(n,a);if(d.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),y){var b={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",b),this.body.emitter.emit("rangechanged",b)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=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(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&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"))},o.prototype._onDrag=function(t){if(this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var a=i/r*o;else var a=-i/r*o;var h=this.props.touch.start+a,l=this.props.touch.end+a,c=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(c!=h||u!=l)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l);var p=new Date(this.start),f=new Date(this.end);this.body.emitter.emit("rangechange",{start:p,end:f,byUser:!0})}},o.prototype._onDragEnd=function(t){this.props.touch.dragging&&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}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&(!this.options.zoomKey||t[this.options.zoomKey])){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 o=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){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},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e; +this.startToFront=0>=1-e,this.endToFront=0>=e-1;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&l==a||(this.props.touch.start=h,this.props.touch.end=l,this.scaleOffset=1-t.scale,r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-r.getAbsoluteLeft(this.body.dom.centerContainer);else var i=r.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.getPointer=function(t,e){return this.options.rtl?{x:r.getAbsoluteRight(e)-t.x,y:t.y-r.getAbsoluteTop(e)}:{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);h==r&&l==a||(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e){function i(t,e){this.options=null,this.props=null}i.prototype.setOptions=function(t){t&&util.extend(this.options,t)},i.prototype.redraw=function(){return!1},i.prototype.destroy=function(){},i.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=i},function(t,e){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var u=0,p=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(u=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-u,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(u=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(u,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(u=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(u,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;p>d;)switch(i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),o[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:",o[h].repeat)}i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(i);var v=e.isHidden(i.range.start,i.hiddenDates),g=e.isHidden(i.range.end,i.hiddenDates),y=i.range.start,b=i.range.end;1==v.hidden&&(y=1==i.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==i.range.endToFront?g.startDate-1:g.endDate+1),1!=v.hidden&&1!=g.hidden||i.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){o=!0;break}}if(1==o&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(){}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(13),r=i(20),a=i(28),h=i(1),d=(i(9),i(11),i(30),i(34),i(44)),l=i(45),c=i(32),u=i(46);s(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("_change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new r(this.dom.root);var o=this.hammer.get("pinch").set({enable:!0});a.disablePreventDefaultVertically(o),this.hammer.get("pan").set({threshold:5,direction:r.DIRECTION_HORIZONTAL}),this.listeners={};var n=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(n.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),a.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),a.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","throttleRedraw"];if(h.selectiveExtend(e,this.options,t),this.options.rtl){var i=this.dom.leftContainer;this.dom.leftContainer=this.dom.rightContainer,this.dom.rightContainer=i,this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"}if(this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===n(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var o=this.timeAxis2=new d(this.body);o.setOptions=function(t){var e=t?h.extend({},t):{};e.orientation="top",d.prototype.setOptions.call(o,e)},this.components.push(o)}}else if(this.timeAxis2){var s=this.components.indexOf(this.timeAxis2);-1!==s&&this.components.splice(s,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&c.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new l(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var r=h.deepExtend({},this.options);this.components.forEach(function(t){h.deepExtend(r,t.options)}),this.configurator.setModuleOptions({global:r})}this._origRedraw?this._redraw():(this._origRedraw=this._redraw.bind(this),this._redraw=h.throttle(this._origRedraw,this.options.throttleRedraw))},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));return i.length>0?i[0].setCustomTitle(t):void 0},o.prototype.getEventProperties=function(t){return{event:t}},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?h.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,h.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(o,n,s)}},o.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=h.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){c.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(h.addClassName(o.root,"vis-top"),h.removeClassName(o.root,"vis-bottom")):(h.removeClassName(o.root,"vis-top"),h.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=h.option.asSize(e.maxHeight,""),o.root.style.minHeight=h.option.asSize(e.minHeight,""),o.root.style.width=h.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.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+n+i.border.top+i.border.bottom;o.root.style.height=h.option.asSize(e.height,d+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var l=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"top"!=e.orientation.item&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=p+"px",o.left.style.left="0",o.left.style.top=p+"px",o.right.style.left="0",o.right.style.top=p+"px";var f=0==this.props.scrollTop?"hidden":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=f,o.shadowBottom.style.visibility=m,o.shadowTopLeft.style.visibility=f,o.shadowBottomLeft.style.visibility=m,o.shadowTopRight.style.visibility=f,o.shadowBottomRight.style.visibility=m;var v=this.props.center.height>this.props.centerContainer.height;this.hammer.get("pan").set({direction:v?r.DIRECTION_ALL:r.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var g=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange();if(this.options.rtl)var e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end);else var i=this.body.util.toScreen(t.start),e=this.body.util.toScreen(t.end);var o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id):h.lefti&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=r.option.asSize,o=this.options,n=o.orientation.item,s=!1,a=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.options.rtl?this.props.right=this.body.domProps.right.width+this.body.domProps.border.right:this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset",s=this._orderGroups()||s;var h=e.end-e.start,d=h!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;d&&(this.stackDirty=!0), +this.lastVisibleInterval=h,this.props.lastWidth=this.props.width;var l=this.stackDirty,c=this._firstGroup(),u={item:t.item,axis:t.axis},p={item:t.item,axis:t.item.vertical/2},f=0,m=t.axis+t.item.vertical;return this.groups[y].redraw(e,p,l),r.forEach(this.groups,function(t){var i=t==c?u:p,o=t.redraw(e,i,l);s=o||s,f+=t.height}),f=Math.max(f,m),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right="0":this.dom.axis.style.left="0",s=this._isResized()||s},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[g];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[g];this.groups[y];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 o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new c(s,r,this),this.groups[g]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof a||t instanceof h))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(r.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;r.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}this.body.emitter.emit("_change",{queue:!0})},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(r.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof a||t instanceof h))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;r.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("_change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.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)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?y:this.groupsData?t.group:g},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("_change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("_change",{queue:!0}))},o.prototype._order=function(){r.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==g||t==y)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);r.extend(n,{height:null}),o=new c(t,i,e),e.groups[t]=o;for(var s in e.items)if(e.items.hasOwnProperty(s)){var a=e.items[s];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("_change",{queue:!0})},o.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})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!r.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},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.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)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;in+s)return}else{var a=e.height;if(n+a-s>o)return}}if(e&&e!=this.groupTouchParams.group){var h=this.groupsData,d=h.get(e.groupId),l=h.get(this.groupTouchParams.group.groupId);l&&d&&(this.options.groupOrderSwap(l,d,this.groupsData),this.groupsData.update(l),this.groupsData.update(d));var c=this.groupsData.getIds({order:this.options.groupOrder});if(!r.equalArray(c,this.groupTouchParams.originalOrder))for(var h=this.groupsData,u=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,f=Math.min(u.length,c.length),m=0,v=0,g=0;f>m;){for(;f>m+v&&f>m+g&&c[m+v]==u[m+g];)m++;if(m+v>=f)break;if(c[m+v]!=p)if(u[m+g]!=p){var y=c.indexOf(u[m+g]),b=h.get(c[m+v]),w=h.get(u[m+g]);this.options.groupOrderSwap(b,w,h),h.update(b),h.update(w);var _=c[m+v];c[m+v]=u[m+g],c[y]=_,m++}else g=1;else v=1}}}},o.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=r.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!r.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,a=Math.min(s.length,n.length),h=0;a>h;){for(;a>h&&n[h]==s[h];)h++;if(h>=a)break;var d=n.indexOf(s[h]),l=o.get(n[h]),c=o.get(s[h]);e.options.groupOrderSwap(l,c,o),groupsData.update(l),groupsData.update(c);var u=n[h];n[h]=s[h],n[d]=u,h++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},o.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{if(this.options.rtl)var s=r.getAbsoluteRight(this.dom.frame),a=s-t.center.x;else var s=r.getAbsoluteLeft(this.dom.frame),a=t.center.x-s;var 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 u=this.body.util.toTime(a+this.props.width/5);c.end=i?i(u,d,l):u}c[this.itemsData._fieldId]=r.randomUUID();var p=this.groupFromTarget(t);p&&(c.group=p.groupId),c=this._cloneItemData(c),this.options.onAdd(c,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=o._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,c=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&c<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof v||i.push(d.id)}}}else{var u=i.indexOf(e.id);-1==u?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},o._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}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&e0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=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*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>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)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.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}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(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+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+c+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var u=a.year();return"vis-year"+u+n(a)+t(u);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(1),s=i(37);i(38);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.innerHTML="?",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e;if(e=this.itemSet.options&&this.itemSet.options.groupTemplate?this.itemSet.options.groupTemplate(t):t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?n.removeClassName(this.dom.inner,"vis-hidden"):n.addClassName(this.dom.inner,"vis-hidden");var i=t&&t.className||null;i!=this.className&&(this.className&&(n.removeClassName(this.dom.label,this.className),n.removeClassName(this.dom.foreground,this.className),n.removeClassName(this.dom.background,this.className),n.removeClassName(this.dom.axis,this.className)),n.addClassName(this.dom.label,i),n.addClassName(this.dom.foreground,i),n.addClassName(this.dom.background,i),n.addClassName(this.dom.axis,i),this.className=i),this.style&&(n.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(n.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype.redraw=function(t,e,i){var o=!1,r=this.dom.marker.clientHeight;if(r!=this.lastMarkerHeight&&(this.lastMarkerHeight=r,n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(),"function"==typeof this.itemSet.options.order){if(i){var a=this,h=!1;n.forEach(this.items,function(t){t.displayed||(t.redraw(),a.visibleItems.push(t)),t.repositionX(h)});var d=this.orderedItems.byStart.slice().sort(function(t,e){return a.itemSet.options.order(t.data,e.data)});s.stack(d,e,!0)}this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?s.stack(this.visibleItems,e,i):s.nostack(this.visibleItems,e,this.subgroups);var l=this._calculateHeight(e),c=this.dom.foreground;this.top=c.offsetTop,this.right=c.offsetLeft,this.width=c.offsetWidth,o=n.updateProperty(this,"height",l)||o,o=n.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=n.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=l+"px",this.dom.foreground.style.height=l+"px",this.dom.label.style.height=l+"px";for(var u=0,p=this.visibleItems.length;p>u;u++){var f=this.visibleItems[u];f.repositionY(e)}return o},o.prototype._calculateSubGroupHeights=function(){if(Object.keys(this.subgroups).length>0){var t=this;this.resetSubgroups(),n.forEach(this.visibleItems,function(e){void 0!==e.data.subgroup&&(t.subgroups[e.data.subgroup].height=Math.max(t.subgroups[e.data.subgroup].height,e.height),t.subgroups[e.data.subgroup].visible=!0)})}},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,s=i[0].top+i[0].height;if(n.forEach(i,function(t){o=Math.min(o,t.top),s=Math.max(s,t.top+t.height)}),o>t.axis){var r=o-t.axis;s-=r,n.forEach(i,function(t){t.top-=r})}e=s+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.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)},o.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 o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.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)}},o.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(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];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,l.options.rtl)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(20),i(39));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).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()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);void 0!==t&&t!==!0||(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,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)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,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=o},function(t,e,i){function o(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.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this.data&&this.data.hasOwnProperty("editable")&&"boolean"==typeof this.data.editable&&(this.editable=t.editable)}var n=i(20),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),t.hasOwnProperty("editable")&&"boolean"==typeof t.editable&&(this.editable=t.editable),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.remove||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new n(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.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;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){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}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.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;in;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(39);i(1);o.prototype=new n(null,null,null),o.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},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.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?" vis-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}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(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=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:a.FORMAT,moment:d,timeAxis:null},this.options=s.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(31),a=i(35),h=i(32),d=i(2);o.prototype=new r,o.prototype.setOptions=function(t){t&&(s.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),s.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===n(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof d.locale?d.locale(t.locale):d.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=s.convert(this.body.range.start,"Number"),i=s.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-h.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var r=new a(new Date(e),new Date(i),n,this.body.hiddenDates);r.setMoment(this.options.moment),this.options.format&&r.setFormat(this.options.format),this.options.timeAxis&&r.setScale(this.options.timeAxis),this.step=r;var d=this.dom;d.redundant.lines=d.lines,d.redundant.majorTexts=d.majorTexts,d.redundant.minorTexts=d.minorTexts,d.lines=[],d.majorTexts=[],d.minorTexts=[];var c,u,p,f,m,v,g,y,b,w,_=0,x=void 0,k=0,O=1e3;for(r.start(),u=r.getCurrent(),f=this.body.util.toScreen(u);r.hasNext()&&O>k;){k++,m=r.isMajor(),w=r.getClassName(),b=r.getLabelMinor(),c=u,p=f,r.next(),u=r.getCurrent(),v=r.isMajor(),f=this.body.util.toScreen(u),g=_,_=f-p;var M=_>=.4*g;if(this.options.showMinorLabels&&M){var D=this._repaintMinorText(p,b,t,w);D.style.width=_+"px"}m&&this.options.showMajorLabels?(p>0&&(void 0==x&&(x=p),D=this._repaintMajorText(p,r.getLabelMajor(),t,w)),y=this._repaintMajorLine(p,_,t,w)):M?y=this._repaintMinorLine(p,_,t,w):y&&(y.style.width=parseInt(y.style.width)+_+"px")}if(k!==O||l||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+O+" lines."),l=!0),this.options.showMajorLabels){var S=this.body.util.toTime(0),C=r.getLabelMajor(S),T=C.length*(this.props.majorCharWidth||10)+10;(void 0==x||x>T)&&this._repaintMajorText(0,C,t,w)}s.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top=s.majorLabelHeight+"px":n.style.top=this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-minor "+o):(n.style.left=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-minor "+o),n.style.width=e+"px",n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top="0":n.style.top=this.body.domProps.top.height+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-major "+o):(n.style.left=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-major "+o),n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-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="vis-text vis-major vis-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};var l=!1;t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(23),r=i(13),a=i(20),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={moment:a,locales:h,locale:"en",id:void 0,title:void 0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this.setOptions(e),this._create()}var n=i(20),s=i(1),r=i(31),a=i(2),h=i(47);o.prototype=new r,o.prototype.setOptions=function(t){t&&s.selectiveExtend(["moment","locale","locales","id"],this.options,t)},o.prototype._create=function(){var t=document.createElement("div");t["custom-time"]=this,t.className="vis-custom-time "+(this.options.id||""),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=new n(e),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:n.DIRECTION_HORIZONTAL})},o.prototype.destroy=function(){this.hide(),this.hammer.destroy(),this.hammer=null,this.body=null},o.prototype.redraw=function(){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];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),i=this.options.locales.en);var o=this.options.title;return void 0===o&&(o=i.time+": "+this.options.moment(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss"),o=o.charAt(0).toUpperCase()+o.substring(1)),this.bar.style.left=e+"px",this.bar.title=o,!1},o.prototype.hide=function(){this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar)},o.prototype.setCustomTime=function(t){this.customTime=s.convert(t,"Date"),this.redraw()},o.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},o.prototype.setCustomTitle=function(t){this.options.title=t},o.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()},o.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=this.body.util.toScreen(this.eventParams.customTime)+t.deltaX,i=this.body.util.toTime(e);this.setCustomTime(i),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf()) +}),t.stopPropagation()}},o.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation())},o.customTimeFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("custom-time"))return e["custom-time"];e=e.parentNode}return null},t.exports=o},function(t,e){e.en={current:"current",time:"time"},e.en_EN=e.en,e.en_US=e.en,e.nl={current:"huidige",time:"tijd"},e.nl_NL=e.nl,e.nl_BE=e.nl},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(1),s=i(31),r=i(2),a=i(47);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},o.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=this.options.moment((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;30>o&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="date",a="object",h="dom",d="moment",l="any",c={configure:{enabled:{"boolean":o},filter:{"boolean":o,"function":"function"},container:{dom:h},__type__:{object:a,"boolean":o,"function":"function"}},align:{string:i},rtl:{"boolean":o,undefined:"undefined"},autoResize:{"boolean":o},throttleRedraw:{number:n},clickToUse:{"boolean":o},dataAttributes:{string:i,array:s},editable:{add:{"boolean":o,undefined:"undefined"},remove:{"boolean":o,undefined:"undefined"},updateGroup:{"boolean":o,undefined:"undefined"},updateTime:{"boolean":o,undefined:"undefined"},__type__:{"boolean":o,object:a}},end:{number:n,date:r,string:i,moment:d},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a}},__type__:{object:a}},moment:{"function":"function"},groupOrder:{string:i,"function":"function"},groupEditable:{add:{"boolean":o,undefined:"undefined"},remove:{"boolean":o,undefined:"undefined"},order:{"boolean":o,undefined:"undefined"},__type__:{"boolean":o,object:a}},groupOrderSwap:{"function":"function"},height:{string:i,number:n},hiddenDates:{start:{date:r,number:n,string:i,moment:d},end:{date:r,number:n,string:i,moment:d},repeat:{string:i},__type__:{object:a,array:s}},itemsAlwaysDraggable:{"boolean":o},locale:{string:i},locales:{__any__:{any:l},__type__:{object:a}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:a,number:n}},__type__:{object:a,number:n}},max:{date:r,number:n,string:i,moment:d},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:r,number:n,string:i,moment:d},minHeight:{number:n,string:i},moveable:{"boolean":o},multiselect:{"boolean":o},multiselectPerGroup:{"boolean":o},onAdd:{"function":"function"},onUpdate:{"function":"function"},onMove:{"function":"function"},onMoving:{"function":"function"},onRemove:{"function":"function"},onAddGroup:{"function":"function"},onMoveGroup:{"function":"function"},onRemoveGroup:{"function":"function"},order:{"function":"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:a}},selectable:{"boolean":o},showCurrentTime:{"boolean":o},showMajorLabels:{"boolean":o},showMinorLabels:{"boolean":o},stack:{"boolean":o},snap:{"function":"function","null":"null"},start:{date:r,number:n,string:i,moment:d},template:{"function":"function"},groupTemplate:{"function":"function"},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:a}},type:{string:i},width:{string:i,number:n},zoomable:{"boolean":o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:a}},u={global:{align:["center","left","right"],direction:!1,autoResize:!0,throttleRedraw:[10,0,1e3,10],clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",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:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,start:"",type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=c,e.configureOptions=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof c||i instanceof u)&&i instanceof Object){var n=o;o=i,i=n}var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new p(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new v(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(26),r=o(s),a=i(29),h=o(a),d=(i(13),i(20),i(2)),l=i(1),c=i(9),u=i(11),p=i(30),f=i(33),m=i(44),v=i(48),g=i(46),y=i(51),b=i(29).printStyle,w=i(59).allOptions,_=i(59).configureOptions;n.prototype=new f,n.prototype.setOptions=function(t){var e=h["default"].validate(t,w);e===!0&&console.log("%cErrors have been found in the supplied options object.",b),f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof c||t instanceof u?t:new c(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 o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},n.prototype.setGroups=function(t){var e;e=t?t instanceof c||t instanceof u?t:new c(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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},n.prototype.getDataRange=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 o=0;os?s:t,e=null==e?s:s>e?s:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-l.getAbsoluteLeft(this.dom.centerContainer),n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this._toTime(o),r=g.customTimeFromTarget(t),a=l.getTarget(t),h=null;l.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&l.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":l.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":l.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":l.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":l.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":null!=r?h="custom-time":l.hasParent(a,this.currentTime.bar)?h="current-time":l.hasParent(a,this.dom.center)&&(h="background");var d=[],c=this.linegraph.yAxisLeft,u=this.linegraph.yAxisRight;return c.hidden||d.push(c.screenToValue(n)),u.hidden||d.push(u.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r["default"](this,this.dom.container,_)},t.exports=n},function(t,e,i){function o(t,e){this.id=s.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=s.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=s.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=i(8),a=i(9),h=i(11),d=i(31),l=i(52),c=i(54),u=i(58),p=i(55),f=i(57),m=i(56),v="__ungrouped__";o.prototype=new d,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",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 l(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new l(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new u(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new u(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))i?-1:1});for(var o=new Array(t.length),n=0;n0){var h={};for(this._getRelevantData(a,h,n,s),this._applySampling(a,h),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(a[e])||(l[a[e]]=f.calcPath(h[a[e]],t)),f.draw(l[a[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||m.draw(h[a[e]],t,this.framework);break;case"bar":}}}return r.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,r,a,h;if(t.length>0)for(r=0;rt?-1:1},c=Math.max(0,s.binarySearchValue(d,i,"x","before",l)),u=Math.min(d.length,s.binarySearchValue(d,o,"x","after",l)+1);0>=u&&(u=d.length);var p=new Array(u-c);for(a=c;u>a;a++)h=n.itemsData[a],p[a-c]=h;e[t[r]]=p}else e[t[r]]=n.itemsData}},o.prototype._applySampling=function(t,e){var i;if(t.length>0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;r>l;l+=s){var c=Math.round(l/s);d[c]=n[l]}e[t[o]]=d.splice(0,Math.round(r/s))}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getItems()):h=h.concat(n.getItems()):i[t[s]]=n.getYRange(o,t[s]));p.getStackedYRange(a,i,t,"__barStackLeft","left"),p.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,this.yAxisRight.masterAxis=this.yAxisLeft,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],c=0;ct?-1:1});for(var a=0;a=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var d=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(d=this.props.titleCharHeight);var l=this.options.icons===!0?Math.max(this.options.iconWidth,d)+this.options.labelOffsetX+15:d+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-l&&this.options.visible===!0?(this.width=this.maxLabelSize+l,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+l),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,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*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize.5*(h.magnitudefactor*h.minorSteps[h.minorStepIdx])?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;0>i&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])===0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&o-i>c?(s(),d=!1):d=!0}}},i.prototype.convertValue=function(t){return this.containerHeight-(t-this._start)*this.scale},i.prototype.screenToValue=function(t){return(this.containerHeight-t)/this.scale+this._start},t.exports=i},function(t,e,i){function o(t,e,i,o){this.id=e;var n=["sampling","style","sort","yAxisOrientation","barChart","drawPoints","shaded","interpolation","zIndex","excludeFromStacking","excludeFromLegend"];this.options=s.selectiveBridgeObject(n,i),this.usingDefaultStyle=void 0===t.className,this.groupsUsingDefaultStyles=o,this.zeroPosition=0,this.update(t),1==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=void 0===t.visible?!0:t.visible}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=i(1),r=(i(8),i(55)),a=i(57),h=i(56);o.prototype.setItems=function(t){null!=t?(this.itemsData=t,1==this.options.sort&&s.insertSort(this.itemsData,function(t,e){return t.x>e.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];s.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),s.mergeOptions(this.options,t,"interpolation"),s.mergeOptions(this.options,t,"drawPoints"),s.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==n(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible?!0:t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){var s=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:s,svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":a.drawIcon(this,o,n,t,e,i);break;case"points":case"point":h.drawIcon(this,o,n,t,e,i);break;case"bar":r.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){var i=[];return i=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var c={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,c,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;nl;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={screen_x:(-e.screen_x+6*i.screen_x+o.screen_x)*h,screen_y:(-e.screen_y+6*i.screen_y+o.screen_y)*h},r={screen_x:(i.screen_x+6*o.screen_x-n.screen_x)*h,screen_y:(i.screen_y+6*o.screen_y-n.screen_y)*h},a.push([s.screen_x,s.screen_y]),a.push([r.screen_x,r.screen_y]),a.push([o.screen_x,o.screen_y]);return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);var o,n,s,r,a,h,d,l,c,u,p,f,m,v,g,y,b,w,_,x=[];x.push([Math.round(t[0].screen_x),Math.round(t[0].screen_y)]);for(var k=t.length,O=0;k-1>O;O++)o=0==O?t[0]:t[O-1],n=t[O],s=t[O+1],r=k>O+2?t[O+2]:s,d=Math.sqrt(Math.pow(o.screen_x-n.screen_x,2)+Math.pow(o.screen_y-n.screen_y,2)),l=Math.sqrt(Math.pow(n.screen_x-s.screen_x,2)+Math.pow(n.screen_y-s.screen_y,2)),c=Math.sqrt(Math.pow(s.screen_x-r.screen_x,2)+Math.pow(s.screen_y-r.screen_y,2)),v=Math.pow(c,i),y=Math.pow(c,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),u=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+u*n.screen_x+w*s.screen_x)*f,screen_y:(-b*o.screen_y+u*n.screen_y+w*s.screen_y)*f},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;it?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.resetElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["color","font","fixed","shadow"];if(A.selectiveNotDeepExtend(n,t,e,i),A.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=A.parseColor(e.color);A.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=A.bridgeObject(o.color));void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&null!==e.font?a["default"].parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=A.bridgeObject(o.font)),void 0!==e.scaling&&A.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e["default"]=B},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;i=this.nodeOptions.scaling.label.maxVisible&&(r=Number(this.nodeOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=n(d,2),c=l[0],u=l[1],p=this._setAlignment(t,i,h,s),f=n(p,2);i=f[0],h=f[1],t.font=(e&&this.nodeOptions.labelHighlightBold?"bold ":"")+r+"px "+this.fontOptions.face,t.fillStyle=c,this.isEdgeLabel||"left"!==this.fontOptions.align?t.textAlign="center":(t.textAlign=this.fontOptions.align,i-=.5*this.size.width),this.fontOptions.strokeWidth>0&&(t.lineWidth=this.fontOptions.strokeWidth,t.strokeStyle=u,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.fontOptions.color||"#000000",i=this.fontOptions.strokeColor||"#ffffff";if(t<=this.nodeOptions.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.nodeOptions.scaling.label.drawThreshold-t)));e=a.overrideOpacity(e,o),i=a.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.fontOptions.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?0:arguments[2],o=arguments.length<=3||void 0===arguments[3]?0:arguments[3],n=arguments.length<=4||void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.fontOptions.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===n&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.nodeOptions.label){o=String(this.nodeOptions.label).split("\n"),n=o.length,t.font=(e&&this.nodeOptions.labelHighlightBold?"bold ":"")+this.fontOptions.size+"px "+this.fontOptions.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"===s(e.font)&&a.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),this.updateBoundingBox(e,i,t,o),this.labelModule.draw(t,e,i,o)}},{key:"updateBoundingBox",value:function(t,e,i,o){this.resize(i,o),this.left=t-.5*this.width,this.top=e-.5*this.height;var n=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-n,this.boundingBox.top=this.top-n,this.boundingBox.bottom=this.top+this.height+n,this.boundingBox.right=this.left+this.width+n}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(d["default"]);e["default"]=l},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ithis.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,h),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.save(),h>0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore()}},{key:"_drawImageAtPosition",value:function(t){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t);var e=this.imageObj.width/this.width/this.body.view.scale;if(e>2&&this.options.shapeProperties.interpolation===!0){var i=this.imageObj.width,o=this.imageObj.height,n=document.createElement("canvas");n.width=i,n.height=i;var s=n.getContext("2d");e*=.5,i*=.5,o*=.5,s.drawImage(this.imageObj,0,0,i,o);for(var r=0,a=1;e>2&&4>a;)s.drawImage(n,r,0,i,o,r+i,0,i/2,o/2),r+=i,e*=.5,i*=.5,o*=.5,a+=1;t.drawImage(n,r,0,i,o,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t)}}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),this.updateBoundingBox(e,i,t,o),this.labelModule.draw(t,e,i,o)}},{key:"updateBoundingBox",value:function(t,e,i,o){this.resize(i,o),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),void 0!==this.options.label){var l=n+.5*this.height+3;this.labelModule.draw(t,o,l,s,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),this.updateBoundingBox(e,i,t,o),this.labelModule.draw(t,e,i,o)}},{key:"updateBoundingBox",value:function(t,e,i,o){this.resize(i,o),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(t,e,i,o){var n=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+n+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t),t.fillText(this.options.icon.code,e,i),this.disableShadow(t)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),t.closePath()}this._drawImageAtPosition(t),this._drawImageLabel(t,e,i,o||n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder", +value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(g.selectiveDeepExtend(n,t,e,i),g.mergeOptions(t,e,"smooth",i,o),g.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=Object.create(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),g.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=Object.create(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=-1!=r.indexOf("to"),t.arrows.middle.enabled=-1!=r.indexOf("middle"),t.arrows.from.enabled=-1!=r.indexOf("from")}else{if("object"!==s(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));g.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),g.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),g.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=Object.create(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=g.deepExtend({},t.color,!0),g.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var a=!1;void 0!==e.color.color&&(t.color.color=e.color.color,a=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,a=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,a=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&a===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=g.bridgeObject(o.color));void 0!==e.font&&null!==e.font?h["default"].parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=g.bridgeObject(o.font))}}]),t}();e["default"]=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function(){function t(t,e){for(var i=0;iMath.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length<=6||void 0===arguments[6]?this._getViaCoordinates():arguments[6],h=a(r,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,s,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?this._getViaCoordinates():arguments[1],i=a(e,2),o=i[0],n=i[1],s=t,r=[];r[0]=Math.pow(1-s,3),r[1]=3*s*Math.pow(1-s,2),r[2]=3*Math.pow(s,2)*(1-s),r[3]=Math.pow(s,3);var h=r[0]*this.fromPoint.x+r[1]*o.x+r[2]*n.x+r[3]*this.toPoint.x,d=r[0]*this.fromPoint.y+r[1]*o.y+r[2]*n.y+r[3]*this.toPoint.y;return{x:h,y:d}}}]),e}(l["default"]);e["default"]=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;il;l++)c=.1*l,v[0]=Math.pow(1-c,3),v[1]=3*c*Math.pow(1-c,2),v[2]=3*Math.pow(c,2)*(1-c),v[3]=Math.pow(c,3),u=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,u,p,n,s),h=h>d?d:h),f=u,m=p;return h}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+c);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:c=m:f===!1?c=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,c=void 0,u=void 0,p=t,f=e;for(d=1;10>d;d++)l=.1*d,c=Math.pow(1-l,2)*t+2*l*(1-l)*r.x+Math.pow(l,2)*i,u=Math.pow(1-l,2)*e+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(p,f,c,u,n,s),a=a>h?h:a),p=c,f=u;return a}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,c=void 0,u=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),c=this._pointOnCircle(o,n,l,g),u=Math.atan2(t.y-c.y,t.x-c.x),p=t.distanceToBorder(e,u),f=Math.sqrt(Math.pow(c.x-t.x,2)+Math.pow(c.y-t.y,2)), +m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return c.t=g,c}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i){var o=this.options.color;if(o.inherit!==!1){if("both"===o.inherit&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,a=void 0;return s=this.from.options.color.highlight.border,a=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),a=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?a=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,a),n}this.colorDirty===!0&&("to"===o.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,o.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,o.opacity)))}else this.colorDirty===!0&&(this.color.highlight=o.highlight,this.color.hover=o.hover,this.color.color=r.overrideOpacity(o.color,o.opacity));return this.colorDirty=!1,e===!0?this.color.highlight:i===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,o,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,s,r,a);else{var d=this._getCircleData(),l=n(d,3),c=l[0],u=l[1],p=l[2],f=c-s,m=u-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,u=l-n,p=c-s;return Math.sqrt(u*u+p*p)}},{key:"getArrowData",value:function(t,e,i,o,s){var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,c=void 0,u=this.getLineWidth(o,s);if("from"===e?(h=this.from,d=this.to,l=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(h=this.to,d=this.from,l=-.1,c=this.options.arrows.to.scaleFactor):(h=this.to,d=this.from,c=this.options.arrows.middle.scaleFactor),h!=d)if("middle"!==e)if(this.options.smooth.enabled===!0){a=this.findBorderPosition(h,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,a.t+l)),i);r=Math.atan2(a.y-p.y,a.x-p.x)}else r=Math.atan2(h.y-d.y,h.x-d.x),a=this.findBorderPosition(h,t);else r=Math.atan2(h.y-d.y,h.x-d.x),a=this.getPoint(.5,i);else{var f=this._getCircleData(t),m=n(f,3),v=m[0],g=m[1],y=m[2];"from"===e?(a=this.findBorderPosition(this.from,t,{x:v,y:g,low:.25,high:.6,direction:-1}),r=-2*a.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(a=this.findBorderPosition(this.from,t,{x:v,y:g,low:.6,high:1,direction:1}),r=-2*a.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(a=this._pointOnCircle(v,g,y,.175),r=3.9269908169872414)}var b=15*c+3*u,w=a.x-.9*b*Math.cos(r),_=a.y-.9*b*Math.sin(r),x={x:w,y:_};return{point:a,core:x,angle:r,length:b}}},{key:"drawArrowHead",value:function(t,e,i,o){t.strokeStyle=this.getColor(t,e,i),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(e,i),t.arrow(o.point.x,o.point.y,o.angle,o.length),this.enableShadow(t),t.fill(),this.disableShadow(t)}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor=this.options.shadow.color,t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?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.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.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"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(t=this.from.x,e=this.from.yMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,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.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var t=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=t*this.timestep:this.timestep/ts))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;se?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?this.options.stabilization.iterations:arguments[0];return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;o>s;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):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)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var c=Math.abs(r-n)-Math.abs(a-s);c>0?(s-=.5*c,a+=.5*c):(n+=.5*c,r-=.5*c);var u=1e-5,p=Math.max(u,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var y=0;o>y;y++)i=t[e[y]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=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")}},{key:"_placeInRegion",value: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+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value: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)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value: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()}}]),t}();e["default"]=n},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii&&(s=.5*c>i?1:u*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=n},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,u[r.id].x-=o,u[r.id].y-=n,u[a.id].x+=o,u[a.id].y+=n}}}]),t}();e["default"]=n},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;i0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(d["default"]);e["default"]=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;i=t&&i.push(n.id)}for(var r=0;r0&&Object.keys(p).length>0&&m===!0&&o.push({nodes:u,edges:p})}}}for(var b=0;bo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!0:arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];r[d]={x:l.x,y:l.y}}var u=e.releaseFunction(a,r);for(var p in n)if(n.hasOwnProperty(p)){var f=this.body.nodes[p];void 0!==u[p]&&(f.x=void 0===u[p].x?o.x:u[p].x,f.y=void 0===u[p].y?o.y:u[p].y)}}else for(var m in n)if(n.hasOwnProperty(m)){var v=this.body.nodes[m];v=n[m],v.options.fixed.x===!1&&(v.x=o.x),v.options.fixed.y===!1&&(v.y=o.y)}for(var g in n)if(n.hasOwnProperty(g)){var y=this.body.nodes[g];y.vx=o.vx,y.vy=o.vy,y.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[g]}for(var b=[],w=0;wo;)e.push(this.body.nodes[t].id),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t].id),e.reverse(),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e["default"]=u},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(-1!==t.indexOf("%")||-1!==t.indexOf("px"))return t;if(-1===t.indexOf("%"))return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",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.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new s(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:s.DIRECTION_ALL}),r.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new s(this.frame),r.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length<=0||void 0===arguments[0]?this.options.width:arguments[0],e=arguments.length<=1||void 0===arguments[1]?this.options.height:arguments[1];t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),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=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e["default"]=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=a["default"].getRange(this.body.nodes,t.nodes);var h=this.body.nodeIndices.length;o=12.662/(h+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=a["default"].getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),c=1.1*Math.abs(i.maxY-i.minY),u=this.canvas.frame.canvas.clientWidth/l,p=this.canvas.frame.canvas.clientHeight/c;o=p>=u?u:p}o>1?o=1:0===o&&(o=1);var f=a["default"].findCenter(i),m={position:f,scale:o,animation:t.animation};this.moveTo(m)}},{key:"focus",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=h.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e["default"]=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),c=l.nodesChanged,u=l.edgesChanged,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):c===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0):0>h-n&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&u===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;nt&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}}},{key:"onMouseWheel",value:function(t){if(this.options.zoomView===!0){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(i,n)}t.preventDefault()}}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,c=[],u=0;u0&&(this.popupObj=h[c[c.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],g=0;g0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,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.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=c},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale})}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e["default"]=h},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof a["default"]?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof a["default"]?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof a["default"]?(delete this.selectionObj.nodes[t.id],this._unselectConnectedEdges(t)):delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t]}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t]}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value: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}},{key:"_selectionIsEmpty",value: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}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),l.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={enabled:void 0===this.optionsBackup.physics.enabled?!0:this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled?!0:this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===r(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled?!0:t.physics.enabled,this.optionsBackup.physics.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var e="horizontal";"RL"!==this.options.hierarchical.direction&&"LR"!==this.options.hierarchical.direction||(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;es){for(var r=this.body.nodeIndices.length;this.body.nodeIndices.length>s;){n+=1;var a=this.body.nodeIndices.length;n%3===0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();var h=this.body.nodeIndices.length;if(a==h&&n%3!==0||n>o)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*r)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var d=70,l=0;l0){var t=void 0,e=void 0,i=!1,o=!0,n=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0===t.options.x&&void 0===t.options.y&&(o=!1),void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):n=!0);if(n===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");n===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback());for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&void 0===this.hierarchicalLevels[s]&&(this.hierarchicalLevels[s]=0);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(){for(var e=a(),i=0;i0)for(var n=0;n=l&&(r=Math.min(c,r),a=Math.max(c,a))}return[r,a,o,n]},l=function _(e){var i=t.hierarchicalLevels[e];if(t.hierarchicalChildrenReference[e]){var o=t.hierarchicalChildrenReference[e];if(o.length>0)for(var n=0;n1)for(var a=0;at.options.hierarchical.nodeSpacing){var u={};u[i.id]=!0;var p={};p[o.id]=!0,h(i,u),h(o,p);var f=c(i,o),m=d(u,f),v=s(m,4),g=(v[0],v[1]),y=(v[2],v[3],d(p,f)),b=s(y,4),w=b[0],_=(b[1],b[2]),x=(b[3],Math.abs(g-w));if(x>t.options.hierarchical.nodeSpacing){var k=g-w+t.options.hierarchical.nodeSpacing;k<-_+t.options.hierarchical.nodeSpacing&&(k=-_+t.options.hierarchical.nodeSpacing),0>k&&(t._shiftBlock(o.id,k),e=!0,n===!0&&t._centerParent(o))}}},m=function(o,n){for(var r=n.id,a=n.edges,l=t.hierarchicalLevels[n.id],c=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,u={},p=[],f=0;fr;r++){var a=g(o,i),h=y(o,i),d=40,l=Math.max(-d,Math.min(d,Math.round(a/h)));if(o-=l,void 0!==s[o])break;s[o]=r}return o},w=function(o){var r=t._getPositionForHierarchy(n);if(void 0===i[n.id]){var a={};a[n.id]=!0,h(n,a),i[n.id]=a}var l=d(i[n.id]),c=s(l,4),u=(c[0],c[1],c[2]),p=c[3],f=o-r,m=0;f>0?m=Math.min(f,p-t.options.hierarchical.nodeSpacing):0>f&&(m=-Math.min(-f,u-t.options.hierarchical.nodeSpacing)),0!=m&&(t._shiftBlock(n.id,m),e=!0)},_=function(i){var o=t._getPositionForHierarchy(n),r=t._getSpaceAroundNode(n),a=s(r,2),h=a[0],d=a[1],l=i-o,c=o;l>0?c=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):0>l&&(c=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),c!==o&&(t._setPositionForHierarchy(n,c,void 0,!0),e=!0)},x=b(o,p);w(x),x=b(o,a),_(x)},v=function(i){var o=Object.keys(t.distributionOrdering);o=o.reverse();for(var n=0;i>n;n++){e=!1;for(var s=0;sn&&(e=!1,p(f,o,!0),e===!0);n++);},y=function(){for(var e in t.body.nodes)t.body.nodes.hasOwnProperty(e)&&t._centerParent(t.body.nodes[e])},b=function(){var e=Object.keys(t.distributionOrdering);e=e.reverse();for(var i=0;i0)for(var d=0;dg&&Math.abs(g)0&&Math.abs(g)0&&(r=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(s,r,e),this._validataPositionAndContinue(s,e,r),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){if(void 0!==this.hierarchicalChildrenReference[t]){for(var i=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var h=1e9,d=-1e9,l=0;l0&&(e=this._getHubSize(),0!==e);)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=1e5,i=function(t,e,i){},o=function(o,n,s){var r=t.hierarchicalLevels[o.id];void 0===r&&(t.hierarchicalLevels[o.id]=e);var a=i(d["default"].cloneOptions(o,"node"),d["default"].cloneOptions(n,"node"),d["default"].cloneOptions(s,"edge"));t.hierarchicalLevels[n.id]=t.hierarchicalLevels[o.id]+a};this._crawlNetwork(o),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=1e4,i=function(i,o,n){var s=t.hierarchicalLevels[i.id];void 0===s&&(t.hierarchicalLevels[i.id]=e),n.toId==o.id?t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]+1:t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]-1};this._crawlNetwork(i),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&void 0!==this.hierarchicalLevels[e]&&(t=Math.min(this.hierarchicalLevels[e],t));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalChildrenReference[o]&&(t.hierarchicalChildrenReference[o]=[]),t.hierarchicalChildrenReference[o].push(n),void 0===t.hierarchicalParentReference[n]&&(t.hierarchicalParentReference[n]=[]),t.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?function(){}:arguments[0],i=arguments[1],o={},n=0,s=function d(i,n){if(void 0===o[i.id]){void 0===t.hierarchicalTrees[i.id]&&(t.hierarchicalTrees[i.id]=n,t.treeIndex=Math.max(n,t.treeIndex)),o[i.id]=!0;for(var s=void 0,r=0;r1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e["default"]=c},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=s.deepExtend({},e.options,!1); +if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){var t=this;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId?!function(){var e=t.body.edges[t.edgeBeingEditedId],i=t._getNewTargetNode(e.from.x,e.from.y),o=t._getNewTargetNode(e.to.x,e.to.y);t.temporaryIds.nodes.push(i.id),t.temporaryIds.nodes.push(o.id),t.body.nodes[i.id]=i,t.body.nodeIndices.push(i.id),t.body.nodes[o.id]=o,t.body.nodeIndices.push(o.id),t._temporaryBindUI("onTouch",t._controlNodeTouch.bind(t)),t._temporaryBindUI("onTap",function(){}),t._temporaryBindUI("onHold",function(){}),t._temporaryBindUI("onDragStart",t._controlNodeDragStart.bind(t)),t._temporaryBindUI("onDrag",t._controlNodeDrag.bind(t)),t._temporaryBindUI("onDragEnd",t._controlNodeDragEnd.bind(t)),t._temporaryBindUI("onMouseMove",function(){}),t._temporaryBindEvent("beforeDrawing",function(t){var n=e.edgeType.findBorderPositions(t);i.selected===!1&&(i.x=n.from.x,i.y=n.from.y),o.selected===!1&&(o.x=n.to.x,o.y=n.to.y)}),t.body.emitter.emit("_redraw")}():this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=h},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="object",a="dom",h="any",d={configure:{enabled:{"boolean":o},filter:{"boolean":o,string:i,array:s,"function":"function"},container:{dom:a},showButton:{"boolean":o},__type__:{object:r,"boolean":o,string:i,array:s,"function":"function"}},edges:{arrows:{to:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},middle:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},from:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},__type__:{string:["from","to","middle"],object:r}},arrowStrikethrough:{"boolean":o},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],"boolean":o},opacity:{number:n},__type__:{object:r,string:i}},dashes:{"boolean":o,array:s},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:r,string:i}},hidden:{"boolean":o},hoverWidth:{"function":"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},length:{number:n,undefined:"undefined"},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},selectionWidth:{"function":"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},smooth:{enabled:{"boolean":o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],"boolean":o},__type__:{object:r,"boolean":o}},title:{string:i,undefined:"undefined"},width:{number:n},value:{number:n,undefined:"undefined"},__type__:{object:r}},groups:{useDefaultGroups:{"boolean":o},__any__:"get from nodes, will be overwritten below",__type__:{object:r}},interaction:{dragNodes:{"boolean":o},dragView:{"boolean":o},hideEdgesOnDrag:{"boolean":o},hideNodesOnDrag:{"boolean":o},hover:{"boolean":o},keyboard:{enabled:{"boolean":o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:r}},bindToWindow:{"boolean":o},__type__:{object:r,"boolean":o}},multiselect:{"boolean":o},navigationButtons:{"boolean":o},selectable:{"boolean":o},selectConnectedEdges:{"boolean":o},hoverConnectedEdges:{"boolean":o},tooltipDelay:{number:n},zoomView:{"boolean":o},__type__:{object:r}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{"boolean":o},hierarchical:{enabled:{"boolean":o},levelSeparation:{number:n},nodeSpacing:{number:n},treeSpacing:{number:n},blockShifting:{"boolean":o},edgeMinimization:{"boolean":o},parentCentralization:{"boolean":o},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:r,"boolean":o}},__type__:{object:r}},manipulation:{enabled:{"boolean":o},initiallyActive:{"boolean":o},addNode:{"boolean":o,"function":"function"},addEdge:{"boolean":o,"function":"function"},editNode:{"function":"function"},editEdge:{"boolean":o,"function":"function"},deleteNode:{"boolean":o,"function":"function"},deleteEdge:{"boolean":o,"function":"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:r,"boolean":o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},__type__:{object:r,string:i}},fixed:{x:{"boolean":o},y:{"boolean":o},__type__:{object:r,"boolean":o}},font:{align:{string:i},color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},__type__:{object:r,string:i}},group:{string:i,number:n,undefined:"undefined"},hidden:{"boolean":o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:r}},id:{string:i,number:n},image:{string:i,undefined:"undefined"},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},level:{number:n,undefined:"undefined"},mass:{number:n},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{"boolean":o,array:s},borderRadius:{number:n},interpolation:{"boolean":o},useImageSize:{"boolean":o},useBorderWithImage:{"boolean":o},__type__:{object:r}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},x:{number:n},y:{number:n},__type__:{object:r}},physics:{enabled:{"boolean":o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{"boolean":o},fit:{"boolean":o},__type__:{object:r,"boolean":o}},timestep:{number:n},adaptiveTimestep:{"boolean":o},__type__:{object:r,"boolean":o}},autoResize:{"boolean":o},clickToUse:{"boolean":o},locale:{string:i},locales:{__any__:{any:h},__type__:{object:r}},height:{string:i},width:{string:i},__type__:{object:r}};d.groups.__any__=d.nodes,d.manipulation.controlNodeStyle=d.nodes;var l={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};e.allOptions=d,e.configureOptions=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),r=function(){function t(t,e){for(var i=0;in&&h>a;){a+=1;var v=this._getHighestEnergyNode(i),g=s(v,4);for(c=g[0],l=g[1],u=g[2],p=g[3],f=l,m=0;f>r&&d>m;){m+=1,this._moveNode(c,u,p);var y=this._getEnergy(c),b=s(y,3);f=b[0],u=b[1],p=b[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],r=0,a=0,h=0;ho&&(o=u,n=d,r=p,a=f)}}return[n,o,r,a]}},{key:"_getEnergy",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=i[t].x,n=i[t].y,s=0,r=0,a=0;al;l++)for(var c=0;d-1>c;c++)for(var u=c+1;d>u;u++)o[e[c]][e[u]]=Math.min(o[e[c]][e[u]],o[e[c]][e[l]]+o[e[l]][e[u]]),o[e[u]][e[c]]=o[e[c]][e[u]];return o}}]),t}();e["default"]=n},function(t,e){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)), +this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,c=e+r,u=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,u+h,c,u,c),this.bezierCurveTo(u-h,c,t,p+d,t,p),this.bezierCurveTo(t,p-d,u-h,e,u,e),this.bezierCurveTo(u+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,u+h,m,u,m),this.bezierCurveTo(u-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),c=s+o/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,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0,u=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),u=Math.sqrt(p*p/(1+h*h)),u=0>r?-u:u,t+=u,e+=h*u,c===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,c=!c})},function(t,e){function i(t){return P=t,p()}function o(){I=0,N=P.charAt(0)}function n(){I++,N=P.charAt(I)}function s(){return P.charAt(I+1)}function r(t){return L.test(t)}function a(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function h(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function d(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=a(n.attr,t.node))),i=s.length-1;i>=0;i--){var h=s[i];h.nodes||(h.nodes=[]),-1===h.nodes.indexOf(n)&&h.nodes.push(n)}e.attr&&(n.attr=a(n.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,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=a({},t.edge)),s.attr=a(s.attr||{},n),s}function u(){for(z=T.NULL,R="";" "===N||" "===N||"\n"===N||"\r"===N;)n();do{var t=!1;if("#"===N){for(var e=I-1;" "===P.charAt(e)||" "===P.charAt(e);)e--;if("\n"===P.charAt(e)||""===P.charAt(e)){for(;""!=N&&"\n"!=N;)n();t=!0}}if("/"===N&&"/"===s()){for(;""!=N&&"\n"!=N;)n();t=!0}if("/"===N&&"*"===s()){for(;""!=N;){if("*"===N&&"/"===s()){n(),n();break}n()}t=!0}for(;" "===N||" "===N||"\n"===N||"\r"===N;)n()}while(t);if(""===N)return void(z=T.DELIMITER);var i=N+s();if(E[i])return z=T.DELIMITER,R=i,n(),void n();if(E[N])return z=T.DELIMITER,R=N,void n();if(r(N)||"-"===N){for(R+=N,n();r(N);)R+=N,n();return"false"===R?R=!1:"true"===R?R=!0:isNaN(Number(R))||(R=Number(R)),void(z=T.IDENTIFIER)}if('"'===N){for(n();""!=N&&('"'!=N||'"'===N&&'"'===s());)R+=N,'"'===N&&n(),n();if('"'!=N)throw _('End of string " expected');return n(),void(z=T.IDENTIFIER)}for(z=T.UNKNOWN;""!=N;)R+=N,n();throw new SyntaxError('Syntax error in part "'+x(R,30)+'"')}function p(){var t={};if(o(),u(),"strict"===R&&(t.strict=!0,u()),"graph"!==R&&"digraph"!==R||(t.type=R,u()),z===T.IDENTIFIER&&(t.id=R,u()),"{"!=R)throw _("Angle bracket { expected");if(u(),f(t),"}"!=R)throw _("Angle bracket } expected");if(u(),""!==R)throw _("End of file expected");return u(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==R&&"}"!=R;)m(t),";"===R&&u()}function m(t){var e=v(t);if(e)return void b(t,e);var i=g(t);if(!i){if(z!=T.IDENTIFIER)throw _("Identifier expected");var o=R;if(u(),"="===R){if(u(),z!=T.IDENTIFIER)throw _("Identifier expected");t[o]=R,u()}else y(t,o)}}function v(t){var e=null;if("subgraph"===R&&(e={},e.type="subgraph",u(),z===T.IDENTIFIER&&(e.id=R,u())),"{"===R){if(u(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=R)throw _("Angle bracket } expected");u(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function g(t){return"node"===R?(u(),t.node=w(),"node"):"edge"===R?(u(),t.edge=w(),"edge"):"graph"===R?(u(),t.graph=w(),"graph"):null}function y(t,e){var i={id:e},o=w();o&&(i.attr=o),d(t,i),b(t,e)}function b(t,e){for(;"->"===R||"--"===R;){var i,o=R;u();var n=v(t);if(n)i=n;else{if(z!=T.IDENTIFIER)throw _("Identifier or subgraph expected");i=R,d(t,{id:i}),u()}var s=w(),r=c(t,e,i,o,s);l(t,r),e=i}}function w(){for(var t=null;"["===R;){for(u(),t={};""!==R&&"]"!=R;){if(z!=T.IDENTIFIER)throw _("Attribute name expected");var e=R;if(u(),"="!=R)throw _("Equal sign = expected");if(u(),z!=T.IDENTIFIER)throw _("Attribute value expected");var i=R;h(t,e,i),u(),","==R&&u()}if("]"!=R)throw _("Bracket ] expected");u()}return t}function _(t){return new SyntaxError(t+', got "'+x(R,30)+'" (char '+I+")")}function x(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function k(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 O(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},P="",I=0,N="",R="",z=T.NULL,L=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a