From 514368570220e72804f48904698b9a65559795f6 Mon Sep 17 00:00:00 2001 From: Alexander Wunschik Date: Sun, 29 Jan 2017 19:07:46 +0100 Subject: [PATCH] generated dist files for v4.18.1 --- dist/vis-graph3d.min.js | 4 +- dist/vis-network.min.css | 2 +- dist/vis-network.min.js | 14 ++--- dist/vis-timeline-graph2d.min.js | 16 +++--- dist/vis.css | 3 + dist/vis.js | 96 ++++++++++++++++++++------------ dist/vis.map | 2 +- dist/vis.min.css | 2 +- dist/vis.min.js | 46 +++++++-------- 9 files changed, 106 insertions(+), 79 deletions(-) diff --git a/dist/vis-graph3d.min.js b/dist/vis-graph3d.min.js index 4047cbdf..cd4c0aa9 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.18.0 - * @date 2017-01-15 + * @version 4.18.1 + * @date 2017-01-29 * * @license * Copyright (C) 2011-2016 Almende B.V, http://almende.com diff --git a/dist/vis-network.min.css b/dist/vis-network.min.css index 09f842f3..83a6c5ec 100644 --- a/dist/vis-network.min.css +++ b/dist/vis-network.min.css @@ -1 +1 @@ -.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper::after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380', GradientType=0 );box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8', GradientType=0 )}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:rgba(0,0,0,.5) 0 0 10px 0}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow::after,div.vis-color-picker div.vis-arrow::before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(to bottom,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313', GradientType=0 )}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{width:140px;height:20px;top:380px;font-size:10px;color:rgba(0,0,0,.4);line-height:20px;vertical-align:middle;position:absolute}div.vis-color-picker div.vis-new-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px}div.vis-network div.vis-manipulation{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0 );padding-top:4px;position:absolute;left:0;top:0;width:100%;height:28px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:5px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{float:left;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin-left:10px;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(img/network/backIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:700}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(img/network/addNodeIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit,div.vis-network div.vis-manipulation div.vis-button.vis-edit{background-image:url(img/network/editIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(img/network/connectIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(img/network/deleteIcon.png)}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{float:left;display:inline-block;width:1px;height:21px;background-color:#bdbdbd;margin:0 7px 0 15px}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px} \ No newline at end of file +.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper::after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380', GradientType=0 );box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8', GradientType=0 )}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:rgba(0,0,0,.5) 0 0 10px 0}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow::after,div.vis-color-picker div.vis-arrow::before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(to bottom,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313', GradientType=0 )}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{width:140px;height:20px;top:380px;font-size:10px;color:rgba(0,0,0,.4);line-height:20px;vertical-align:middle;position:absolute}div.vis-color-picker div.vis-new-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px}div.vis-network div.vis-manipulation{box-sizing:content-box;border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0 );padding-top:4px;position:absolute;left:0;top:0;width:100%;height:28px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:5px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{float:left;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin-left:10px;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(img/network/backIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:700}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(img/network/addNodeIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit,div.vis-network div.vis-manipulation div.vis-button.vis-edit{background-image:url(img/network/editIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(img/network/connectIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(img/network/deleteIcon.png)}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{float:left;display:inline-block;width:1px;height:21px;background-color:#bdbdbd;margin:0 7px 0 15px}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px} \ No newline at end of file diff --git a/dist/vis-network.min.js b/dist/vis-network.min.js index 39efb7e2..8fabbc2b 100644 --- a/dist/vis-network.min.js +++ b/dist/vis-network.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 4.18.0 - * @date 2017-01-15 + * @version 4.18.1 + * @date 2017-01-29 * * @license * Copyright (C) 2011-2016 Almende B.V, http://almende.com @@ -26,9 +26,9 @@ return null!=t}),o=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(t._strict&&(o=o&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return o;t._isValid=o}return t._isValid}function v(t){var e=u(NaN);return null!=t?l(f(e),t):f(e).userInvalidated=!0,e}function g(t){return void 0===t}function y(t,e){var i,o,n;if(g(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),g(e._i)||(t._i=e._i),g(e._f)||(t._f=e._f),g(e._l)||(t._l=e._l),g(e._strict)||(t._strict=e._strict),g(e._tzm)||(t._tzm=e._tzm),g(e._isUTC)||(t._isUTC=e._isUTC),g(e._offset)||(t._offset=e._offset),g(e._pf)||(t._pf=f(e)),g(e._locale)||(t._locale=e._locale),bo.length>0)for(i in bo)o=bo[i],n=e[o],g(n)||(t[o]=n);return t}function m(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function k(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function N(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function R(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function A(t){var e,i,o={};for(i in t)h(t,i)&&(e=R(i),e&&(o[e]=t[i]));return o}function j(t,e){Bo[t]=e}function H(t){var e=[];for(var i in t)e.push({unit:i,priority:Bo[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function L(t,i){return function(o){return null!=o?(Y(this,t,o),e.updateOffset(this,i),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Y(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function U(t){return t=R(t),S(this[t])?this[t]():this}function V(t,e){if("object"==typeof t){t=A(t);for(var i=H(t),o=0;o=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&&(No[t]=n),e&&(No[e[0]]=function(){return q(n.apply(this,arguments),e[1],e[2])}),i&&(No[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function K(t){var e,i,o=t.match(Fo);for(e=0,i=o.length;e=0&&Io.test(t);)t=t.replace(Io,i),Io.lastIndex=0,o-=1;return t}function J(t,e,i){tn[t]=S(e)?e:function(t,o){return t&&i?i:e}}function $(t,e){return h(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function kt(t,e,i,o,n){var s,r,a=(7+i-o)%7,d=wt(t,o,n),h=1+7*(e-1)+a+d;return h<=0?(s=t-1,r=gt(s)+h):h>gt(t)?(s=t+1,r=h-gt(t)):(s=t,r=h),{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 r<1?(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=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function Mt(t){return xt(t,this._week.dow,this._week.doy).week}function St(){return this._week.dow}function Et(){return this._week.doy}function Dt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ct(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Bt(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Ft(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function It(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function zt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([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=cn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Nt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return zt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([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 Rt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function At(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 jt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ht(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=xn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Lt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=On),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Mn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],d=[],h=[];for(e=0;e<7;e++)i=u([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),h.push(o),h.push(n),h.push(s);for(r.sort(t),a.sort(t),d.sort(t),h.sort(t),e=0;e<7;e++)a[e]=et(a[e]),d[e]=et(d[e]),h[e]=et(h[e]);this._weekdaysRegex=new RegExp("^("+h.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 Ut(){return this.hours()%12||12}function Vt(){return this.hours()||24}function qt(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Gt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Kt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,i,o,n,s=0;s0;){if(o=Jt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&k(n,i,!0)>=e-1)break;e--}s++}return null}function Jt(e){var i=null;if(!Tn[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Sn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),$t(i)}catch(t){}return Tn[e]}function $t(t,e){var i;return t&&(i=g(e)?ie(t):te(t,e),i&&(Sn=i)),Sn._abbr}function te(t,e){if(null!==e){var i=Cn;if(e.abbr=t,null!=Tn[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=Tn[t]._config;else if(null!=e.parentLocale){if(null==Tn[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=Tn[e.parentLocale]._config}return Tn[t]=new C(D(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),$t(t),Tn[t]}return delete Tn[t],null}function ee(t,e){if(null!=e){var i,o=Cn;null!=Tn[t]&&(o=Tn[t]._config),e=D(o,e),i=new C(e),i.parentLocale=Tn[t],Tn[t]=i,$t(t)}else null!=Tn[t]&&(null!=Tn[t].parentLocale?Tn[t]=Tn[t].parentLocale:null!=Tn[t]&&delete Tn[t]);return Tn[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Sn;if(!o(t)){if(e=Jt(t))return e;t=[t]}return Qt(t)}function oe(){return Oo(Tn)}function ne(t){var e,i=t._a;return i&&f(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[dn]||0!==i[hn])?rn:i[an]<0||i[an]>59?an:i[dn]<0||i[dn]>59?dn:i[hn]<0||i[hn]>999?hn:-1,f(t)._overflowDayOfYear&&(esn)&&(e=sn),f(t)._overflowWeeks&&e===-1&&(e=ln),f(t)._overflowWeekday&&e===-1&&(e=un),f(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,d=Bn.exec(a)||Fn.exec(a);if(d){for(f(t).iso=!0,e=0,i=zn.length;egt(n)&&(f(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[dn]&&0===t._a[hn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,d;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],xt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(d=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var h=xt(be(),s,r);i=ae(e.gg,t._a[on],h.year),o=ae(e.w,h.week),null!=e.d?(n=e.d,(n<0||n>6)&&(d=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(d=!0)):n=s}o<1||o>Ot(i,s,r)?f(t)._overflowWeeks=!0:null!=d?f(t)._overflowWeekday=!0:(a=kt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],f(t).empty=!0;var i,o,n,s,r,a=""+t._i,d=a.length,h=0;for(n=Q(t._f,t._locale).match(Fo)||[],i=0;i0&&f(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),h+=o.length),No[s]?(o?f(t).empty=!1:f(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&f(t).unusedTokens.push(s);f(t).charsLeftOver=d-h,a.length>0&&f(t).unusedInput.push(a),t._a[rn]<=12&&f(t).bigHour===!0&&t._a[rn]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[rn]=ce(t._locale,t._a[rn],t._meridiem),he(t),ne(t)}function ce(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function fe(t){var e,i,o,n,s;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Re(){if(!g(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ge(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&k(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ae(){return!!this.isValid()&&!this._isUTC}function je(){return!!this.isValid()&&this._isUTC}function He(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Le(t,e){var i,o,n,s=t,a=null;return Oe(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[dn])*i,ms:w(Me(1e3*a[hn]))*i}):(a=Yn.exec(t))?(i="-"===a[1]?-1:1,s={y:We(a[2],i),M:We(a[3],i),w:We(a[4],i),d:We(a[5],i),h:We(a[6],i),m:We(a[7],i),s:We(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Ue(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new xe(s),Oe(t)&&h(t,"_locale")&&(o._locale=t._locale),o}function We(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Ye(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 Ue(t,e){var i;return t.isValid()&&e.isValid()?(e=De(e,t),t.isBefore(e)?i=Ye(t,e):(i=Ye(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ve(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Le(i,o),qe(this,n,t),this}}function qe(t,i,o,n){var s=i._milliseconds,r=Me(i._days),a=Me(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&Y(t,"Date",W(t,"Date")+r*o),a&<(t,W(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function Ge(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=De(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ke(){return new m(this)}function Ze(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=R(g(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Bi.call(this,t,e,i,o,n))}function Bi(t,e,i,o,n){var s=kt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Fi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ii(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 zi(t,e){e[hn]=w(1e3*("0."+t))}function Ni(){return this._isUTC?"UTC":""}function Ri(){return this._isUTC?"Coordinated Universal Time":""}function Ai(t){return be(1e3*t)}function ji(){return be.apply(null,arguments).parseZone()}function Hi(t){return t}function Li(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Wi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Li(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Li(t,o,i,"month");return n}function Yi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Li(e,(i+s)%7,o,"day");var a,d=[];for(a=0;a<7;a++)d[a]=Li(e,(a+s)%7,o,"day");return d}function Ui(t,e){return Wi(t,e,"months")}function Vi(t,e){return Wi(t,e,"monthsShort")}function qi(t,e,i){return Yi(t,e,i,"weekdays")}function Gi(t,e,i){return Yi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Yi(t,e,i,"weekdaysMin")}function Ki(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Zi(t,e,i,o){var n=Le(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Qi(t,e){return Zi(this,t,e,1)}function Ji(t,e){return Zi(this,t,e,-1)}function $i(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,d=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*$i(io(a)+r),r=0,a=0),d.milliseconds=s%1e3,t=_(s/1e3),d.seconds=t%60,e=_(t/60),d.minutes=e%60, i=_(e/60),d.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=$i(io(n)),o=_(a/12),a%=12,d.days=r,d.months=a,d.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800}function oo(t){var e,i,o=this._milliseconds;if(t=R(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(io(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 no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=R(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=Le(t).abs(),n=gs(o.as("s")),s=gs(o.as("m")),r=gs(o.as("h")),a=gs(o.as("d")),d=gs(o.as("M")),h=gs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function co(t){return void 0===t?gs:"function"==typeof t&&(gs=t,!0)}function fo(t,e){return void 0!==ys[t]&&(void 0===e?ys[t]:(ys[t]=e,!0))}function po(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function vo(){var t,e,i,o=ms(this._milliseconds)/1e3,n=ms(this._days),s=ms(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,d=n,h=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(d?d+"D":"")+(h||l||u?"T":"")+(h?h+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var go,yo;yo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var mn=L("FullYear",!0);G("w",["ww",2],"wo","week"),G("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),j("week",5),j("isoWeek",5),J("w",Wo),J("ww",Wo,Ao),J("W",Wo),J("WW",Wo,Ao),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};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"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),J("d",Wo),J("e",Wo),J("E",Wo),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:f(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),kn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),xn=$o,On=$o,Mn=$o;G("H",["HH",2],0,"hour"),G("h",["hh",2],0,Ut),G("k",["kk",2],0,Vt),G("hmm",0,0,function(){return""+Ut.apply(this)+q(this.minutes(),2)}),G("hmmss",0,0,function(){return""+Ut.apply(this)+q(this.minutes(),2)+q(this.seconds(),2)}),G("Hmm",0,0,function(){return""+this.hours()+q(this.minutes(),2)}),G("Hmmss",0,0,function(){return""+this.hours()+q(this.minutes(),2)+q(this.seconds(),2)}),qt("a",!0),qt("A",!1),N("hour","h"),j("hour",13),J("a",Gt),J("A",Gt),J("H",Wo),J("h",Wo),J("HH",Wo,Ao),J("hh",Wo,Ao),J("hmm",Yo),J("hmmss",Uo),J("Hmm",Yo),J("Hmmss",Uo),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),f(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),f(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[dn]=w(t.substr(n)),f(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[dn]=w(t.substr(n))});var Sn,En=/[ap]\.?m?\.?/i,Dn=L("Hours",!0),Cn={calendar:Mo,longDateFormat:So,invalidDate:Eo,ordinal:Do,ordinalParse:Co,relativeTime:To,months:pn,monthsShort:vn,week:bn,weekdays:_n,weekdaysMin:kn,weekdaysShort:wn,meridiemParse:En},Tn={},Pn={},Bn=/^\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)?)?$/,Fn=/^\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)?)?$/,In=/Z|[+-]\d\d(?::?\d\d)?/,zn=[["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}/]],Nn=[["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/]],Rn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=O("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var An=O("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:v()}),Hn=function(){return Date.now?Date.now():+new Date};Se("Z",":"),Se("ZZ",""),J("Z",Qo),J("ZZ",Qo),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Ee(Qo,t)});var Ln=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Wn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Yn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Le.fn=xe.prototype;var Un=Ve(1,"add"),Vn=Ve(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var qn=O("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}),Si("gggg","weekYear"),Si("ggggg","weekYear"),Si("GGGG","isoWeekYear"),Si("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),J("G",Ko),J("g",Ko),J("GG",Wo,Ao),J("gg",Wo,Ao),J("GGGG",qo,Ho),J("gggg",qo,Ho),J("GGGGG",Go,Lo),J("ggggg",Go,Lo),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),N("quarter","Q"),j("quarter",7),J("Q",Ro),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),G("D",["DD",2],"Do","date"),N("date","D"),j("date",9),J("D",Wo),J("DD",Wo,Ao),J("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(Wo)[0],10)});var Gn=L("Date",!0);G("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),j("dayOfYear",4),J("DDD",Vo),J("DDDD",jo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),G("m",["mm",2],0,"minute"),N("minute","m"),j("minute",14),J("m",Wo),J("mm",Wo,Ao),it(["m","mm"],an);var Xn=L("Minutes",!1);G("s",["ss",2],0,"second"),N("second","s"),j("second",15),J("s",Wo),J("ss",Wo,Ao),it(["s","ss"],dn);var Kn=L("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()}),N("millisecond","ms"),j("millisecond",16),J("S",Vo,Ro),J("SS",Vo,Ao),J("SSS",Vo,jo);var Zn;for(Zn="SSSS";Zn.length<=9;Zn+="S")J(Zn,Xo);for(Zn="S";Zn.length<=9;Zn+="S")it(Zn,zi);var Qn=L("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var Jn=m.prototype;Jn.add=Un,Jn.calendar=Xe,Jn.clone=Ke,Jn.diff=ii,Jn.endOf=vi,Jn.format=ai,Jn.from=di,Jn.fromNow=hi,Jn.to=li,Jn.toNow=ui,Jn.get=U,Jn.invalidAt=Oi,Jn.isAfter=Ze,Jn.isBefore=Qe,Jn.isBetween=Je,Jn.isSame=$e,Jn.isSameOrAfter=ti,Jn.isSameOrBefore=ei,Jn.isValid=ki,Jn.lang=qn,Jn.locale=ci,Jn.localeData=fi,Jn.max=jn,Jn.min=An,Jn.parsingFlags=xi,Jn.set=V,Jn.startOf=pi,Jn.subtract=Vn,Jn.toArray=bi,Jn.toObject=_i,Jn.toDate=mi,Jn.toISOString=si,Jn.inspect=ri,Jn.toJSON=wi,Jn.toString=ni,Jn.unix=yi,Jn.valueOf=gi,Jn.creationData=Mi,Jn.year=mn,Jn.isLeapYear=mt,Jn.weekYear=Ei,Jn.isoWeekYear=Di,Jn.quarter=Jn.quarters=Fi,Jn.month=ut,Jn.daysInMonth=ct,Jn.week=Jn.weeks=Dt,Jn.isoWeek=Jn.isoWeeks=Ct,Jn.weeksInYear=Ti,Jn.isoWeeksInYear=Ci,Jn.date=Gn,Jn.day=Jn.days=Rt,Jn.weekday=At,Jn.isoWeekday=jt,Jn.dayOfYear=Ii,Jn.hour=Jn.hours=Dn,Jn.minute=Jn.minutes=Xn,Jn.second=Jn.seconds=Kn,Jn.millisecond=Jn.milliseconds=Qn,Jn.utcOffset=Te,Jn.utc=Be,Jn.local=Fe,Jn.parseZone=Ie,Jn.hasAlignedHourOffset=ze,Jn.isDST=Ne,Jn.isLocal=Ae,Jn.isUtcOffset=je,Jn.isUtc=He,Jn.isUTC=He,Jn.zoneAbbr=Ni,Jn.zoneName=Ri,Jn.dates=O("dates accessor is deprecated. Use date instead.",Gn),Jn.months=O("months accessor is deprecated. Use month instead",ut),Jn.years=O("years accessor is deprecated. Use year instead",mn),Jn.zone=O("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Jn.isDSTShifted=O("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Re);var $n=C.prototype;$n.calendar=T,$n.longDateFormat=P,$n.invalidDate=B,$n.ordinal=F,$n.preparse=Hi,$n.postformat=Hi,$n.relativeTime=I,$n.pastFuture=z,$n.set=E,$n.months=rt,$n.monthsShort=at,$n.monthsParse=ht,$n.monthsRegex=pt,$n.monthsShortRegex=ft,$n.week=Mt,$n.firstDayOfYear=Et,$n.firstDayOfWeek=St,$n.weekdays=Bt,$n.weekdaysMin=It,$n.weekdaysShort=Ft,$n.weekdaysParse=Nt,$n.weekdaysRegex=Ht,$n.weekdaysShortRegex=Lt,$n.weekdaysMinRegex=Wt,$n.isPM=Xt,$n.meridiem=Kt,$t("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=O("moment.lang is deprecated. Use moment.locale instead.",$t),e.langData=O("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),ds=so("y"),hs=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),cs=ao("hours"),fs=ao("days"),ps=ao("months"),vs=ao("years"),gs=Math.round,ys={s:45,m:45,h:22,d:26,M:11},ms=Math.abs,bs=xe.prototype;return bs.abs=Ki,bs.add=Qi,bs.subtract=Ji,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=ds,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=hs,bs.seconds=ls,bs.minutes=us,bs.hours=cs,bs.days=fs,bs.weeks=ho,bs.months=ps,bs.years=vs,bs.humanize=po,bs.toISOString=vo,bs.toString=vo,bs.toJSON=vo,bs.locale=ci,bs.localeData=fi,bs.toIsoString=O("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",vo),bs.lang=qn,G("X",0,0,"unix"),G("x",0,0,"valueOf"),J("x",Ko),J("X",Jo),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=Jn,e.min=we,e.max=ke,e.now=Hn,e.utc=u,e.unix=Ai,e.months=Ui,e.isDate=a,e.locale=$t,e.invalid=v,e.duration=Le,e.isMoment=b,e.weekdays=qi,e.parseZone=ji,e.localeData=ie,e.isDuration=Oe,e.monthsShort=Vi,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=Gi,e.normalizeUnits=R,e.relativeTimeRounding=co,e.relativeTimeThreshold=fo,e.calendarFormat=Ge,e.prototype=Jn,e})}).call(e,i(86)(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=87},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){n<16&&(e[o+n++]=u[t])});n<16;)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:v,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),d=void 0!==t.nsecs?t.nsecs:y+1,h=a-g+(d-y)/1e4;if(h<0&&void 0===t.clockseq&&(r=r+1&16383),(h<0||a>g)&&void 0===t.nsecs&&(d=0),d>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,y=d,v=r,a+=122192928e5;var l=(1e4*(268435455&a)+d)%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||p,f=0;f<6;f++)s[n+f]=c[f];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;a<16;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 d=new Uint8Array(16);r=function(){return crypto.getRandomValues(d),d}}if(!r){var h=new Array(16);r=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),h[e]=t>>>((3&e)<<3)&255;return h}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var f=r(),p=[1|f[0],f[1],f[2],f[3],f[4],f[5]],v=16383&(f[6]<<8|f[7]),g=0,y=0,m=s;m.v1=n,m.v4=s,m.parse=i,m.unparse=o,t.exports=m}).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 d=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(d.textContent=r.content),r.className&&d.setAttributeNS(null,"class",r.className+" vis-label"),d.setAttributeNS(null,"x",t),d.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,d){if(0!=n){n<0&&(n*=-1,i-=n);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*o),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",o),h.setAttributeNS(null,"height",n),h.setAttributeNS(null,"class",s),d&&h.setAttributeNS(null,"style",d)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=d,r=h)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.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){return t&&t.__esModule?t:{default:t}}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 s=i(58),r=o(s),a=i(1),d=i(90);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;o0){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=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(102),h=o(d),l=i(103),u=o(l),c=i(1),f=i(90),p=i(92),v=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(h.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.nodes;if(t instanceof f||t instanceof p)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new f,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new f}o&&c.forEach(this.nodesListeners,function(t,e){o.off(e,t)}),this.body.nodes={},this.body.data.nodes&&!function(){var t=e;c.forEach(e.nodesListeners,function(e,i){t.body.data.nodes.on(i,e)});var i=e.body.data.nodes.getIds();e.add(i,!0)}(),i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:h.default;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){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]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(L.selectiveNotDeepExtend(n,t,e,i),L.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=L.parseColor(e.color);L.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=L.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?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=L.bridgeObject(o.font)),void 0!==e.scaling&&L.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(2),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,f.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=p.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,h.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=p.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=p.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=p.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===("undefined"==typeof a?"undefined":(0,h.default)(a))){var d=p.topMost(o,["heightConstraint","minimum"]);"number"==typeof d&&(this.fontOptions.minHgt=Number(d));var l=p.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=p.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var d,h=(0,a.default)(o);!(n=(d=h.next()).done);n=!0){var l=d.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*f}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(p)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&h.return&&h.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,d=a*this.body.view.scale;d>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,l=this._setAlignment(t,o,h,r),u=(0,s.default)(l,2);o=u[0],h=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(h-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(h+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=v.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=m,v.strokeWidth>0&&t.strokeText(v.text,o+f,h+v.vadjust),t.fillText(v.text,o+f,h+v.vadjust),f+=v.width}h+=this.lines[c].height}}},{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,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=p.overrideOpacity(o,s),n=p.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,d,h){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:d,strokeColor:h})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,d,h){this.add(t,e,i,o,n,s,r,a,d,h),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),d=a.length;if(this.elementOptions.font.multi)for(var h=0;h0)for(var v=this.getFormattingValues(t,e,i,l[p].mod),g=l[p].text.split(" "),y=!0,m="",b=void 0,_=void 0,w=0;wthis.fontOptions.maxWdt?(c=v.height>c?v.height:c,s.add(r,m,v.font,v.color,_.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,_.width,c),m="",y=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(m=m+k+g[w],w===g.length-1&&(c=v.height>c?v.height:c,u+=b.width,s.add(r,m,v.font,v.color,b.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,b.width,c),p===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,y=!1)}else{var x=this.getFormattingValues(t,e,i,l[p].mod),O=t.measureText(l[p].text);s.addAndAccumulate(r,l[p].text,x.font,x.color,O.width,x.height,x.vadjust,l[p].mod,x.strokeWidth,x.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===p&&(n+=s[r].height,r++)}}}else for(var M=0;M0)for(var E=a[M].split(" "),D="",C=void 0,T=void 0,P=0;Pthis.fontOptions.maxWdt?(s.addAndAccumulate(r,D,S.font,S.color,T.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,D="",r++):(D=D+B+E[P],P===E.length-1&&(s.addAndAccumulate(r,D,S.font,S.color,C.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var F=a[M],I=t.measureText(F);s.addAndAccumulate(r,F,S.font,S.color,I.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&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],t.vadjust=0}else"object"===(0,h.default)(e.font)&&p.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(105),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,d=(0,a.default)(t);!(o=(r=d.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&d.return&&d.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(106),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(107)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{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}(v.default);e.default=g},function(t,e,i){t.exports={default:i(110),__esModule:!0}},function(t,e,i){i(111),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(62),s=o(n);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"==typeof e?"undefined":(0,s.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(114),s=o(n),r=i(55),a=o(r),d=i(62),h=o(d);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,h.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(115),__esModule:!0}},function(t,e,i){i(116),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(117).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,h.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,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}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"setOptions",value:function(t,e){this.options=t,e&&(this.imageObj=e)}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.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=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,d=1;i>2&&d<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,d+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r._swapToImageResizeWhenImageLoaded=!0,r}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{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,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.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selected,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.hover;this._resizeShape(i,o,e)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var d=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,d),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),d>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var h=n+.5*this.height+3;this.labelModule.draw(t,o,h,s,r,"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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selected,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.hover;this._resizeShape(i,o,e)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){var r=5;this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+r,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){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,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,d=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,d),t.beginPath(),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.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),d>0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(i,o,e)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.printStyle=void 0;var n=i(82),s=o(n),r=i(62),a=o(r),d=i(58),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=!1,g=void 0,y="background: #FFeeee; color: #dd0000",m=function(){function t(){(0,u.default)(this,t)}return(0,f.default)(t,null,[{key:"validate",value:function(e,i,o){v=!1,g=i;var n=i;return void 0!==o&&(n=i[o]),t.parse(e,n,[]),v}},{key:"parse",value:function(e,i,o){for(var n in e)e.hasOwnProperty(n)&&t.check(n,e,i,o)}},{key:"check",value:function(e,i,o,n){void 0===o[e]&&void 0===o.__any__?t.getSuggestion(e,o,n):void 0===o[e]&&void 0!==o.__any__?"object"===t.getType(i[e])&&void 0!==o.__any__.__type__?t.checkFields(e,i,o,"__any__",o.__any__.__type__,n):t.checkFields(e,i,o,"__any__",o.__any__,n):void 0!==o[e].__type__?t.checkFields(e,i,o,e,o[e].__type__,n):t.checkFields(e,i,o,e,o[e],n)}},{key:"checkFields",value:function(e,i,o,n,s,r){var a=t.getType(i[e]),d=s[a];void 0!==d?"array"===t.getType(d)&&d.indexOf(i[e])===-1?(console.log('%cInvalid option detected in "'+e+'". Allowed values are:'+t.print(d)+' not "'+i[e]+'". '+t.printLocation(r,e),y),v=!0):"object"===a&&"__any__"!==n&&(r=p.copyAndExtendArray(r,e),t.parse(i[e],o[n],r)):void 0===s.any&&(console.log('%cInvalid type received for "'+e+'". Expected: '+t.print((0,h.default)(s))+". Received ["+a+'] "'+i[e]+'"'+t.printLocation(r,e),y),v=!0)}},{key:"getType",value:function(t){var e="undefined"==typeof t?"undefined":(0,a.default)(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":void 0!==t.nodeType?"dom":t._isAMomentObject===!0?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,o){var n=t.findInOptions(e,i,o,!1),s=t.findInOptions(e,g,[],!0),r=8,a=4;void 0!==n.indexMatch?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+n.indexMatch+'"?\n\n',y):s.distance<=a&&n.distance>s.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,""),y):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),y):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,h.default)(i))+t.printLocation(o,e),y),v=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],d=e.toLowerCase(),h=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],p.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,h=c.indexMatch)}else l.toLowerCase().indexOf(d)!==-1&&(h=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=p.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:h}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof f||t instanceof p)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new f,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new f}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.shape.height?(r=i.x+.5*i.shape.width,a=i.y-d):(r=i.x+d,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,d,.125),this.labelModule.draw(t,s.x,s.y,n,this.hover)}}}},{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,d=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return d0&&i<0)&&(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]&&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(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(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),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,h.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var d=!1;void 0!==e.color.color&&(t.color.color=e.color.color,d=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,d=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,d=!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&&d===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?v.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=M},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(138),y=o(g),m=function(t){function e(t,i,o){return(0,h.default)(this,e),(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,v.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.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,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),d=(0,s.default)(a,2),h=d[0],l=d[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,h,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3);var d=a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,h=a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y;return{x:d,y:h}}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var d=1e9,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=t,v=e,g=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,g[0]=Math.pow(1-u,3),g[1]=3*u*Math.pow(1-u,2),g[2]=3*Math.pow(u,2)*(1-u),g[3]=Math.pow(u,3),c=g[0]*t+g[1]*r.x+g[2]*a.x+g[3]*i,f=g[0]*e+g[1]*r.y+g[2]*a.y+g[3]*o,l>0&&(h=this._getDistanceToLine(p,v,c,f,n,s),d=h2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),d=10,h=0,l=0,u=1,c=.2,f=this.to,p=!1;for(t.id===this.from.id&&(f=this.from,p=!0);l<=u&&h0&&(d=this._getDistanceToLine(f,p,u,c,n,s),a=do.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,d=10,h=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,f=void 0,p=void 0,v=void 0,g=.05,y=.5*(s+r);s<=r&&h0?a>0?s=y:r=y:a>0?r=y:s=y,h++;return u.t=y,u}},{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,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&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,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=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,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,d){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0,d),u=(0,s.default)(l,3),c=u[0],f=u[1],p=u[2],v=c-n,g=f-r;h=Math.abs(Math.sqrt(v*v+g*g)-p)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,d=r*r+a*a,h=((n-t)*r+(s-e)*a)/d;h>1?h=1:h<0&&(h=0);var l=t+h*r,u=e+h*a,c=l-n,f=u-s;return Math.sqrt(c*c+f*f)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,d=void 0,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=r.width;if("from"===e?(h=this.from,l=this.to,u=.1,c=r.fromArrowScale,f=r.fromArrowType):"to"===e?(h=this.to,l=this.from,u=-.1,c=r.toArrowScale,f=r.toArrowType):(h=this.to,l=this.from,c=r.middleArrowScale,f=r.middleArrowType),h!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){d=this.findBorderPosition(h,t,{via:i});var v=this.getPoint(Math.max(0,Math.min(1,d.t+u)),i);a=Math.atan2(d.y-v.y,d.x-v.x)}else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.findBorderPosition(h,t);else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.getPoint(.5,i);else{var g=this._getCircleData(t),y=(0,s.default)(g,3),m=y[0],b=y[1],_=y[2];"from"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.25,high:.6,direction:-1}),a=d.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.6,high:1,direction:1}),a=d.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(d=this._pointOnCircle(m,b,_,.175),a=3.9269908169872414)}var w=15*c+3*p,k=d.x-.9*w*Math.cos(a),x=d.y-.9*w*Math.sin(a),O={x:k,y:x};return{point:d,core:O,angle:a,length:w,type:f}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(139),y=o(g),m=function(t){function e(t,i,o){(0,h.default)(this,e);var n=(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,v.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),d=a[0],h=a[1],l=a[2],u=2*Math.PI*(1-i);o=d+l*Math.sin(u),n=h+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)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*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=nMath.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=sMath.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.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(140),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),d=t.distanceToBorder(e,n),h=(a-d)/a,l={};return l.x=(1-h)*o.x+h*i.x,l.y=(1-h)*o.y+h*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(145),u=o(l),c=i(146),f=o(c),p=i(147),v=o(p),g=i(148),y=o(g),m=i(149),b=o(m),_=i(150),w=o(_),k=i(151),x=o(k),O=i(152),M=o(O),S=i(1),E=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},S.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,h.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,S.selectiveNotDeepExtend(["stabilization"],this.options,t),S.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new x.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new M.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new f.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new v.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick();var e=Date.now()-t;(e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||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 d=this.modelOptions.damping*s[t].y,h=(n[t].y-d)/i.options.mass;s[t].y+=h*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]?arguments[0]:this.options.stabilization.iterations;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&&t2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(L.selectiveNotDeepExtend(n,t,e,i),L.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=L.parseColor(e.color);L.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=L.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?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=L.bridgeObject(o.font)),void 0!==e.scaling&&L.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(2),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,f.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=p.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,h.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=p.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=p.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=p.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===("undefined"==typeof a?"undefined":(0,h.default)(a))){var d=p.topMost(o,["heightConstraint","minimum"]);"number"==typeof d&&(this.fontOptions.minHgt=Number(d));var l=p.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=p.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var d,h=(0,a.default)(o);!(n=(d=h.next()).done);n=!0){var l=d.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*f}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(p)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&h.return&&h.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,d=a*this.body.view.scale;d>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,l=this._setAlignment(t,o,h,r),u=(0,s.default)(l,2);o=u[0],h=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(h-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(h+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=v.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=m,v.strokeWidth>0&&t.strokeText(v.text,o+f,h+v.vadjust),t.fillText(v.text,o+f,h+v.vadjust),f+=v.width}h+=this.lines[c].height}}},{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,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=p.overrideOpacity(o,s),n=p.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,d,h){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:d,strokeColor:h})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,d,h){this.add(t,e,i,o,n,s,r,a,d,h),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),d=a.length;if(this.elementOptions.font.multi)for(var h=0;h0)for(var v=this.getFormattingValues(t,e,i,l[p].mod),g=l[p].text.split(" "),y=!0,m="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=v.height>c?v.height:c,s.add(r,m,v.font,v.color,_.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,_.width,c),m="",y=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(m=m+k+g[w],w===g.length-1&&(c=v.height>c?v.height:c,u+=b.width,s.add(r,m,v.font,v.color,b.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,b.width,c),p===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,y=!1)}else{var x=this.getFormattingValues(t,e,i,l[p].mod),O=t.measureText(l[p].text);s.addAndAccumulate(r,l[p].text,x.font,x.color,O.width,x.height,x.vadjust,l[p].mod,x.strokeWidth,x.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===p&&(n+=s[r].height,r++)}}}else for(var M=0;M0)for(var E=a[M].split(" "),D="",C={width:0},T=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=T.width?(s.addAndAccumulate(r,D,S.font,S.color,T.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,D="",r++):(D=D+B+E[P],P===E.length-1&&(s.addAndAccumulate(r,D,S.font,S.color,C.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var F=a[M],I=t.measureText(F);s.addAndAccumulate(r,F,S.font,S.color,I.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&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],t.vadjust=0}else"object"===(0,h.default)(e.font)&&p.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(105),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,d=(0,a.default)(t);!(o=(r=d.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&d.return&&d.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(106),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(107)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{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}(v.default);e.default=g},function(t,e,i){t.exports={default:i(110),__esModule:!0}},function(t,e,i){i(111),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(62),s=o(n);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"==typeof e?"undefined":(0,s.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(114),s=o(n),r=i(55),a=o(r),d=i(62),h=o(d);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,h.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(115),__esModule:!0}},function(t,e,i){i(116),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(117).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,h.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,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}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"setOptions",value:function(t,e){this.options=t,e&&(this.imageObj=e)}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.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=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,d=1;i>2&&d<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,d+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r._swapToImageResizeWhenImageLoaded=!0,r}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{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,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.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var d=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,d),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),d>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var h=n+.5*this.height+3;this.labelModule.draw(t,o,h,s,r,"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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){var r=5;this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+r,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){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,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,d=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,d),t.beginPath(),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.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),d>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.printStyle=void 0;var n=i(82),s=o(n),r=i(62),a=o(r),d=i(58),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=!1,g=void 0,y="background: #FFeeee; color: #dd0000",m=function(){function t(){(0,u.default)(this,t)}return(0,f.default)(t,null,[{key:"validate",value:function(e,i,o){v=!1,g=i;var n=i;return void 0!==o&&(n=i[o]),t.parse(e,n,[]),v}},{key:"parse",value:function(e,i,o){for(var n in e)e.hasOwnProperty(n)&&t.check(n,e,i,o)}},{key:"check",value:function(e,i,o,n){void 0===o[e]&&void 0===o.__any__?t.getSuggestion(e,o,n):void 0===o[e]&&void 0!==o.__any__?"object"===t.getType(i[e])&&void 0!==o.__any__.__type__?t.checkFields(e,i,o,"__any__",o.__any__.__type__,n):t.checkFields(e,i,o,"__any__",o.__any__,n):void 0!==o[e].__type__?t.checkFields(e,i,o,e,o[e].__type__,n):t.checkFields(e,i,o,e,o[e],n)}},{key:"checkFields",value:function(e,i,o,n,s,r){var a=t.getType(i[e]),d=s[a];void 0!==d?"array"===t.getType(d)&&d.indexOf(i[e])===-1?(console.log('%cInvalid option detected in "'+e+'". Allowed values are:'+t.print(d)+' not "'+i[e]+'". '+t.printLocation(r,e),y),v=!0):"object"===a&&"__any__"!==n&&(r=p.copyAndExtendArray(r,e),t.parse(i[e],o[n],r)):void 0===s.any&&(console.log('%cInvalid type received for "'+e+'". Expected: '+t.print((0,h.default)(s))+". Received ["+a+'] "'+i[e]+'"'+t.printLocation(r,e),y),v=!0)}},{key:"getType",value:function(t){var e="undefined"==typeof t?"undefined":(0,a.default)(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":void 0!==t.nodeType?"dom":t._isAMomentObject===!0?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,o){var n=t.findInOptions(e,i,o,!1),s=t.findInOptions(e,g,[],!0),r=8,a=4;void 0!==n.indexMatch?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+n.indexMatch+'"?\n\n',y):s.distance<=a&&n.distance>s.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,""),y):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),y):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,h.default)(i))+t.printLocation(o,e),y),v=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],d=e.toLowerCase(),h=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],p.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,h=c.indexMatch)}else l.toLowerCase().indexOf(d)!==-1&&(h=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=p.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:h}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof f||t instanceof p)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new f,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new f}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.shape.height?(r=i.x+.5*i.shape.width,a=i.y-d):(r=i.x+d,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,d,.125),this.labelModule.draw(t,s.x,s.y,n,this.hover)}}}},{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,d=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return d0&&i<0)&&(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]&&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(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(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),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,h.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var d=!1;void 0!==e.color.color&&(t.color.color=e.color.color,d=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,d=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,d=!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&&d===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?v.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=M},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(138),y=o(g),m=function(t){function e(t,i,o){return(0,h.default)(this,e),(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,v.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.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,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),d=(0,s.default)(a,2),h=d[0],l=d[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,h,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3);var d=a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,h=a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y;return{x:d,y:h}}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var d=1e9,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=t,v=e,g=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,g[0]=Math.pow(1-u,3),g[1]=3*u*Math.pow(1-u,2),g[2]=3*Math.pow(u,2)*(1-u),g[3]=Math.pow(u,3),c=g[0]*t+g[1]*r.x+g[2]*a.x+g[3]*i,f=g[0]*e+g[1]*r.y+g[2]*a.y+g[3]*o,l>0&&(h=this._getDistanceToLine(p,v,c,f,n,s),d=h2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),d=10,h=0,l=0,u=1,c=.2,f=this.to,p=!1;for(t.id===this.from.id&&(f=this.from,p=!0);l<=u&&h0&&(d=this._getDistanceToLine(f,p,u,c,n,s),a=do.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,d=10,h=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,f=void 0,p=void 0,v=void 0,g=.05,y=.5*(s+r);s<=r&&h0?a>0?s=y:r=y:a>0?r=y:s=y,h++;return u.t=y,u}},{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,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&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,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=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,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,d){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],f=u[1],p=u[2],v=c-n,g=f-r;h=Math.abs(Math.sqrt(v*v+g*g)-p)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,d=r*r+a*a,h=((n-t)*r+(s-e)*a)/d;h>1?h=1:h<0&&(h=0);var l=t+h*r,u=e+h*a,c=l-n,f=u-s;return Math.sqrt(c*c+f*f)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,d=void 0,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=r.width;if("from"===e?(h=this.from,l=this.to,u=.1,c=r.fromArrowScale,f=r.fromArrowType):"to"===e?(h=this.to,l=this.from,u=-.1,c=r.toArrowScale,f=r.toArrowType):(h=this.to,l=this.from,c=r.middleArrowScale,f=r.middleArrowType),h!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){d=this.findBorderPosition(h,t,{via:i});var v=this.getPoint(Math.max(0,Math.min(1,d.t+u)),i);a=Math.atan2(d.y-v.y,d.x-v.x)}else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.findBorderPosition(h,t);else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.getPoint(.5,i);else{var g=this._getCircleData(t),y=(0,s.default)(g,3),m=y[0],b=y[1],_=y[2];"from"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.25,high:.6,direction:-1}),a=d.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.6,high:1,direction:1}),a=d.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(d=this._pointOnCircle(m,b,_,.175),a=3.9269908169872414)}var w=15*c+3*p,k=d.x-.9*w*Math.cos(a),x=d.y-.9*w*Math.sin(a),O={x:k,y:x};return{point:d,core:O,angle:a,length:w,type:f}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(139),y=o(g),m=function(t){function e(t,i,o){(0,h.default)(this,e);var n=(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,v.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),d=a[0],h=a[1],l=a[2],u=2*Math.PI*(1-i);o=d+l*Math.sin(u),n=h+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)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*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=nMath.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=sMath.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.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(140),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),d=t.distanceToBorder(e,n),h=(a-d)/a,l={};return l.x=(1-h)*o.x+h*i.x,l.y=(1-h)*o.y+h*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(145),u=o(l),c=i(146),f=o(c),p=i(147),v=o(p),g=i(148),y=o(g),m=i(149),b=o(m),_=i(150),w=o(_),k=i(151),x=o(k),O=i(152),M=o(O),S=i(1),E=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},S.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,h.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,S.selectiveNotDeepExtend(["stabilization"],this.options,t),S.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new x.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new M.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new f.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new v.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick();var e=Date.now()-t;(e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||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 d=this.modelOptions.damping*s[t].y,h=(n[t].y-d)/i.options.mass;s[t].y+=h*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]?arguments[0]:this.options.stabilization.iterations;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;s0&&(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&&o.shape.radius&&(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,d=1;d0&&(hr&&(r=h),la&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,f=Math.max(c,Math.abs(r-n)),p=.5*f,v=.5*(n+r),g=.5*(s+a),y={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:g-p,maxY:g+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(y.root);for(var m=0;m0&&this._placeInTree(y.root,i);return y}},{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=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,d=this.body.nodes,h=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,f=4/3,p=0;p0){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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(154),f=o(c),p=i(155),v=o(p),g=i(1),y=function(){function t(e){var i=this;(0,h.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},g.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=0;u0&&(0,s.default)(p).length>0&&g===!0&&o.push({nodes:c,edges:p})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,d=f.default.cloneOptions(o);n[a]=o;for(var h=0;h-1&&(r[y.id]=y)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=(0,s.default)(t),c=[],p=0;p0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=g.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var d in t)if(t.hasOwnProperty(d)){var h=f.default.cloneOptions(t[d]);a.push(h)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=f.default.cloneOptions(e[u],"edge");l.push(c)}if(r=i.processProperties(r,a,l),!r)throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+g.randomUUID());var p=r.id;void 0===r.label&&(r.label="cluster");var y=void 0;void 0===r.x&&(y=this._getClusterPosition(t),r.x=y.x),void 0===r.y&&(void 0===y&&(y=this._getClusterPosition(t)),r.y=y.y),r.id=p;var m=this.body.functions.createNode(r,v.default);m.isCluster=!0,m.containedNodes=t,m.containedEdges=e,m.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=m,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,d=1;do?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||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 h=this.body.nodes[d];r[d]={x:h.x,y:h.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var p in n)if(n.hasOwnProperty(p)){var v=this.body.nodes[p];v=n[p],v.options.fixed.x===!1&&(v.x=o.x),v.options.fixed.y===!1&&(v.y=o.y)}for(var y in n)if(n.hasOwnProperty(y)){var m=this.body.nodes[y];m.vx=o.vx,m.vy=o.vy,m.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[y]}for(var b=[],_=0;_o&&(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),d=Math.floor(t+2*a);return d>o&&(d=o),d}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(1),h=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)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"];d.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]&&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]&&arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),d=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),h={top:a.y,left:a.x,bottom:d.y,right:d.x},l=0;l0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){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(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)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 d(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_ALL}),h.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 d(this.frame),h.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;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,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},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=u},function(t,e,i){if("undefined"!=typeof window){var o=i(159),n=window.Hammer||i(160);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?h._handlers[t]=o:(i.off(t,s),delete h._handlers[t]))}),h},h.emit=function(e,o){t=o.target,i.emit(e,o)},h.destroy=function(){var t=i.element.hammer,e=t.indexOf(h);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,h._handlers={},i.destroy()},h}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 * http://hammerjs.github.io/ @@ -36,7 +36,7 @@ t.indexOf("msie 9.0")!=-1?this.requiresTimeout=!0:t.indexOf("safari")!=-1&&t.ind * Copyright (c) 2016 Jorik Tangelder; * Licensed under the MIT license */ !function(n,s,r,a){function d(t,e,i){return setTimeout(f(t,i),e)}function h(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}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 c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&vt(o,i)}function f(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==mt?t.apply(e?e[0]||a:a,e):t}function v(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function y(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function m(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 O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=F(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,d=e.center=I(o);e.timeStamp=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=A(a,d),e.distance=R(a,d),P(i,e),e.offsetDirection=N(e.deltaX,e.deltaY);var h=z(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=h.x,e.overallVelocityY=h.y,e.overallVelocity=_t(h.x)>_t(h.y)?h.x:h.y,e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,B(i,e);var l=t.element;m(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!==It&&s.eventType!==Nt||(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 B(t,e){var i,o,n,s,r=t.lastInterval||e,d=e.timeStamp-r.timeStamp;if(e.eventType!=Rt&&(d>Ft||r.velocity===a)){var h=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=z(d,h,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=N(h,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 F(t){for(var e=[],i=0;i=_t(e)?t<0?jt:Ht:e<0?Lt:Wt}function R(t,e,i){i||(i=qt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function A(t,e,i){i||(i=qt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return A(e[1],e[0],Gt)+A(t[1],t[0],Gt)}function H(t,e){return R(e[0],e[1],Gt)/R(t[0],t[1],Gt)}function L(){this.evEl=Kt,this.evWin=Zt,this.pressed=!1,E.apply(this,arguments)}function W(){this.evEl=$t,this.evWin=te,E.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=ie,this.evWin=oe,this.started=!1,E.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(Nt|Rt)&&(i=x(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=se,this.targetIds={},E.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(It|zt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],d=this.target;if(s=i.filter(function(t){return m(t.target,d)}),e===It)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function Z(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=xe)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&me||!(this.state&me)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&me)},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(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Nt|Rt)&&!n)this.reset();else if(t.eventType&It)this.reset(),this._timer=d(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Nt)return we;return xe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Nt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),c(dt,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&me)}}),c(ht,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|Ut,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|Ut)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&Ut&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Nt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distance0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=h.default.getRange(this.body.nodes,t.nodes);var a=this.body.nodeIndices.length;o=12.662/(a+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=h.default.getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,f=this.canvas.frame.canvas.clientHeight/u;o=c<=f?c:f}o>1?o=1:0===o&&(o=1);var p=h.default.findCenter(i),v={position:p,scale:o,animation:t.animation};this.moveTo(v)}},{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]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.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=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(164),h=o(d),l=i(166),u=o(l),c=i(1),f=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new h.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(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]&&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(),d=this.selectionHandler._getSelectedNodeCount(),h=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,h),u=l.nodesChanged,c=l.edgesChanged,f=!1;d-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,f=!0):u===!0&&d>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),f=!0,r=!0):d-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&f===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(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;n10&&(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 d=this.canvas.canvasToDOM(o);this.drag.pointer.x=d.x,this.drag.pointer.y=d.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=d[l[l.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var f=this.body.edgeIndices,p=this.body.edges,v=void 0,g=[],y=0;y0&&(this.popupObj=p[g[g.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new u.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=void 0!==o&&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=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=(i(1),i(158)),h=i(161),l=i(165),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(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(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:pointer})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:pointer})}},{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=l({container:window,preventDefault:!0}):this.keycharm=l({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=u},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;e<=122;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;e<=90;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)r[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;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){h(t,"keydown")},d=function(t){h(t,"keyup")},h=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;nn-this.padding&&(a=!0),s=a?this.x-i:this.x,r=d?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof h.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?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;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(104),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(154),v=o(p),g=i(1),y=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},g.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,f.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(g.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),g.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(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"),g.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||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,h.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||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||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&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||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&&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 d=this.body.nodeIndices.length;if(a==d&&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 h=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=d(),i=0;i0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var d in e)if(e.hasOwnProperty(d)){var h=t.body.nodes[d],l=t.hierarchicalLevels[h.id],u=t._getPositionForHierarchy(h),c=t._getSpaceAroundNode(h,e),f=(0,a.default)(c,2),p=f[0],v=f[1];o=Math.min(p,o),n=Math.min(v,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},u=function e(i){var o=t.hierarchicalLevels[i];if(t.hierarchicalChildrenReference[i]){var n=t.hierarchicalChildrenReference[i];if(n.length>0)for(var s=0;s1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o),d=Math.abs(r-s);if(d>t.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=l(u,p),g=(0,a.default)(v,4),y=(g[0],g[1]),m=(g[2],g[3],l(f,p)),b=(0,a.default)(m,4),_=b[0],w=(b[1],b[2]),k=(b[3],Math.abs(y-_));if(k>t.options.hierarchical.nodeSpacing){var x=y-_+t.options.hierarchical.nodeSpacing;x<-w+t.options.hierarchical.nodeSpacing&&(x=-w+t.options.hierarchical.nodeSpacing),x<0&&(t._shiftBlock(o.id,x),e=!0,n===!0&&t._centerParent(o))}}},g=function(o,n){for(var s=n.id,r=n.edges,d=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},f=[],p=0;p0?v=Math.min(p,f-t.options.hierarchical.nodeSpacing):p<0&&(v=-Math.min(-p,c-t.options.hierarchical.nodeSpacing)),0!=v&&(t._shiftBlock(n.id,v),e=!0)},w=function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),d=r[0],h=r[1],l=i-o,u=o;l>0?u=Math.min(o+(h-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(d-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)},k=b(o,f);_(k),k=b(o,r),w(k)},y=function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var h=0;h0&&Math.abs(y)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),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 d=1e9,h=-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(v.default.cloneOptions(o,"node"),v.default.cloneOptions(n,"node"),v.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]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3];o!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("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=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(82),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=i(158),g=i(161),y=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},p.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,f.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,p.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&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=p.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","object"===(0,h.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var e=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(e.from,e.to)}if(this.guiEnabled===!0){var i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.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=p.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+p.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={},p.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&&(p.recursiveDOMDelete(this.editModeDiv),p.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;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){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=p.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"+p.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, +this.drag.nodeId=void 0,void 0!==e&&this.options.dragNodes===!0){this.drag.nodeId=e.id,e.isSelected()===!1&&(this.selectionHandler.unselectAll(),this.selectionHandler.selectObject(e)),this.selectionHandler._generateClickEvent("dragStart",t,this.drag.pointer);var i=this.selectionHandler.selectionObj.nodes;for(var o in i)if(i.hasOwnProperty(o)){var n=i[o],s={id:n.id,node:n,x:n.x,y:n.y,xFixed:n.options.fixed.x,yFixed:n.options.fixed.y};n.options.fixed.x=!0,n.options.fixed.y=!0,this.drag.selection.push(s)}}else this.selectionHandler._generateClickEvent("dragStart",t,this.drag.pointer,void 0,!0)}},{key:"onDrag",value:function(t){var e=this;if(this.drag.pinched!==!0){this.body.emitter.emit("unlockNode");var i=this.getPointer(t.center),o=this.drag.selection;if(o&&o.length&&this.options.dragNodes===!0)!function(){e.selectionHandler._generateClickEvent("dragging",t,i);var n=i.x-e.drag.pointer.x,s=i.y-e.drag.pointer.y;o.forEach(function(t){var i=t.node;t.xFixed===!1&&(i.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(t.x)+n)),t.yFixed===!1&&(i.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(t.y)+s))}),e.body.emitter.emit("startSimulation")}();else if(this.options.dragView===!0){if(this.selectionHandler._generateClickEvent("dragging",t,i,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(t);var n=i.x-this.drag.pointer.x,s=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+n,y:this.drag.translation.y+s},this.body.emitter.emit("_redraw")}}}},{key:"onDragEnd",value:function(t){this.drag.dragging=!1;var e=this.drag.selection;e&&e.length?(e.forEach(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed}),this.selectionHandler._generateClickEvent("dragEnd",t,this.getPointer(t.center)),this.body.emitter.emit("startSimulation")):(this.selectionHandler._generateClickEvent("dragEnd",t,this.getPointer(t.center),void 0,!0),this.body.emitter.emit("_requestRedraw"))}},{key:"onPinch",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:"zoom",value:function(t,e){if(this.options.zoomView===!0){var i=this.body.view.scale;t<1e-5&&(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 d=this.canvas.canvasToDOM(o);this.drag.pointer.x=d.x,this.drag.pointer.y=d.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=d[l[l.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var f=this.body.edgeIndices,p=this.body.edges,v=void 0,g=[],y=0;y0&&(this.popupObj=p[g[g.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new u.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=void 0!==o&&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=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=(i(1),i(158)),h=i(161),l=i(165),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(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(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{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=l({container:window,preventDefault:!0}):this.keycharm=l({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=u},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;e<=122;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;e<=90;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)r[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;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){h(t,"keydown")},d=function(t){h(t,"keyup")},h=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;nn-this.padding&&(a=!0),s=a?this.x-i:this.x,r=d?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof h.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?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;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(104),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(154),v=o(p),g=i(1),y=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},g.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,f.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(g.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),g.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(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"),g.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||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,h.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||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||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&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||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&&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 d=this.body.nodeIndices.length;if(a==d&&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 h=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=d(),i=0,o=0;o0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var d in e)if(e.hasOwnProperty(d)){var h=t.body.nodes[d],l=t.hierarchicalLevels[h.id],u=t._getPositionForHierarchy(h),c=t._getSpaceAroundNode(h,e),f=(0,a.default)(c,2),p=f[0],v=f[1];o=Math.min(p,o),n=Math.min(v,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},u=function e(i){var o=t.hierarchicalLevels[i];if(t.hierarchicalChildrenReference[i]){var n=t.hierarchicalChildrenReference[i];if(n.length>0)for(var s=0;s1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o),d=Math.abs(r-s);if(d>t.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=l(u,p),g=(0,a.default)(v,4),y=(g[0],g[1]),m=(g[2],g[3],l(f,p)),b=(0,a.default)(m,4),_=b[0],w=(b[1],b[2]),k=(b[3],Math.abs(y-_));if(k>t.options.hierarchical.nodeSpacing){var x=y-_+t.options.hierarchical.nodeSpacing;x<-w+t.options.hierarchical.nodeSpacing&&(x=-w+t.options.hierarchical.nodeSpacing),x<0&&(t._shiftBlock(o.id,x),e=!0,n===!0&&t._centerParent(o))}}},g=function(o,n){for(var s=n.id,r=n.edges,d=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},f=[],p=0;p0?v=Math.min(p,f-t.options.hierarchical.nodeSpacing):p<0&&(v=-Math.min(-p,c-t.options.hierarchical.nodeSpacing)),0!=v&&(t._shiftBlock(n.id,v),e=!0)},w=function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),d=r[0],h=r[1],l=i-o,u=o;l>0?u=Math.min(o+(h-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(d-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)},k=b(o,f);_(k),k=b(o,r),w(k)},y=function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var h=0;h0&&Math.abs(y)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),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 d=1e9,h=-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(v.default.cloneOptions(o,"node"),v.default.cloneOptions(n,"node"),v.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]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3];o!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("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=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(82),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=i(158),g=i(161),y=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},p.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,f.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,p.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&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=p.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","object"===(0,h.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var e=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(e.from,e.to)}if(this.guiEnabled===!0){var i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.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=p.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+p.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={},p.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&&(p.recursiveDOMDelete(this.editModeDiv),p.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;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){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=p.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"+p.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(this.temporaryIds.nodes.indexOf(n[r])===-1){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:p.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,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(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=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(82),s=o(n),r=i(62),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(171),f=o(c),p=i(1),v=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,h.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},p.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new f.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&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),s=1;s2&&void 0!==arguments[2]&&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&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),h=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 c=this;a.onchange=function(){u.value=this.value,c._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var f=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,f,a,u);""!==d&&this.popupHistory[p]!==h&&(this.popupHistory[p]=h,this._setupPopup(d,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],d=p.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,d,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var h=this._getValue(d);if(a instanceof Array)this._handleArray(a,h,d);else if("string"==typeof a)this._makeTextInput(a,h,d);else if("boolean"==typeof a)this._makeCheckbox(a,h,d);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=p.copyAndExtendArray(d,"enabled"),c=this._getValue(u);if(c===!0){var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}else this._makeCheckbox(a,c,d)}else{var v=this._makeLabel(r,d,!0);this._makeItem(d,v),s=this._handleObject(a,d)||s}}else console.error("dont know how to handle",a,r,d)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,h.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var d=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:d}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=c.extend({},t)),this.color=t;var i=c.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,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+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.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.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(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 e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,d=1/360,h=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;r2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=.01,r=1,a=0,d=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),h=5,l=1e9,u=0,c=0,f=0,p=0,v=0;l>n&&ar&&v=.1;)f=n[l++%s],f>h&&(f=h),c=Math.sqrt(f*f/(1+d*d)),c=r<0?-c:c,t+=c,e+=d*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),h-=f,u=!u})},function(t,e){function i(t){if(t)return o(t)}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;n=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function c(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function f(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(j=F.NULL,A="";" "===R||"\t"===R||"\n"===R||"\r"===R;)r();do{var t=!1;if("#"===R){for(var e=N-1;" "===z.charAt(e)||"\t"===z.charAt(e);)e--;if("\n"===z.charAt(e)||""===z.charAt(e)){for(;""!=R&&"\n"!=R;)r();t=!0}}if("/"===R&&"/"===a()){for(;""!=R&&"\n"!=R;)r();t=!0}if("/"===R&&"*"===a()){for(;""!=R;){if("*"===R&&"/"===a()){r(),r();break}r()}t=!0}for(;" "===R||"\t"===R||"\n"===R||"\r"===R;)r()}while(t);if(""===R)return void(j=F.DELIMITER);var i=R+a();if(I[i])return j=F.DELIMITER,A=i,r(),void r();if(I[R])return j=F.DELIMITER,A=R,void r();if(d(R)||"-"===R){for(A+=R,r();d(R);)A+=R,r();return"false"===A?A=!1:"true"===A?A=!0:isNaN(Number(A))||(A=Number(A)),void(j=F.IDENTIFIER)}if('"'===R){for(r();""!=R&&('"'!=R||'"'===R&&'"'===a());)A+=R,'"'===R&&r(),r();if('"'!=R)throw x('End of string " expected');return r(),void(j=F.IDENTIFIER)}for(j=F.UNKNOWN;""!=R;)A+=R,r();throw new SyntaxError('Syntax error in part "'+O(A,30)+'"')}function v(){var t={};if(s(),p(),"strict"===A&&(t.strict=!0,p()),"graph"!==A&&"digraph"!==A||(t.type=A,p()),j===F.IDENTIFIER&&(t.id=A,p()),"{"!=A)throw x("Angle bracket { expected");if(p(),g(t),"}"!=A)throw x("Angle bracket } expected");if(p(),""!==A)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function g(t){for(;""!==A&&"}"!=A;)y(t),";"===A&&p()}function y(t){var e=m(t);if(e)return void w(t,e);var i=b(t);if(!i){if(j!=F.IDENTIFIER)throw x("Identifier expected");var o=A;if(p(),"="===A){if(p(),j!=F.IDENTIFIER)throw x("Identifier expected");t[o]=A,p()}else _(t,o)}}function m(t){var e=null;if("subgraph"===A&&(e={},e.type="subgraph",p(),j===F.IDENTIFIER&&(e.id=A,p())),"{"===A){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,g(e),"}"!=A)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function b(t){return"node"===A?(p(),t.node=k(),"node"):"edge"===A?(p(),t.edge=k(),"edge"):"graph"===A?(p(),t.graph=k(),"graph"):null}function _(t,e){var i={id:e},o=k();o&&(i.attr=o),u(t,i),w(t,e)}function w(t,e){for(;"->"===A||"--"===A;){var i,o=A;p();var n=m(t);if(n)i=n;else{if(j!=F.IDENTIFIER)throw x("Identifier or subgraph expected");i=A,u(t,{id:i}),p()}var s=k(),r=f(t,e,i,o,s);c(t,r),e=i}}function k(){for(var t=null;"["===A;){for(p(),t={};""!==A&&"]"!=A;){if(j!=F.IDENTIFIER)throw x("Attribute name expected");var e=A;if(p(),"="!=A)throw x("Equal sign = expected");if(p(),j!=F.IDENTIFIER)throw x("Attribute value expected");var i=A;l(t,e,i),p(),","==A&&p()}if("]"!=A)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+O(A,30)+'" (char '+N+")")}function O(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},z="",N=0,R="",A="",j=F.NULL,H=/[a-zA-Z_0-9.:#]/;e.parseDOT=n,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\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&&mt(o,i)}function c(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==yt?t.apply(e?e[0]||a:a,e):t}function m(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=A(o);e.timeStamp=wt(),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=_t(d.x)>_t(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,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!==At&&s.eventType!==Lt||(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!=Ft&&(h>Nt||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=_t(u.x)>_t(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;i=_t(e)?t<0?Yt:jt:e<0?Gt:zt}function F(t,e,i){i||(i=Vt);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=Vt);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],qt)+H(t[1],t[0],qt)}function j(t,e){return F(e[0],e[1],qt)/F(t[0],t[1],qt)}function G(){this.evEl=Zt,this.evWin=Kt,this.pressed=!1,T.apply(this,arguments)}function z(){this.evEl=Qt,this.evWin=te,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function W(){this.evTarget=ie,this.evWin=oe,this.started=!1,T.apply(this,arguments)}function B(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Lt|Ft)&&(i=D(i.concat(o),"identifier",!0)),[i,o]}function U(){this.evTarget=se,this.targetIds={},T.apply(this,arguments)}function V(t,e){var i=x(t.touches),o=this.targetIds;if(e&(At|Rt)&&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===At)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=De)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),p(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},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(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Lt|Ft)&&!n)this.reset();else if(t.eventType&At)this.reset(),this._timer=h(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return we;return De},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),p(ht,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),p(dt,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Wt|Bt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Wt|Bt)?e=t.overallVelocity:i&Wt?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[pe]},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,""),v):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),v):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),v),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var p=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>p.distance&&(r=p.closestMatch,a=p.path,s=p.distance,d=p.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?p.convert(t,"Date").valueOf():null,r=void 0!=e?p.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,c=this.end,f="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,g="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",v=p.easingFunctions[g];if(!v)throw new Error("Unknown easing function "+(0,d.default)(g)+". Choose from: "+(0,a.default)(p.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1,_=function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=v(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,g=d||null===r?r:c+(r-c)*a;w=h._applyRange(u,g),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||w;var _={start:new Date(h.start),end:new Date(h.end),byUser:o,event:p.elementsCensor(n)};w&&h.body.emitter.emit("rangechange",_),d?b&&h.body.emitter.emit("rangechanged",_):h.animationTimer=setTimeout(t,20)}};return _()}var w=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),w){var x={start:new Date(this.start),end:new Date(this.end),byUser:o,event:p.elementsCensor(n)};this.body.emitter.emit("rangechange",x),this.body.emitter.emit("rangechanged",x)}},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?p.convert(t,"Date").valueOf():this.start,n=null!=e?p.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?p.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?p.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(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&othis.start&&nh&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=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,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.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}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end); -o-=n;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,d=this.props.touch.end+a,l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=m.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(l!=h||u!=d)return this.deltaDifference+=i,this.props.touch.start=l,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d);var c=new Date(this.start),f=new Date(this.end);this.body.emitter.emit("rangechange",{start:c,end:f,byUser:!0,event:p.elementsCensor(t)}),this.body.emitter.emit("panmove")}},n.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,event:p.elementsCensor(t)}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.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},n.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)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.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=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-p.getAbsoluteLeft(this.body.dom.centerContainer);else var i=p.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(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},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:p.getAbsoluteRight(e)-t.x,y:t.y-p.getAbsoluteTop(e)}:{x:t.x-p.getAbsoluteLeft(e),y:t.y-p.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.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},n.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,!1,!0,event)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.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=o},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 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"),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(;d=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&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a),d=new Date(h+a+t.range.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(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?o<0?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&&t-1||h))return t.dataTransfer.dropEffect="move",h=!0,!1}function n(t){try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e.content)return}catch(t){return!1}return h=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}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.rollingModeBtn=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.rollingModeBtn.className="vis-rolling-mode-btn",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.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),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.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=p.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={};var a=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];a.forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var h=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(p.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),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"===(0,h.default)(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 i=this.timeAxis2=new c(this.body);i.setOptions=function(t){var e=t?p.extend({},t):{};e.orientation="top",c.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(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 n=p.deepExtend({},this.options);this.components.forEach(function(t){p.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.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},n.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 "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.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 "+(0,r.default)(t));return e[0].getCustomTime()},n.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 "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?p.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 "+(0,r.default)(e)+" already exists");var n=new g(this.body,p.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},n.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 "+(0,r.default)(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))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.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;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=p.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=n/(1+t),r=(n-s)/2,a=i+r,h=o-r;this.setWindow({start:a,end:h})}},n.prototype.zoomOut=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=i-n*t/2,r=o+n*t/2;this.setWindow({start:s,end:r})}},n.prototype.redraw=function(){this._redraw()},n.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){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(p.addClassName(o.root,"vis-top"),p.removeClassName(o.root,"vis-bottom")):(p.removeClassName(o.root,"vis-top"),p.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=p.option.asSize(e.maxHeight,""),o.root.style.minHeight=p.option.asSize(e.minHeight,""),o.root.style.width=p.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,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=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&&(i.borderRootWidth=i.borderRootHeight),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 n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=p.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=p.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var c=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var h=e.get(i.groupId),d=e.get(this.groupTouchParams.group.groupId);d&&h&&(this.options.groupOrderSwap(d,h,e),e.update(d),e.update(h));var l=e.getIds({order:this.options.groupOrder});if(!p.equalArray(l,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,c=this.groupTouchParams.group.groupId,m=Math.min(u.length,l.length),g=0,v=0,y=0;g=m)break;if(l[g+v]!=c)if(u[g+y]!=c){var b=l.indexOf(u[g+y]),_=e.get(l[g+v]),w=e.get(u[g+y]);this.options.groupOrderSwap(_,w,e),e.update(_),e.update(w);var x=l[g+v];l[g+v]=u[g+y],l[b]=x,g++}else y=1;else v=1}}}},n.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=p.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(!p.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),groupsData.update(d),groupsData.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.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:p.elementsCensor(t)})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);if(e!==i){if(e.getTitle()){null==e.popup&&e.setPopup(new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip"));var o=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-p.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-p.getAbsoluteTop(o)+o.offsetTop),e.popup.show()}this.body.emitter.emit("itemover",{item:e.id,event:p.elementsCensor(t)})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);e!==i&&(null!=e.popup&&e.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:p.elementsCensor(t)}))}},n.prototype._onMouseMove=function(t){var e=this.itemFromTarget(t);if(e&&this.options.tooltip.followMouse&&e.popup&&!e.popup.hidden){var i=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-p.getAbsoluteLeft(i)+i.offsetLeft,t.clientY-p.getAbsoluteTop(i)+i.offsetTop),e.popup.show()}},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.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){if(this.options.rtl)var n=p.getAbsoluteRight(this.dom.frame),s=n-t.center.x;else var n=p.getAbsoluteLeft(this.dom.frame),s=t.center.x-n;var r=this.body.util.toTime(s),a=this.body.util.getScale(),h=this.body.util.getStep(),d={start:i?i(r,a,h):r,content:"new item"};if("drop"==t.type){var l=JSON.parse(t.dataTransfer.getData("text"));if(d.content=l.content,d.type=l.type||"box",d[this.itemsData._fieldId]=l.id||p.randomUUID(),"range"==l.type||l.end&&l.start)if(l.end)d.end=l.end,d.start=l.start;else{var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}}else if(d[this.itemsData._fieldId]=p.randomUUID(),"range"===this.options.type){var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}var c=this.groupFromTarget(t);c&&(d.group=c.groupId),d=this._cloneItemData(d),this.options.onAdd(d,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],o=t.srcEvent&&t.srcEvent.shiftKey||!1;if(o&&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=n._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 x||i.push(d.id)}}}else{var c=i.indexOf(e.id);c==-1?i.push(e.id):i.splice(c,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:p.elementsCensor(t)})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?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.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.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.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){if(void 0==t&&(t=this.current),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);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 e(a)+t(a.milliseconds()).trim();case"second":return e(a)+t(a.seconds()).trim();case"minute":return e(a)+t(a.minutes()).trim();case"hour":return"vis-h"+a.hours()+(4==this.step?"-h"+(a.hours()+4):"")+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":return"vis-day"+a.date()+" vis-"+a.format("MMMM").toLowerCase()+e(a)+o(a)+(this.step<=2?e(a):"")+(this.step<=2?" vis-"+a.format("dddd").toLowerCase():""+t(a.date()-1));case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var d=a.year();return"vis-year"+d+n(a)+t(d);default:return""}},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],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 s=i(58),r=o(s),a=i(1),h=i(115);i(116);n.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.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},n.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=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 e instanceof Object?i(t,this.dom.inner):void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?a.removeClassName(this.dom.inner,"vis-hidden"):a.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,a.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)a.removeClassName(this.dom.label,"collapsed"),a.addClassName(this.dom.label,"expanded");else{a.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";a.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(a.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(a.removeClassName(this.dom.label,this.className),a.removeClassName(this.dom.foreground,this.className),a.removeClassName(this.dom.background,this.className),a.removeClassName(this.dom.axis,this.className)),a.addClassName(this.dom.label,n),a.addClassName(this.dom.foreground,n),a.addClassName(this.dom.background,n),a.addClassName(this.dom.axis,n),this.className=n),this.style&&(a.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(a.addCssText(this.dom.label,t.style),this.style=t.style)},n.prototype.getLabelWidth=function(){return this.props.label.width},n.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,a.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var r=this,d=!1;a.forEach(this.items,function(t){t.displayed||(t.redraw(),r.visibleItems.push(t)),t.repositionX(d)});var l=this.orderedItems.byStart.slice().sort(function(t,e){return r.itemSet.options.order(t.data,e.data)});h.stack(l,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?h.stack(this.visibleItems,e,i):h.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var u=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=a.updateProperty(this,"height",u)||o,o=a.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=a.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=u+"px",this.dom.foreground.style.height=u+"px",this.dom.label.style.height=u+"px";for(var p=0,c=this.visibleItems.length;p0){var e=this;this.resetSubgroups(),a.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},n.prototype._isGroupVisible=function(t,e){var i=this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop;return i},n.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(a.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,a.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},n.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)},n.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)},n.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,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},n.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},n.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;i0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.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(101),i(117));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.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),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._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._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),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||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,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:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+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){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.popup=null,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={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(i.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable)))}var s=i(58),r=o(s),a=i(62),h=o(a),d=i(101),l=i(1),u=i(84);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.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={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(options.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable))),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;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 d(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)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=50,s=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=o+this.parent.top-n<-s;r?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var a,h;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(h=this.options.tooltipOnItemUpdateTime.template.bind(this),a=h(this.data)):(a="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(a+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=a}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.prototype._updateTitle=function(){null!=this.data.title&&null!=this.popup&&this.popup.setText(this.data.title||"")},n.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=(0,r.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-nt.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-n/2t.start&&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._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;if(void 0!==this.data.subgroup){var i=this.data.subgroup,o=this.parent.subgroups;o[i].index;this.dom.box.style.height=this.parent.subgroups[i].height+"px";var n=this.options.orientation.item;"top"==n?this.dom.box.style.top=this.parent.top+this.parent.subgroups[i].top+"px":this.dom.box.style.top=this.parent.top+this.parent.height-this.parent.subgroups[i].top-this.parent.subgroups[i].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top="top"==n?"0":"",this.dom.box.style.bottom="top"==n?"":"0"):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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:d.FORMAT,moment:u,timeAxis:null},this.options=a.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var s=i(62),r=o(s),a=i(1),h=i(108),d=i(113),l=i(109),u=i(84);n.prototype=new h,n.prototype.setOptions=function(t){t&&(a.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),a.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,r.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof u.locale?u.locale(t.locale):u.lang(t.locale)))},n.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"},n.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},n.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},n.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=a.convert(this.body.range.start,"Number"),i=a.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-l.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new d(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var h,u,c,f,m,g,v,y,b,_,w=0,x=void 0,D=0,S=1e3;for(s.start(),u=s.getCurrent(),f=this.body.util.toScreen(u);s.hasNext()&&D=.4*v;if(this.options.showMinorLabels&&k){var C=this._repaintMinorText(c,b,t,_);C.style.width=w+"px"}m&&this.options.showMajorLabels?(c>0&&(void 0==x&&(x=c),C=this._repaintMajorText(c,s.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||p||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+S+" lines."),p=!0),this.options.showMajorLabels){var T=this.body.util.toTime(0),M=s.getLabelMajor(T),O=M.length*(this.props.majorCharWidth||10)+10;(void 0==x||O1e3&&(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"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{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"},overrideItems:{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,function:"function"}},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,function:"function"}},__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},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:r,number:n,string:i,moment:d},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:a}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:a}},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,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,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,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}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');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 m(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(94),r=o(s),a=i(105),h=o(a),d=(i(106),i(101),i(84)),l=i(1),u=i(90),p=i(92),c=i(107),f=i(110),m=i(122),g=i(127),v=i(125),y=i(130),b=i(105).printStyle,_=i(138).allOptions,w=i(138).configureOptions; +!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)}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&&mt(o,i)}function c(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==yt?t.apply(e?e[0]||a:a,e):t}function m(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=A(o);e.timeStamp=wt(),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=_t(d.x)>_t(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,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!==At&&s.eventType!==Lt||(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!=Ft&&(h>Nt||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=_t(u.x)>_t(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;i=_t(e)?t<0?Yt:jt:e<0?Gt:zt}function F(t,e,i){i||(i=Vt);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=Vt);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],qt)+H(t[1],t[0],qt)}function j(t,e){return F(e[0],e[1],qt)/F(t[0],t[1],qt)}function G(){this.evEl=Zt,this.evWin=Kt,this.pressed=!1,T.apply(this,arguments)}function z(){this.evEl=Qt,this.evWin=te,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function W(){this.evTarget=ie,this.evWin=oe,this.started=!1,T.apply(this,arguments)}function B(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Lt|Ft)&&(i=D(i.concat(o),"identifier",!0)),[i,o]}function U(){this.evTarget=se,this.targetIds={},T.apply(this,arguments)}function V(t,e){var i=x(t.touches),o=this.targetIds;if(e&(At|Rt)&&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===At)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=De)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),p(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},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(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Lt|Ft)&&!n)this.reset();else if(t.eventType&At)this.reset(),this._timer=h(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return we;return De},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),p(ht,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),p(dt,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Wt|Bt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Wt|Bt)?e=t.overallVelocity:i&Wt?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[pe]},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,""),v):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),v):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),v),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var p=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>p.distance&&(r=p.closestMatch,a=p.path,s=p.distance,d=p.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?p.convert(t,"Date").valueOf():null,r=void 0!=e?p.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,c=this.end,f="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,g="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",v=p.easingFunctions[g];if(!v)throw new Error("Unknown easing function "+(0,d.default)(g)+". Choose from: "+(0,a.default)(p.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1,_=function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=v(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,g=d||null===r?r:c+(r-c)*a;w=h._applyRange(u,g),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||w;var _={start:new Date(h.start),end:new Date(h.end),byUser:o,event:p.elementsCensor(n)};w&&h.body.emitter.emit("rangechange",_),d?b&&h.body.emitter.emit("rangechanged",_):h.animationTimer=setTimeout(t,20)}};return _()}var w=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),w){var x={start:new Date(this.start),end:new Date(this.end),byUser:o,event:p.elementsCensor(n)};this.body.emitter.emit("rangechange",x),this.body.emitter.emit("rangechanged",x)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?p.convert(t,"Date").valueOf():this.start,n=null!=e?p.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?p.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?p.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(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-h&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);d<0&&(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},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.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}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction; +s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=n;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,d=this.props.touch.end+a,l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=m.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(l!=h||u!=d)return this.deltaDifference+=i,this.props.touch.start=l,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d);var c=new Date(this.start),f=new Date(this.end);this.body.emitter.emit("rangechange",{start:c,end:f,byUser:!0,event:p.elementsCensor(t)}),this.body.emitter.emit("panmove")}},n.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,event:p.elementsCensor(t)}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.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},n.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)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.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=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-p.getAbsoluteLeft(this.body.dom.centerContainer);else var i=p.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(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},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:p.getAbsoluteRight(e)-t.x,y:t.y-p.getAbsoluteTop(e)}:{x:t.x-p.getAbsoluteLeft(e),y:t.y-p.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.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},n.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,!1,!0,event)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.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=o},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 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"),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(;d=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&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a),d=new Date(h+a+t.range.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(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?o<0?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&&t-1||h))return t.dataTransfer.dropEffect="move",h=!0,!1}function n(t){try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e.content)return}catch(t){return!1}return h=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}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.rollingModeBtn=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.rollingModeBtn.className="vis-rolling-mode-btn",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.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),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.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=p.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={};var a=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];a.forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var h=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(p.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),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"===(0,h.default)(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 i=this.timeAxis2=new c(this.body);i.setOptions=function(t){var e=t?p.extend({},t):{};e.orientation="top",c.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(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 n=p.deepExtend({},this.options);this.components.forEach(function(t){p.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.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},n.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 "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.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 "+(0,r.default)(t));return e[0].getCustomTime()},n.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 "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?p.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 "+(0,r.default)(e)+" already exists");var n=new g(this.body,p.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},n.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 "+(0,r.default)(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))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.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;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=p.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=n/(1+t),r=(n-s)/2,a=i+r,h=o-r;this.setWindow({start:a,end:h})}},n.prototype.zoomOut=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=i-n*t/2,r=o+n*t/2;this.setWindow({start:s,end:r})}},n.prototype.redraw=function(){this._redraw()},n.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){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(p.addClassName(o.root,"vis-top"),p.removeClassName(o.root,"vis-bottom")):(p.removeClassName(o.root,"vis-top"),p.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=p.option.asSize(e.maxHeight,""),o.root.style.minHeight=p.option.asSize(e.minHeight,""),o.root.style.width=p.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,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=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&&(i.borderRootWidth=i.borderRootHeight),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 n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=p.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=p.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var c=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var h=e.get(i.groupId),d=e.get(this.groupTouchParams.group.groupId);d&&h&&(this.options.groupOrderSwap(d,h,e),e.update(d),e.update(h));var l=e.getIds({order:this.options.groupOrder});if(!p.equalArray(l,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,c=this.groupTouchParams.group.groupId,m=Math.min(u.length,l.length),g=0,v=0,y=0;g=m)break;if(l[g+v]!=c)if(u[g+y]!=c){var b=l.indexOf(u[g+y]),_=e.get(l[g+v]),w=e.get(u[g+y]);this.options.groupOrderSwap(_,w,e),e.update(_),e.update(w);var x=l[g+v];l[g+v]=u[g+y],l[b]=x,g++}else y=1;else v=1}}}},n.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=p.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(!p.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),groupsData.update(d),groupsData.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.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:p.elementsCensor(t)})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);if(e!==i){if(e.getTitle()){null==e.popup&&e.setPopup(new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip"));var o=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-p.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-p.getAbsoluteTop(o)+o.offsetTop),e.popup.show()}this.body.emitter.emit("itemover",{item:e.id,event:p.elementsCensor(t)})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);e!==i&&(null!=e.popup&&e.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:p.elementsCensor(t)}))}},n.prototype._onMouseMove=function(t){var e=this.itemFromTarget(t);if(e&&this.options.tooltip.followMouse&&e.popup&&!e.popup.hidden){var i=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-p.getAbsoluteLeft(i)+i.offsetLeft,t.clientY-p.getAbsoluteTop(i)+i.offsetTop),e.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.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){if(this.options.rtl)var n=p.getAbsoluteRight(this.dom.frame),s=n-t.center.x;else var n=p.getAbsoluteLeft(this.dom.frame),s=t.center.x-n;var r=this.body.util.toTime(s),a=this.body.util.getScale(),h=this.body.util.getStep(),d={start:i?i(r,a,h):r,content:"new item"};if("drop"==t.type){var l=JSON.parse(t.dataTransfer.getData("text"));if(d.content=l.content,d.type=l.type||"box",d[this.itemsData._fieldId]=l.id||p.randomUUID(),"range"==l.type||l.end&&l.start)if(l.end)d.end=l.end,d.start=l.start;else{var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}}else if(d[this.itemsData._fieldId]=p.randomUUID(),"range"===this.options.type){var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}var c=this.groupFromTarget(t);c&&(d.group=c.groupId),d=this._cloneItemData(d),this.options.onAdd(d,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],o=t.srcEvent&&t.srcEvent.shiftKey||!1;if(o&&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=n._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 x||i.push(d.id)}}}else{var c=i.indexOf(e.id);c==-1?i.push(e.id):i.splice(c,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:p.elementsCensor(t)})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?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.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.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.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){if(void 0==t&&(t=this.current),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);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 e(a)+t(a.milliseconds()).trim();case"second":return e(a)+t(a.seconds()).trim();case"minute":return e(a)+t(a.minutes()).trim();case"hour":return"vis-h"+a.hours()+(4==this.step?"-h"+(a.hours()+4):"")+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":return"vis-day"+a.date()+" vis-"+a.format("MMMM").toLowerCase()+e(a)+o(a)+(this.step<=2?e(a):"")+(this.step<=2?" vis-"+a.format("dddd").toLowerCase():""+t(a.date()-1));case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var d=a.year();return"vis-year"+d+n(a)+t(d);default:return""}},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],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 s=i(58),r=o(s),a=i(1),h=i(115);i(116);n.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.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},n.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=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 e instanceof Object?i(t,this.dom.inner):void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?a.removeClassName(this.dom.inner,"vis-hidden"):a.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,a.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)a.removeClassName(this.dom.label,"collapsed"),a.addClassName(this.dom.label,"expanded");else{a.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";a.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(a.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(a.removeClassName(this.dom.label,this.className),a.removeClassName(this.dom.foreground,this.className),a.removeClassName(this.dom.background,this.className),a.removeClassName(this.dom.axis,this.className)),a.addClassName(this.dom.label,n),a.addClassName(this.dom.foreground,n),a.addClassName(this.dom.background,n),a.addClassName(this.dom.axis,n),this.className=n),this.style&&(a.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(a.addCssText(this.dom.label,t.style),this.style=t.style)},n.prototype.getLabelWidth=function(){return this.props.label.width},n.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,a.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var r=this,d=!1;a.forEach(this.items,function(t){t.displayed||(t.redraw(),r.visibleItems.push(t)),t.repositionX(d)});var l=this.orderedItems.byStart.slice().sort(function(t,e){return r.itemSet.options.order(t.data,e.data)});h.stack(l,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?h.stack(this.visibleItems,e,i):h.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var u=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=a.updateProperty(this,"height",u)||o,o=a.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=a.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=u+"px",this.dom.foreground.style.height=u+"px",this.dom.label.style.height=u+"px";for(var p=0,c=this.visibleItems.length;p0){var e=this;this.resetSubgroups(),a.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},n.prototype._isGroupVisible=function(t,e){var i=this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop;return i},n.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(a.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,a.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},n.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)},n.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)},n.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,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},n.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},n.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;i0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.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(101),i(117));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.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),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._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._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),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||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,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:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+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){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.popup=null,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={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(i.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable)))}var s=i(58),r=o(s),a=i(62),h=o(a),d=i(101),l=i(1),u=i(84);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.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={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(options.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable))),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;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 d(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)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=50,s=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=o+this.parent.top-n<-s;r?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var a,h;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(h=this.options.tooltipOnItemUpdateTime.template.bind(this),a=h(this.data)):(a="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(a+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=a}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.prototype._updateTitle=function(){null!=this.data.title&&null!=this.popup&&this.popup.setText(this.data.title||"")},n.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=(0,r.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-ot.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-o/2t.start&&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._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;if(void 0!==this.data.subgroup){var i=this.data.subgroup,o=this.parent.subgroups;o[i].index;this.dom.box.style.height=this.parent.subgroups[i].height+"px";var n=this.options.orientation.item;"top"==n?this.dom.box.style.top=this.parent.top+this.parent.subgroups[i].top+"px":this.dom.box.style.top=this.parent.top+this.parent.height-this.parent.subgroups[i].top-this.parent.subgroups[i].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top="top"==n?"0":"",this.dom.box.style.bottom="top"==n?"":"0"):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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:d.FORMAT,moment:u,timeAxis:null},this.options=a.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var s=i(62),r=o(s),a=i(1),h=i(108),d=i(113),l=i(109),u=i(84);n.prototype=new h,n.prototype.setOptions=function(t){t&&(a.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),a.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,r.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof u.locale?u.locale(t.locale):u.lang(t.locale)))},n.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"},n.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},n.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},n.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=a.convert(this.body.range.start,"Number"),i=a.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-l.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new d(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var h,u,c,f,m,g,v,y,b,_,w=0,x=void 0,D=0,S=1e3;for(s.start(),u=s.getCurrent(),f=this.body.util.toScreen(u);s.hasNext()&&D=.4*v;if(this.options.showMinorLabels&&k){var C=this._repaintMinorText(c,b,t,_);C.style.width=w+"px"}m&&this.options.showMajorLabels?(c>0&&(void 0==x&&(x=c),C=this._repaintMajorText(c,s.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||p||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+S+" lines."),p=!0),this.options.showMajorLabels){var T=this.body.util.toTime(0),M=s.getLabelMajor(T),O=M.length*(this.props.majorCharWidth||10)+10;(void 0==x||O1e3&&(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"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{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"},overrideItems:{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,function:"function"}},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,function:"function"}},__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},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:r,number:n,string:i,moment:d},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:a}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:a}},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,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,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,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}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');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 m(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(94),r=o(s),a=i(105),h=o(a),d=(i(106),i(101),i(84)),l=i(1),u=i(90),p=i(92),c=i(107),f=i(110),m=i(122),g=i(127),v=i(125),y=i(130),b=i(105).printStyle,_=i(138).allOptions,w=i(138).configureOptions; n.prototype=new f,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),f.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]))},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:e0&&d.push(u.screenToValue(n)),!p.hidden&&this.itemsData.length>0&&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){return t&&t.__esModule?t:{default:t}}function n(t,e){this.id=a.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=a.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=a.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 s=i(62),r=o(s),a=i(1),h=i(89),d=i(90),l=i(92),u=i(108),p=i(131),c=i(133),f=i(137),m=i(134),g=i(136),v=i(135),y="__ungrouped__";n.prototype=new u,n.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 p(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new p(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new f(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new f(this.body,this.options.legend,"right",this.options.groups),this.show()},n.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",""))0){var a={};for(this._getRelevantData(r,a,n,s),this._applySampling(r,a),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(r[e])||(l[r[e]]=g.calcPath(a[r[e]],t)),g.draw(l[r[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(a[r[e]],t,this.framework);break;case"bar":}}}return h.cleanupElements(this.svgElements),!1},n.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}},n.prototype._getRelevantData=function(t,e,i,o){var n,s,r,h;if(t.length>0)for(s=0;s0)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;l0){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]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},n.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=di?i:h,l=l=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 a=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(a=this.props.titleCharHeight);var d=this.options.icons===!0?Math.max(this.options.iconWidth,a)+this.options.labelOffsetX+15:a+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-d&&this.options.visible===!0?(this.width=this.maxLabelSize+d,this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+d),this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),e=!1),e},n.prototype.convertValue=function(t){return this.scale.convertValue(t)},n.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},n.prototype._redrawLabel=function(t,e,i,o,n){var s=h.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>.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;i<0&&(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&&ue.x?1:-1})):this.itemsData=[]},n.prototype.getItems=function(){return this.itemsData},n.prototype.setZeroPosition=function(t){this.zeroPosition=t},n.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];a.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),a.mergeOptions(this.options,t,"interpolation"),a.mergeOptions(this.options,t,"drawPoints"),a.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,r.default)(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))}},n.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||t.visible,this.style=t.style,this.setOptions(t.options)},n.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":d.drawIcon(this,o,n,t,e,i);break;case"points":case"point":l.drawIcon(this,o,n,t,e,i);break;case"bar":h.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},n.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=t0){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;n0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+p*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+p*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+c*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+c*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;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},n.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,r.default)(this.groups);t.sort(function(t,e){return te.x?1:-1})):this.itemsData=[]},n.prototype.getItems=function(){return this.itemsData},n.prototype.setZeroPosition=function(t){this.zeroPosition=t},n.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];a.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),a.mergeOptions(this.options,t,"interpolation"),a.mergeOptions(this.options,t,"drawPoints"),a.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,r.default)(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))}},n.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||t.visible,this.style=t.style,this.setOptions(t.options)},n.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":d.drawIcon(this,o,n,t,e,i);break;case"points":case"point":l.drawIcon(this,o,n,t,e,i);break;case"bar":h.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},n.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=t0){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;n0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+p*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+p*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+c*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+c*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;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},n.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,r.default)(this.groups);t.sort(function(t,e){return t this.start && newEnd < this.end) { + // compensate for a scale of 0.5 ms + var compensation = 0.5; + if (this.end - this.start === zoomMin && newStart >= this.start - compensation && newEnd <= this.end) { // ignore this action, we are already zoomed to the minimum newStart = this.start; newEnd = this.end; @@ -22114,6 +22123,8 @@ return /******/ (function(modules) { // webpackBootstrap // right-click on timeline this.body.dom.centerContainer.addEventListener('contextmenu', this._onDragEnd.bind(this)); + this.body.dom.centerContainer.addEventListener('mousewheel', this._onMouseWheel.bind(this)); + // attach to the DOM this.show(); }; @@ -23756,6 +23767,17 @@ return /******/ (function(modules) { // webpackBootstrap } }; + /** + * Handle mousewheel + * @param event + * @private + */ + ItemSet.prototype._onMouseWheel = function (event) { + if (this.touchParams.itemIsDragging) { + this._onDragEnd(event); + } + }; + /** * Handle updates of an item on double tap * @param event @@ -26827,15 +26849,14 @@ return /******/ (function(modules) { // webpackBootstrap /** * Check whether this item is visible inside given range - * @returns {{start: Number, end: Number}} range with a timestamp for start and end + * @param {{start: Number, end: Number}} range with a timestamp for start and end * @returns {boolean} True if visible */ BoxItem.prototype.isVisible = function (range) { // determine visibility var isVisible; var align = this.options.align; - var msPerPixel = (range.end - range.start) / range.body.dom.center.clientWidth; - var widthInMs = this.width * msPerPixel; + var widthInMs = this.width * range.getMillisecondsPerPixel(); if (align == 'right') { isVisible = this.data.start.getTime() > range.start && this.data.start.getTime() - widthInMs < range.end; @@ -27131,13 +27152,12 @@ return /******/ (function(modules) { // webpackBootstrap /** * Check whether this item is visible inside given range - * @returns {{start: Number, end: Number}} range with a timestamp for start and end + * @param {{start: Number, end: Number}} range with a timestamp for start and end * @returns {boolean} True if visible */ PointItem.prototype.isVisible = function (range) { // determine visibility - var msPerPixel = (range.end - range.start) / range.body.dom.center.clientWidth; - var widthInMs = this.width * msPerPixel; + var widthInMs = this.width * range.getMillisecondsPerPixel(); return this.data.start.getTime() + widthInMs > range.start && this.data.start < range.end; }; @@ -32247,15 +32267,15 @@ return /******/ (function(modules) { // webpackBootstrap visible: { 'boolean': bool }, alignZeros: { 'boolean': bool }, left: { - range: { min: { number: number }, max: { number: number }, __type__: { object: object } }, + range: { min: { number: number, 'undefined': 'undefined' }, max: { number: number, 'undefined': 'undefined' }, __type__: { object: object } }, format: { 'function': 'function' }, - title: { text: { string: string, number: number }, style: { string: string }, __type__: { object: object } }, + title: { text: { string: string, number: number, 'undefined': 'undefined' }, style: { string: string, 'undefined': 'undefined' }, __type__: { object: object } }, __type__: { object: object } }, right: { - range: { min: { number: number }, max: { number: number }, __type__: { object: object } }, + range: { min: { number: number, 'undefined': 'undefined' }, max: { number: number, 'undefined': 'undefined' }, __type__: { object: object } }, format: { 'function': 'function' }, - title: { text: { string: string, number: number }, style: { string: string }, __type__: { object: object } }, + title: { text: { string: string, number: number, 'undefined': 'undefined' }, style: { string: string, 'undefined': 'undefined' }, __type__: { object: object } }, __type__: { object: object } }, __type__: { object: object } @@ -35462,14 +35482,14 @@ return /******/ (function(modules) { // webpackBootstrap var words = blocks[j].text.split(" "); var atStart = true; var text = ""; - var measure = void 0; + var measure = { width: 0 }; var lastMeasure = void 0; var w = 0; while (w < words.length) { var pre = atStart ? "" : " "; lastMeasure = measure; measure = ctx.measureText(text + pre + words[w]); - if (lineWidth + measure.width > this.fontOptions.maxWdt) { + if (lineWidth + measure.width > this.fontOptions.maxWdt && lastMeasure.width != 0) { lineHeight = _values.height > lineHeight ? _values.height : lineHeight; lines.add(k, text, _values.font, _values.color, lastMeasure.width, _values.height, _values.vadjust, blocks[j].mod, _values.strokeWidth, _values.strokeColor); lines.accumulate(k, lastMeasure.width, lineHeight); @@ -35515,14 +35535,14 @@ return /******/ (function(modules) { // webpackBootstrap if (this.fontOptions.maxWdt > 0) { var _words = _nlLines[_i].split(" "); var _text = ""; - var _measure2 = void 0; + var _measure2 = { width: 0 }; var _lastMeasure = void 0; var _w = 0; while (_w < _words.length) { var _pre = _text === "" ? "" : " "; _lastMeasure = _measure2; _measure2 = ctx.measureText(_text + _pre + _words[_w]); - if (_measure2.width > this.fontOptions.maxWdt) { + if (_measure2.width > this.fontOptions.maxWdt && _lastMeasure.width != 0) { lines.addAndAccumulate(k, _text, _values3.font, _values3.color, _lastMeasure.width, _values3.size, _values3.vadjust, "normal", _values3.strokeWidth, _values3.strokeColor); width = lines[k].width > width ? lines[k].width : width; height += lines[k].height; @@ -36142,7 +36162,7 @@ return /******/ (function(modules) { // webpackBootstrap this.boundingBox.bottom = y + values.size; this.updateBoundingBox(x, y); - this.labelModule.draw(ctx, this.left + this.textSize.width / 2 + this.margin.left, this.top + this.textSize.height / 2 + this.margin.top, selected, hover); + this.labelModule.draw(ctx, this.left + this.textSize.width / 2 + this.margin.left, y, selected, hover); } }, { key: 'updateBoundingBox', @@ -36659,9 +36679,10 @@ return /******/ (function(modules) { // webpackBootstrap (0, _createClass3['default'])(Diamond, [{ key: 'resize', - value: function resize(ctx, values) { - var selected = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.selected; - var hover = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.hover; + value: function resize(ctx) { + var selected = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selected; + var hover = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.hover; + var values = arguments[3]; this._resizeShape(selected, hover, values); } @@ -36846,9 +36867,10 @@ return /******/ (function(modules) { // webpackBootstrap (0, _createClass3['default'])(Dot, [{ key: 'resize', - value: function resize(ctx, values) { - var selected = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.selected; - var hover = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.hover; + value: function resize(ctx) { + var selected = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selected; + var hover = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.hover; + var values = arguments[3]; this._resizeShape(selected, hover, values); } @@ -37204,11 +37226,11 @@ return /******/ (function(modules) { // webpackBootstrap ctx.save(); // if borders are zero width, they will be drawn with width 1 by default. This prevents that if (borderWidth > 0) { - this.enableBorderDashes(ctx); + this.enableBorderDashes(ctx, values); //draw the border ctx.stroke(); //disable dashed border for other elements - this.disableBorderDashes(ctx); + this.disableBorderDashes(ctx, values); } ctx.restore(); @@ -37361,7 +37383,7 @@ return /******/ (function(modules) { // webpackBootstrap (0, _createClass3['default'])(Star, [{ key: 'resize', - value: function resize(ctx, values, selected, hover) { + value: function resize(ctx, selected, hover, values) { this._resizeShape(selected, hover, values); } }, { @@ -39266,7 +39288,7 @@ return /******/ (function(modules) { // webpackBootstrap // draw line this._line(ctx, values, viaNode, fromPoint, toPoint); } else { - var _getCircleData2 = this._getCircleData(ctx, values), + var _getCircleData2 = this._getCircleData(ctx), _getCircleData3 = (0, _slicedToArray3['default'])(_getCircleData2, 3), x = _getCircleData3[0], y = _getCircleData3[1], @@ -39297,7 +39319,7 @@ return /******/ (function(modules) { // webpackBootstrap // draw line this._line(ctx, values, viaNode); } else { - var _getCircleData4 = this._getCircleData(ctx, values), + var _getCircleData4 = this._getCircleData(ctx), _getCircleData5 = (0, _slicedToArray3['default'])(_getCircleData4, 3), x = _getCircleData5[0], y = _getCircleData5[1], @@ -39316,7 +39338,7 @@ return /******/ (function(modules) { // webpackBootstrap // draw line ctx.dashedLine(this.from.x, this.from.y, this.to.x, this.to.y, pattern); } else { - var _getCircleData6 = this._getCircleData(ctx, values), + var _getCircleData6 = this._getCircleData(ctx), _getCircleData7 = (0, _slicedToArray3['default'])(_getCircleData6, 3), _x = _getCircleData7[0], _y = _getCircleData7[1], @@ -39570,7 +39592,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this.from != this.to) { returnValue = this._getDistanceToEdge(x1, y1, x2, y2, x3, y3, via); } else { - var _getCircleData10 = this._getCircleData(undefined, values), + var _getCircleData10 = this._getCircleData(undefined), _getCircleData11 = (0, _slicedToArray3['default'])(_getCircleData10, 3), x = _getCircleData11[0], y = _getCircleData11[1], @@ -45810,7 +45832,7 @@ return /******/ (function(modules) { // webpackBootstrap this.body.view.scale = scale; this.body.view.translation = { x: tx, y: ty }; - this.body.emitter.emit('zoom', { direction: '+', scale: this.body.view.scale, pointer: pointer }); + this.body.emitter.emit('zoom', { direction: '+', scale: this.body.view.scale, pointer: null }); } }, { key: '_zoomOut', @@ -45824,7 +45846,7 @@ return /******/ (function(modules) { // webpackBootstrap this.body.view.scale = scale; this.body.view.translation = { x: tx, y: ty }; - this.body.emitter.emit('zoom', { direction: '-', scale: this.body.view.scale, pointer: pointer }); + this.body.emitter.emit('zoom', { direction: '-', scale: this.body.view.scale, pointer: null }); } /** @@ -47176,9 +47198,11 @@ return /******/ (function(modules) { // webpackBootstrap // the main method to shift the trees var shiftTrees = function shiftTrees() { var treeSizes = getTreeSizes(); + var shiftBy = 0; for (var i = 0; i < treeSizes.length - 1; i++) { var diff = treeSizes[i].max - treeSizes[i + 1].min; - shiftTree(i + 1, diff + _this2.options.hierarchical.treeSpacing); + shiftBy += diff + _this2.options.hierarchical.treeSpacing; + shiftTree(i + 1, shiftBy); } }; diff --git a/dist/vis.map b/dist/vis.map index a597eeea..80d7bbeb 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","_interopRequireDefault","obj","__esModule","default","_getIterator2","_getIterator3","_create","_create2","_keys","_keys2","_typeof2","_typeof3","_stringify","_stringify2","moment","uuid","isNumber","object","Number","elementsCensor","replacer","key","value","Element","JSON","parse","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","randomUUID","v4","assignAllKeys","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","format","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","throttle","fn","scheduled","requestAnimationFrame","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","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","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","getScrollBarWidth","inner","document","createElement","width","height","outer","position","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","topMost","pile","accessors","candidate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","member","err","global","hide","Iterators","TO_STRING_TAG","collections","NAME","Collection","proto","prototype","addToUnscopables","step","toIObject","iterated","kind","_t","_i","_k","O","Arguments","IObject","defined","it","cof","propertyIsEnumerable","LIBRARY","$export","redefine","has","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","name","values","P","F","core","ctx","PROTOTYPE","source","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","apply","Function","virtual","R","U","self","__g","version","__e","aFunction","that","dP","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","defineProperty","Attributes","isObject","get","is","val","bitmap","enumerable","configurable","writable","create","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","toLength","toIndex","IS_INCLUDES","$this","el","fromIndex","toInteger","ceil","shared","uid","SHARED","store","px","random","concat","documentElement","def","tag","stat","Symbol","USE_SYMBOL","$exports","toObject","ObjectProto","$at","point","TO_STRING","pos","l","charCodeAt","charAt","getIterator","iterFn","classof","getIteratorMethod","ARG","tryGet","T","callee","$Object","D","fails","KEY","exp","_iterator2","_symbol","_symbol2","_typeof","DESCRIPTORS","META","$fails","wks","wksExt","wksDefine","keyOf","enumKeys","gOPNExt","$GOPD","$DP","gOPD","gOPN","$Symbol","$JSON","stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","set","symbols","for","keyFor","useSetter","useSimple","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","$replacer","args","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","gOPS","pIE","getSymbols","arg","windowNames","getWindowNames","hiddenKeys","hooks","hookCallback","setHookCallback","input","isObjectEmpty","res","hasOwnProp","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","some$1","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","isUndefined","copyConfig","to","from","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","stack","deprecateSimple","deprecations","isFunction","_config","_ordinalParseLenient","RegExp","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","now","output","_calendar","longDateFormat","_longDateFormat","formatUpper","toUpperCase","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","u","sort","makeGetSet","keepTime","set$1","stringGet","stringSet","prioritized","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","addFormatToken","token","padded","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","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","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","indexOf$1","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","isLeapYear","getIsLeapYear","createDate","y","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","oldLocale","locales","globalLocale","_abbr","code","getSetGlobalLocale","data","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","x","updateLocale","listLocales","keys$1","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","weekdayOverflow","GG","createLocal","curWeek","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","hour","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","duration","years","quarters","quarter","weeks","days","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","addSubtract","createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","inspect","zone","prefix","datetime","suffix","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toJSON","isValid$1","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","toISOString$1","abs$1","Y","asSeconds","some","fun","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","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","o","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","ordinalParse","meridiemParse","prototypeMin","prototypeMax","lang","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","invalid","relativeTimeRounding","relativeTimeThreshold","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","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","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","groupTemplate","labelObj","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","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","removedIds","removedItems","_remove","ident","clear","maxField","itemField","minField","distinct","fieldType","count","exists","types","raw","converted","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","original","method","context","entry","clearTimeout","setTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","viewOptions","getArguments","defaultFilter","dataSet","oldItems","updatedItems","container","SyntaxError","containerElement","dataTable","dataPoints","Settings","setDefaults","DEFAULTS","colX","colY","colZ","colValue","colFilter","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","Range","STYLE","autoByDefault","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter","DOT","tooltip","showLegend","backgroundColor","dataColor","fill","stroke","strokeWidth","cameraPosition","horizontal","vertical","distance","xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep","_setScale","xRange","range","yRange","zRange","z","valueRange","center","zCenter","camera","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","cameraLocation","getCameraLocation","cameraRotation","getCameraRotation","ax","ay","az","cx","cy","cz","sinTx","sin","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","eye","ey","ez","getArmLength","currentXCenter","frame","canvas","currentYCenter","_calcTranslations","points","trans","screen","transBottom","bottom","dist","sortDepth","getNumberOfRows","getNumberOfColumns","counter","column","getDistinctValues","distinctValues","getColumnRange","_checkValueField","hasValueField","BARCOLOR","BARSIZE","DOTCOLOR","DOTSIZE","_setRangeDefaults","defaultMin","defaultMax","_dataInitialize","rawData","_onChange","withBars","BAR","defaultXBarWidth","dataX","defaultYBarWidth","dataY","NUMSTEPS","expand","defaultXMin","defaultXMax","defaultXStep","defaultYMin","defaultYMax","defaultYStep","defaultZMin","defaultZMax","defaultZStep","defaultValueMin","defaultValueMax","dataFilter","setOnLoadCallback","redraw","_getDataPoints","GRID","SURFACE","sortNumber","dataMatrix","xIndex","yIndex","pointRight","pointTop","pointCross","LINE","pointNext","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onclick","_onClick","onkeydown","_setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","getCameraPosition","getArmRotation","_readData","_redrawFilter","setPointDrawingMethod","_redrawBarGraphPoint","_redrawBarColorGraphPoint","_redrawBarSizeGraphPoint","_redrawDotGraphPoint","DOTLINE","_redrawDotLineGraphPoint","_redrawDotColorGraphPoint","_redrawDotSizeGraphPoint","_redrawSurfaceGraphPoint","_redrawGridGraphPoint","_redrawLineGraphPoint","_pointDrawingMethod","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGraph","_redrawInfo","_redrawLegend","_getContext","getContext","lineJoin","lineCap","clearRect","_dotSize","_getLegendWidth","dotSize","isSizeLegend","isValueLegend","margin","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","widthMin","fillStyle","closePath","gridLineLen","legendMin","legendMax","start","end","getCurrent","_line","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","drawAxisLabelX","text","armAngle","yMargin","point2d","drawAxisLabelY","drawAxisLabelZ","_line3d","from2d","to2d","prettyStep","xText","yText","zText","gridLenX","gridLenY","textMargin","armVector","from3d","xMin2d","xMax2d","H","V","Hi","X","_getStrokeWidth","_redrawBar","xWidth","yWidth","borderColor","surface","surfaces","corners","avg","transCenter","_polygon","_drawCircle","radius","_calcRadius","arc","PI","_getColorsRegular","_getColorsColor","_getColorsSize","colors","fraction","cross","topSideVisible","showGrayBottom","aDiff","bDiff","crossproduct","crossProduct","zAvg","_drawGridLine","_storeMousePosition","startMouseX","startMouseY","_startCameraOffset","getOffset","leftButtonDown","_onMouseUp","which","button","touchDown","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","moving","diffX","diffY","ctrlKey","scaleX","scaleY","offXNew","armLength","offYNew","setOffset","horizontalNew","verticalNew","snapAngle","snapValue","setArmRotation","parameters","emit","onclick_callback","boundingRect","mouseX","mouseY","dataPoint","_dataPointFromXY","showTooltip","tooltipTimeout","_hideTooltip","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","setArmLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","setCameraPosition","setSize","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","cameraOffset","offsetMultiplier","calculateCameraOrientation","_sign","_sign2","mul","rot","xa","za","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","precision","_current","setRange","isNumeric","setStep","calculatePrettyStep","log10","log","LN10","step1","step2","step5","toPrecision","getStep","checkFirst","combine","newMin","newMax","isEmpty","capitalize","str","prefixFieldName","fieldName","forceCopy","dst","srcKey","dstKey","safeCopy","OPTIONKEYS","PREFIXEDOPTIONKEYS","setSpecialSettings","setBackgroundColor","setDataColor","setStyle","setShowLegend","isAutoByDefault","isLegendGraphStyle","getStyleNumberByName","styleName","STYLENAME","checkStyleNumber","valid","styleNumber","borderWidth","borderStyle","camPos","dot-line","dot-color","dot-size","grid","bar-color","bar-size","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","timeout","bindFn","invokeArrayArg","each","message","deprecationMessage","inherit","child","properties","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","property","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","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","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","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","DEDUP_TIMEOUT","isSyntheticEvent","DEDUP_DISTANCE","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","getTouchActionProps","NATIVE_TOUCH_ACTION","touchMap","cssSupports","CSS","supports","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","oldCssProps","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","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_MAP","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","fromCharCode","down","handleEvent","up","keyCode","bound","shiftKey","bindAll","getKey","unbind","newBindings","Timeline","Graph2d","timeline","Core","DateUtil","TimeStep","components","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","DataScale","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","groups","forthArgument","throttleRedraw","defaultOptions","autoResize","orientation","axis","maxHeight","minHeight","rtl","directionFromDom","domNode","getComputedStyle","parentElement","rollingMode","domProps","emitter","hiddenDates","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","ondblclick","oncontextmenu","onmouseover","fitDone","getItemRange","setWindow","animation","fit","setGroups","setItems","_redraw","_Configurator","_Configurator2","_Validator","_Validator2","printStyle","allOptions","configureOptions","_createConfigurator","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","group","focus","itemData","dataset","getDataRange","_this","minItem","maxItem","factor","lhs","rhs","getStart","getEnd","groupShowing","show","repositionX","startSide","getWidthRight","endSide","getWidthLeft","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","pageY","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","_ColorPicker","_ColorPicker2","Configurator","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseout","optionsContainer","_push","_showPopupIfNeeded","path","_arguments","_this2","_len","_key","_ret2","div","objectLabel","select","selectedValue","selected","_update","_makeLabel","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","instance","_defineProperty","_defineProperty2","protoProps","staticProps","desc","hammerUtil","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","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","_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","rolling","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","rollingModeBtn","startRolling","validateDirection","stopRolling","conversion","currentTimeTimer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","_applyRange","updateHiddenDates","newStart","newEnd","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","startDate","endDate","zoomKey","horizontalScroll","pointerDate","getPointer","_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","hiddenBeforeStart","getHiddenDurationBeforeStart","rangeAfterEnd","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","Activator","onMouseWheel","isActive","verticalScroll","scrollTop","adjusted","_setScrollTop","onMouseScrollSide","handleDragOver","itemAddedToTimeline","dataTransfer","dropEffect","handleDrop","getData","_onAddItem","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","scrollTopMin","initialDrawDone","_origRedraw","initialItemSetDrawn","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","removeCustomTime","getVisibleItems","getWindow","zoomIn","percentage","newInterval","zoomOut","borderRootHeight","borderRootWidth","autoHeight","containerHeight","scrollbarWidth","_setDOM","_updateScrollTop","visibilityTop","visibilityBottom","contentsOverflow","MAX_REDRAW","centerWidth","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","align","stackSubgroups","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","overrideItems","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","followMouse","overflowMethod","tooltipOnItemUpdateTime","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","groupTouchParams","_Popup","_Popup2","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","groupHammer","_onGroupClick","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","_onMouseOver","_onMouseOut","addCallback","dirty","displayed","unselect","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","nestedGroups","nestedGroupId","updatedNestedGroup","nestedInGroup","showNested","_order","getGroups","removeItem","itemObj","popup","_getType","_removeItem","groupData","groupOptions","_orderNestedGroups","newGroupIdsOrder","nestedGroup","nestedGroupIds","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","itemIsDragging","selectedItem","initialX","dragLeft","_cloneItemData","dragRight","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","updateTimeAllowed","initialEnd","initialStart","newOffset","_moveToGroup","collapsedDirClassName","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","related","itemFromRelatedTarget","getTitle","setPopup","setPosition","offsetTop","_onUpdateItem","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemFromElement","cur","relatedTarget","itemSetFromTarget","Popup","doShow","maxWidth","isLeft","isTop","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","_moment","currentWeek","currentMonth","currentYear","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","isVisible","itemsInRange","byStart","byEnd","checkRangedItems","marker","templateFunction","paddingRight","paddingLeft","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","_isGroupVisible","limitSize","customOrderedItems","_updateItemsInRange","nostack","_updateSubgroupsSizes","_calculateHeight","repositionY","resetSubgroups","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","EPSILON","aTime","bTime","collidingItem","jj","collision","otherSubgroup","collisionByTimes","baseClassName","visibleFrame","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","_repaintOnItemUpdateTimeTooltip","_repaintDeleteButton","_repaintDragCenter","_repaintDragLeft","_repaintDragRight","contentStartPosition","parentWidth","boxWidth","groupChanged","dragCenter","dragCenterItem","deleteButton","onItemUpdateTimeTooltip","itemDistanceFromTop","tooltipOffset","isCloseToTop","template","itemVisibleFrameContent","visibleFrameTemplateFunction","frameElement","itemVisibleFrameContentElement","getElementsByClassName","visibleFrameTemplate","_contentToString","setText","dataAttributes","attributes","setAttribute","removeAttribute","outerHTML","msPerPixel","widthInMs","previousRight","previousLeft","itemSetHeight","marginLeft","marginRight","itemSubgroup","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","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","eventParams","warned","substring","showCurrentTime","bool","any","boolean","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","idMap","groupCounts","existing_items","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","vadjust","multi","bold","mod","boldital","ital","mono","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","nodeOptions","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","choosify","imageObj","load","propagateFonts","chooser","chosen","chosenNode","shadowColor","shadowSize","shadowX","shadowY","constrain","distanceToBorder","sizeDiff","fontDiff","getFormattingValues","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray2","_slicedToArray3","Label","edgelabel","pointToSelf","fontOptions","yLine","isEdgeLabel","elementOptions","labelDirty","constrainWidth","maxWdt","minWdt","widthConstraint","widthConstraintMaximum","widthConstraintMinimum","constrainHeight","minHgt","valign","heightConstraint","heightConstraintMinimum","heightConstraintValign","chosenLabel","margins","widthBias","heightBias","mods","optionsFontMod","modOptionsArray","ratio","_ratio","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_setAlignment2","_setAlignment","_setAlignment3","labelHeight","lineCount","blocks","block","_getColor2","_getColor","_getColor3","fontColor","strokeText","initialStrokeColor","_processLabel","markupSystem","system","decodeMarkupSystem","splitMarkdownBlocks","splitHtmlBlocks","beginable","spacing","buffer","modStack","modName","emitBlock","ch","unshift","selectedState","hoverState","accumulate","addAndAccumulate","_nlLines","splitBlocks","_values","words","atStart","measure","lastMeasure","pre","measureText","_values2","_measure","_values3","_words","_text","_measure2","_lastMeasure","_pre","_text2","_measure3","newOptionsArray","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_e","_s","isIterable","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_NodeBase2","_NodeBase3","Box","_NodeBase","__proto__","_setMargins","differentState","textSize","getTextSize","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","$getPrototypeOf","ReferenceError","_setPrototypeOf","_setPrototypeOf2","subClass","superClass","setPrototypeOf","buggy","NodeBase","adjustSizes","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","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","neutralborderWidth","selectionLineWidth","Square","Star","Text","Triangle","TriangleDown","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","arrowStrikethrough","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","updateEdgeType","_edgeId","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","_CubicBezierEdge","_CubicBezierEdge2","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","Edge","baseWidth","edgeType","connected","_setInteractionWidths","chosenEdge","toArrow","fromArrow","middleArrow","inheritsColor","toArrowScale","toArrowType","middleArrowScale","middleArrowType","fromArrowScale","fromArrowType","selectedWidth","changeInType","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","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","colorDirty","getColor","_drawDashedLine","_drawLine","_getCircleData2","_getCircleData","_getCircleData3","_circle","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData8","_getCircleData9","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData10","_getCircleData11","py","something","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData12","_getCircleData13","xi","yi","arrowCore","circleEndpoint","arrowEndpoint","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","cr","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","childNodeIDs","childNode","childEdge","clusterEdgeProperties","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","edgeReplacedById","_backupEdgeOptions","allowSingleNodeCluster","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","clusteredNodeId","startEdgeId","allEdgeIds","getClusteredEdges","clusteredEdgeId","baseEdgeId","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node3","Cluster","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","canvasViewCenter","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","InteractionHandler","navigationHandler","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","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","overlappingEdges","popupTargetType","popupTargetId","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","mindist","overlappingEdge","_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","editWithoutDrag","edgeBeingEditedId","_performEditEdge","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","fromSelect","toSelect","overlappingNodeIds","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","eeFunct","maximum","minimum","_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","xc","yc","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"} \ 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","_interopRequireDefault","obj","__esModule","default","_getIterator2","_getIterator3","_create","_create2","_keys","_keys2","_typeof2","_typeof3","_stringify","_stringify2","moment","uuid","isNumber","object","Number","elementsCensor","replacer","key","value","Element","JSON","parse","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","randomUUID","v4","assignAllKeys","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","format","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","throttle","fn","scheduled","requestAnimationFrame","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","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","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","getScrollBarWidth","inner","document","createElement","width","height","outer","position","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","topMost","pile","accessors","candidate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","member","err","global","hide","Iterators","TO_STRING_TAG","collections","NAME","Collection","proto","prototype","addToUnscopables","step","toIObject","iterated","kind","_t","_i","_k","O","Arguments","IObject","defined","it","cof","propertyIsEnumerable","LIBRARY","$export","redefine","has","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","name","values","P","F","core","ctx","PROTOTYPE","source","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","apply","Function","virtual","R","U","self","__g","version","__e","aFunction","that","dP","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","defineProperty","Attributes","isObject","get","is","val","bitmap","enumerable","configurable","writable","create","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","toLength","toIndex","IS_INCLUDES","$this","el","fromIndex","toInteger","ceil","shared","uid","SHARED","store","px","random","concat","documentElement","def","tag","stat","Symbol","USE_SYMBOL","$exports","toObject","ObjectProto","$at","point","TO_STRING","pos","l","charCodeAt","charAt","getIterator","iterFn","classof","getIteratorMethod","ARG","tryGet","T","callee","$Object","D","fails","KEY","exp","_iterator2","_symbol","_symbol2","_typeof","DESCRIPTORS","META","$fails","wks","wksExt","wksDefine","keyOf","enumKeys","gOPNExt","$GOPD","$DP","gOPD","gOPN","$Symbol","$JSON","stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","set","symbols","for","keyFor","useSetter","useSimple","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","$replacer","args","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","gOPS","pIE","getSymbols","arg","windowNames","getWindowNames","hiddenKeys","hooks","hookCallback","setHookCallback","input","isObjectEmpty","res","hasOwnProp","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","some$1","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","isUndefined","copyConfig","to","from","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","stack","deprecateSimple","deprecations","isFunction","_config","_ordinalParseLenient","RegExp","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","now","output","_calendar","longDateFormat","_longDateFormat","formatUpper","toUpperCase","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","u","sort","makeGetSet","keepTime","set$1","stringGet","stringSet","prioritized","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","addFormatToken","token","padded","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","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","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","indexOf$1","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","isLeapYear","getIsLeapYear","createDate","y","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","oldLocale","locales","globalLocale","_abbr","code","getSetGlobalLocale","data","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","x","updateLocale","listLocales","keys$1","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","weekdayOverflow","GG","createLocal","curWeek","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","hour","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","duration","years","quarters","quarter","weeks","days","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","addSubtract","createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","inspect","zone","prefix","datetime","suffix","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toJSON","isValid$1","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","toISOString$1","abs$1","Y","asSeconds","some","fun","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","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","o","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","ordinalParse","meridiemParse","prototypeMin","prototypeMax","lang","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","invalid","relativeTimeRounding","relativeTimeThreshold","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","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","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","groupTemplate","labelObj","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","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","removedIds","removedItems","_remove","ident","clear","maxField","itemField","minField","distinct","fieldType","count","exists","types","raw","converted","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","original","method","context","entry","clearTimeout","setTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","viewOptions","getArguments","defaultFilter","dataSet","oldItems","updatedItems","container","SyntaxError","containerElement","dataTable","dataPoints","Settings","setDefaults","DEFAULTS","colX","colY","colZ","colValue","colFilter","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","Range","STYLE","autoByDefault","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter","DOT","tooltip","showLegend","backgroundColor","dataColor","fill","stroke","strokeWidth","cameraPosition","horizontal","vertical","distance","xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep","_setScale","xRange","range","yRange","zRange","z","valueRange","center","zCenter","camera","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","cameraLocation","getCameraLocation","cameraRotation","getCameraRotation","ax","ay","az","cx","cy","cz","sinTx","sin","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","eye","ey","ez","getArmLength","currentXCenter","frame","canvas","currentYCenter","_calcTranslations","points","trans","screen","transBottom","bottom","dist","sortDepth","getNumberOfRows","getNumberOfColumns","counter","column","getDistinctValues","distinctValues","getColumnRange","_checkValueField","hasValueField","BARCOLOR","BARSIZE","DOTCOLOR","DOTSIZE","_setRangeDefaults","defaultMin","defaultMax","_dataInitialize","rawData","_onChange","withBars","BAR","defaultXBarWidth","dataX","defaultYBarWidth","dataY","NUMSTEPS","expand","defaultXMin","defaultXMax","defaultXStep","defaultYMin","defaultYMax","defaultYStep","defaultZMin","defaultZMax","defaultZStep","defaultValueMin","defaultValueMax","dataFilter","setOnLoadCallback","redraw","_getDataPoints","GRID","SURFACE","sortNumber","dataMatrix","xIndex","yIndex","pointRight","pointTop","pointCross","LINE","pointNext","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onclick","_onClick","onkeydown","_setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","getCameraPosition","getArmRotation","_readData","_redrawFilter","setPointDrawingMethod","_redrawBarGraphPoint","_redrawBarColorGraphPoint","_redrawBarSizeGraphPoint","_redrawDotGraphPoint","DOTLINE","_redrawDotLineGraphPoint","_redrawDotColorGraphPoint","_redrawDotSizeGraphPoint","_redrawSurfaceGraphPoint","_redrawGridGraphPoint","_redrawLineGraphPoint","_pointDrawingMethod","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGraph","_redrawInfo","_redrawLegend","_getContext","getContext","lineJoin","lineCap","clearRect","_dotSize","_getLegendWidth","dotSize","isSizeLegend","isValueLegend","margin","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","widthMin","fillStyle","closePath","gridLineLen","legendMin","legendMax","start","end","getCurrent","_line","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","drawAxisLabelX","text","armAngle","yMargin","point2d","drawAxisLabelY","drawAxisLabelZ","_line3d","from2d","to2d","prettyStep","xText","yText","zText","gridLenX","gridLenY","textMargin","armVector","from3d","xMin2d","xMax2d","H","V","Hi","X","_getStrokeWidth","_redrawBar","xWidth","yWidth","borderColor","surface","surfaces","corners","avg","transCenter","_polygon","_drawCircle","radius","_calcRadius","arc","PI","_getColorsRegular","_getColorsColor","_getColorsSize","colors","fraction","cross","topSideVisible","showGrayBottom","aDiff","bDiff","crossproduct","crossProduct","zAvg","_drawGridLine","_storeMousePosition","startMouseX","startMouseY","_startCameraOffset","getOffset","leftButtonDown","_onMouseUp","which","button","touchDown","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","moving","diffX","diffY","ctrlKey","scaleX","scaleY","offXNew","armLength","offYNew","setOffset","horizontalNew","verticalNew","snapAngle","snapValue","setArmRotation","parameters","emit","onclick_callback","boundingRect","mouseX","mouseY","dataPoint","_dataPointFromXY","showTooltip","tooltipTimeout","_hideTooltip","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","setArmLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","setCameraPosition","setSize","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","cameraOffset","offsetMultiplier","calculateCameraOrientation","_sign","_sign2","mul","rot","xa","za","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","precision","_current","setRange","isNumeric","setStep","calculatePrettyStep","log10","log","LN10","step1","step2","step5","toPrecision","getStep","checkFirst","combine","newMin","newMax","isEmpty","capitalize","str","prefixFieldName","fieldName","forceCopy","dst","srcKey","dstKey","safeCopy","OPTIONKEYS","PREFIXEDOPTIONKEYS","setSpecialSettings","setBackgroundColor","setDataColor","setStyle","setShowLegend","isAutoByDefault","isLegendGraphStyle","getStyleNumberByName","styleName","STYLENAME","checkStyleNumber","valid","styleNumber","borderWidth","borderStyle","camPos","dot-line","dot-color","dot-size","grid","bar-color","bar-size","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","timeout","bindFn","invokeArrayArg","each","message","deprecationMessage","inherit","child","properties","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","property","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","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","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","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","DEDUP_TIMEOUT","isSyntheticEvent","DEDUP_DISTANCE","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","getTouchActionProps","NATIVE_TOUCH_ACTION","touchMap","cssSupports","CSS","supports","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","oldCssProps","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","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_MAP","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","fromCharCode","down","handleEvent","up","keyCode","bound","shiftKey","bindAll","getKey","unbind","newBindings","Timeline","Graph2d","timeline","Core","DateUtil","TimeStep","components","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","DataScale","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","groups","forthArgument","throttleRedraw","defaultOptions","autoResize","orientation","axis","maxHeight","minHeight","rtl","directionFromDom","domNode","getComputedStyle","parentElement","rollingMode","domProps","emitter","hiddenDates","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","ondblclick","oncontextmenu","onmouseover","fitDone","getItemRange","setWindow","animation","fit","setGroups","setItems","_redraw","_Configurator","_Configurator2","_Validator","_Validator2","printStyle","allOptions","configureOptions","_createConfigurator","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","group","focus","itemData","dataset","getDataRange","_this","minItem","maxItem","factor","lhs","rhs","getStart","getEnd","groupShowing","show","repositionX","startSide","getWidthRight","endSide","getWidthLeft","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","pageY","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","_ColorPicker","_ColorPicker2","Configurator","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseout","optionsContainer","_push","_showPopupIfNeeded","path","_arguments","_this2","_len","_key","_ret2","div","objectLabel","select","selectedValue","selected","_update","_makeLabel","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","instance","_defineProperty","_defineProperty2","protoProps","staticProps","desc","hammerUtil","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","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","_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","rolling","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","rollingModeBtn","startRolling","validateDirection","stopRolling","conversion","currentTimeTimer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","_applyRange","updateHiddenDates","getMillisecondsPerPixel","newStart","newEnd","compensation","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","startDate","endDate","zoomKey","horizontalScroll","pointerDate","getPointer","_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","hiddenBeforeStart","getHiddenDurationBeforeStart","rangeAfterEnd","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","Activator","onMouseWheel","isActive","verticalScroll","scrollTop","adjusted","_setScrollTop","onMouseScrollSide","handleDragOver","itemAddedToTimeline","dataTransfer","dropEffect","handleDrop","getData","_onAddItem","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","scrollTopMin","initialDrawDone","_origRedraw","initialItemSetDrawn","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","removeCustomTime","getVisibleItems","getWindow","zoomIn","percentage","newInterval","zoomOut","borderRootHeight","borderRootWidth","autoHeight","containerHeight","scrollbarWidth","_setDOM","_updateScrollTop","visibilityTop","visibilityBottom","contentsOverflow","MAX_REDRAW","centerWidth","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","align","stackSubgroups","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","overrideItems","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","followMouse","overflowMethod","tooltipOnItemUpdateTime","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","groupTouchParams","_Popup","_Popup2","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","groupHammer","_onGroupClick","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","_onMouseOver","_onMouseOut","addCallback","dirty","displayed","unselect","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","nestedGroups","nestedGroupId","updatedNestedGroup","nestedInGroup","showNested","_order","getGroups","removeItem","itemObj","popup","_getType","_removeItem","groupData","groupOptions","_orderNestedGroups","newGroupIdsOrder","nestedGroup","nestedGroupIds","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","itemIsDragging","selectedItem","initialX","dragLeft","_cloneItemData","dragRight","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","updateTimeAllowed","initialEnd","initialStart","newOffset","_moveToGroup","collapsedDirClassName","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","related","itemFromRelatedTarget","getTitle","setPopup","setPosition","offsetTop","_onUpdateItem","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemFromElement","cur","relatedTarget","itemSetFromTarget","Popup","doShow","maxWidth","isLeft","isTop","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","_moment","currentWeek","currentMonth","currentYear","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","isVisible","itemsInRange","byStart","byEnd","checkRangedItems","marker","templateFunction","paddingRight","paddingLeft","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","_isGroupVisible","limitSize","customOrderedItems","_updateItemsInRange","nostack","_updateSubgroupsSizes","_calculateHeight","repositionY","resetSubgroups","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","EPSILON","aTime","bTime","collidingItem","jj","collision","otherSubgroup","collisionByTimes","baseClassName","visibleFrame","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","_repaintOnItemUpdateTimeTooltip","_repaintDeleteButton","_repaintDragCenter","_repaintDragLeft","_repaintDragRight","contentStartPosition","parentWidth","boxWidth","groupChanged","dragCenter","dragCenterItem","deleteButton","onItemUpdateTimeTooltip","itemDistanceFromTop","tooltipOffset","isCloseToTop","template","itemVisibleFrameContent","visibleFrameTemplateFunction","frameElement","itemVisibleFrameContentElement","getElementsByClassName","visibleFrameTemplate","_contentToString","setText","dataAttributes","attributes","setAttribute","removeAttribute","outerHTML","widthInMs","previousRight","previousLeft","itemSetHeight","marginLeft","marginRight","itemSubgroup","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","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","eventParams","warned","substring","showCurrentTime","bool","any","boolean","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","idMap","groupCounts","existing_items","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","vadjust","multi","bold","mod","boldital","ital","mono","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","nodeOptions","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","choosify","imageObj","load","propagateFonts","chooser","chosen","chosenNode","shadowColor","shadowSize","shadowX","shadowY","constrain","distanceToBorder","sizeDiff","fontDiff","getFormattingValues","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray2","_slicedToArray3","Label","edgelabel","pointToSelf","fontOptions","yLine","isEdgeLabel","elementOptions","labelDirty","constrainWidth","maxWdt","minWdt","widthConstraint","widthConstraintMaximum","widthConstraintMinimum","constrainHeight","minHgt","valign","heightConstraint","heightConstraintMinimum","heightConstraintValign","chosenLabel","margins","widthBias","heightBias","mods","optionsFontMod","modOptionsArray","ratio","_ratio","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_setAlignment2","_setAlignment","_setAlignment3","labelHeight","lineCount","blocks","block","_getColor2","_getColor","_getColor3","fontColor","strokeText","initialStrokeColor","_processLabel","markupSystem","system","decodeMarkupSystem","splitMarkdownBlocks","splitHtmlBlocks","beginable","spacing","buffer","modStack","modName","emitBlock","ch","unshift","selectedState","hoverState","accumulate","addAndAccumulate","_nlLines","splitBlocks","_values","words","atStart","measure","lastMeasure","pre","measureText","_values2","_measure","_values3","_words","_text","_measure2","_lastMeasure","_pre","_text2","_measure3","newOptionsArray","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_e","_s","isIterable","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_NodeBase2","_NodeBase3","Box","_NodeBase","__proto__","_setMargins","differentState","textSize","getTextSize","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","$getPrototypeOf","ReferenceError","_setPrototypeOf","_setPrototypeOf2","subClass","superClass","setPrototypeOf","buggy","NodeBase","adjustSizes","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","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","neutralborderWidth","selectionLineWidth","Square","Star","Text","Triangle","TriangleDown","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","arrowStrikethrough","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","updateEdgeType","_edgeId","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","_CubicBezierEdge","_CubicBezierEdge2","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","Edge","baseWidth","edgeType","connected","_setInteractionWidths","chosenEdge","toArrow","fromArrow","middleArrow","inheritsColor","toArrowScale","toArrowType","middleArrowScale","middleArrowType","fromArrowScale","fromArrowType","selectedWidth","changeInType","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","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","colorDirty","getColor","_drawDashedLine","_drawLine","_getCircleData2","_getCircleData","_getCircleData3","_circle","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData8","_getCircleData9","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData10","_getCircleData11","py","something","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData12","_getCircleData13","xi","yi","arrowCore","circleEndpoint","arrowEndpoint","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","cr","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","childNodeIDs","childNode","childEdge","clusterEdgeProperties","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","edgeReplacedById","_backupEdgeOptions","allowSingleNodeCluster","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","clusteredNodeId","startEdgeId","allEdgeIds","getClusteredEdges","clusteredEdgeId","baseEdgeId","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node3","Cluster","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","canvasViewCenter","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","InteractionHandler","navigationHandler","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","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","overlappingEdges","popupTargetType","popupTargetId","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","mindist","overlappingEdge","_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","shiftBy","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","editWithoutDrag","edgeBeingEditedId","_performEditEdge","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","fromSelect","toSelect","overlappingNodeIds","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","eeFunct","maximum","minimum","_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","xc","yc","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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WD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,O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","file":"vis"} \ No newline at end of file diff --git a/dist/vis.min.css b/dist/vis.min.css index 3925eb8c..bb67cb35 100644 --- a/dist/vis.min.css +++ b/dist/vis.min.css @@ -1 +1 @@ -.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper::after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380', GradientType=0 );box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8', GradientType=0 )}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:rgba(0,0,0,.5) 0 0 10px 0}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow::after,div.vis-color-picker div.vis-arrow::before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(to bottom,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313', GradientType=0 )}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{width:140px;height:20px;top:380px;font-size:10px;color:rgba(0,0,0,.4);line-height:20px;vertical-align:middle;position:absolute}div.vis-color-picker div.vis-new-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px}div.vis-network div.vis-manipulation{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0 );padding-top:4px;position:absolute;left:0;top:0;width:100%;height:28px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:5px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{float:left;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin-left:10px;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(img/network/backIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:700}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(img/network/addNodeIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit,div.vis-network div.vis-manipulation div.vis-button.vis-edit{background-image:url(img/network/editIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(img/network/connectIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(img/network/deleteIcon.png)}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{float:left;display:inline-block;width:1px;height:21px;background-color:#bdbdbd;margin:0 7px 0 15px}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px}.vis-current-time{background-color:#FF7F6E;width:2px;z-index:1;pointer-events:none}.vis-rolling-mode-btn{height:40px;width:40px;position:absolute;top:7px;right:20px;border-radius:50%;font-size:28px;cursor:pointer;opacity:.8;color:#fff;font-weight:700;text-align:center;background:#3876c2}.vis-rolling-mode-btn:before{content:"\26F6"}.vis-rolling-mode-btn:hover{opacity:1}.vis-custom-time{background-color:#6E94FF;width:2px;cursor:move;z-index:1}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor{border-color:#e5e5e5}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major{border-color:#bfbfbf}.vis-data-axis .vis-y-axis.vis-major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-major.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-minor.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis-data-axis .vis-y-axis.vis-title.vis-measure{padding:0;margin:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title.vis-left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis-data-axis .vis-y-axis.vis-title.vis-right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.vis-legend{background-color:rgba(247,252,255,.65);padding:5px;border:1px solid #b3b3b3;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis-legend-text{white-space:nowrap;display:inline-block}.vis-item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block}.vis-item.vis-point.vis-selected,.vis-item.vis-selected{background-color:#FFF785}.vis-item.vis-selected{border-color:#FFC200;z-index:2}.vis-editable.vis-selected{cursor:move}.vis-item.vis-box{text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-point{background:0 0}.vis-item.vis-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-item.vis-range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis-item.vis-background{border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis-item .vis-item-overflow{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden}.vis-item-visible-frame{white-space:nowrap}.vis-item.vis-range .vis-item-content{position:relative;display:inline-block}.vis-item.vis-background .vis-item-content{position:absolute;display:inline-block}.vis-item.vis-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item .vis-item-content{white-space:nowrap;box-sizing:border-box;padding:5px}.vis-item .vis-onUpdateTime-tooltip{position:absolute;background:#4f81bd;color:#fff;width:200px;text-align:center;white-space:nowrap;padding:5px;border-radius:1px}.vis-item .vis-delete,.vis-item .vis-delete-rtl{position:absolute;top:0;width:24px;height:24px;box-sizing:border-box;padding:0 5px;cursor:pointer;-webkit-transition:background .2s linear;-moz-transition:background .2s linear;-ms-transition:background .2s linear;-o-transition:background .2s linear;transition:background .2s linear}.vis-item .vis-delete{right:-24px}.vis-item .vis-delete-rtl{left:-24px}.vis-item .vis-delete-rtl:after,.vis-item .vis-delete:after{content:"\00D7";color:red;font-family:arial,sans-serif;font-size:22px;font-weight:700;-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-ms-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.vis-item .vis-delete-rtl:hover,.vis-item .vis-delete:hover{background:red}.vis-item .vis-delete-rtl:hover:after,.vis-item .vis-delete:hover:after{color:#fff}.vis-item .vis-drag-center{position:absolute;width:100%;height:100%;top:0;left:0;cursor:move}.vis-item.vis-range .vis-drag-left,.vis-item.vis-range .vis-drag-right{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0}.vis-item.vis-range .vis-drag-left{left:-4px;cursor:w-resize}.vis-item.vis-range .vis-drag-right{right:-4px;cursor:e-resize}.vis-range.vis-item.vis-readonly .vis-drag-left,.vis-range.vis-item.vis-readonly .vis-drag-right{cursor:auto}.vis-labelset .vis-label.draggable,.vis-nesting-group{cursor:pointer}.vis-itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis-itemset .vis-background,.vis-itemset .vis-foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis-axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis-foreground .vis-group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis-foreground .vis-group:last-child{border-bottom:none}.vis-nested-group{background:#f5f5f5}.vis-label.vis-nesting-group.expanded:before{content:"\25BC"}.vis-label.vis-nesting-group.collapsed-rtl:before{content:"\25C0"}.vis-label.vis-nesting-group.collapsed:before{content:"\25B6"}.vis-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-labelset,.vis-labelset .vis-label{position:relative;box-sizing:border-box}.vis-labelset{overflow:hidden}.vis-labelset .vis-label{left:0;top:0;width:100%;color:#4d4d4d;border-bottom:1px solid #bfbfbf}.vis-labelset .vis-label:last-child{border-bottom:none}.vis-labelset .vis-label .vis-inner{display:inline-block;padding:5px}.vis-labelset .vis-label .vis-inner.vis-hidden{padding:0}.vis-panel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right,.vis-panel.vis-top{border:1px #bfbfbf}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis-left.vis-panel.vis-vertical-scroll,.vis-right.vis-panel.vis-vertical-scroll{height:100%;overflow-x:hidden;overflow-y:scroll}.vis-background,.vis-time-axis,.vis-timeline{overflow:hidden}.vis-left.vis-panel.vis-vertical-scroll{direction:rtl}.vis-left.vis-panel.vis-vertical-scroll .vis-content,.vis-right.vis-panel.vis-vertical-scroll{direction:ltr}.vis-right.vis-panel.vis-vertical-scroll .vis-content{direction:rtl}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-top{border-left-style:solid;border-right-style:solid}.vis-panel>.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}.vis-time-axis{position:relative}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;overflow:hidden;box-sizing:border-box;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-vertical-rtl{position:absolute;border-right:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis-timeline{position:relative;border:1px solid #bfbfbf;padding:0;margin:0;box-sizing:border-box} \ No newline at end of file +.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper::after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380', GradientType=0 );box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8', GradientType=0 )}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:rgba(0,0,0,.5) 0 0 10px 0}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow::after,div.vis-color-picker div.vis-arrow::before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(to bottom,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313', GradientType=0 )}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{width:140px;height:20px;top:380px;font-size:10px;color:rgba(0,0,0,.4);line-height:20px;vertical-align:middle;position:absolute}div.vis-color-picker div.vis-new-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px}div.vis-network div.vis-manipulation{box-sizing:content-box;border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0 );padding-top:4px;position:absolute;left:0;top:0;width:100%;height:28px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:5px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{float:left;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin-left:10px;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(img/network/backIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:700}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(img/network/addNodeIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit,div.vis-network div.vis-manipulation div.vis-button.vis-edit{background-image:url(img/network/editIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(img/network/connectIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(img/network/deleteIcon.png)}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{float:left;display:inline-block;width:1px;height:21px;background-color:#bdbdbd;margin:0 7px 0 15px}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px}.vis-current-time{background-color:#FF7F6E;width:2px;z-index:1;pointer-events:none}.vis-rolling-mode-btn{height:40px;width:40px;position:absolute;top:7px;right:20px;border-radius:50%;font-size:28px;cursor:pointer;opacity:.8;color:#fff;font-weight:700;text-align:center;background:#3876c2}.vis-rolling-mode-btn:before{content:"\26F6"}.vis-rolling-mode-btn:hover{opacity:1}.vis-custom-time{background-color:#6E94FF;width:2px;cursor:move;z-index:1}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor{border-color:#e5e5e5}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major{border-color:#bfbfbf}.vis-data-axis .vis-y-axis.vis-major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-major.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-minor.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis-data-axis .vis-y-axis.vis-title.vis-measure{padding:0;margin:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title.vis-left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis-data-axis .vis-y-axis.vis-title.vis-right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.vis-legend{background-color:rgba(247,252,255,.65);padding:5px;border:1px solid #b3b3b3;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis-legend-text{white-space:nowrap;display:inline-block}.vis-item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block}.vis-item.vis-point.vis-selected,.vis-item.vis-selected{background-color:#FFF785}.vis-item.vis-selected{border-color:#FFC200;z-index:2}.vis-editable.vis-selected{cursor:move}.vis-item.vis-box{text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-point{background:0 0}.vis-item.vis-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-item.vis-range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis-item.vis-background{border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis-item .vis-item-overflow{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden}.vis-item-visible-frame{white-space:nowrap}.vis-item.vis-range .vis-item-content{position:relative;display:inline-block}.vis-item.vis-background .vis-item-content{position:absolute;display:inline-block}.vis-item.vis-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item .vis-item-content{white-space:nowrap;box-sizing:border-box;padding:5px}.vis-item .vis-onUpdateTime-tooltip{position:absolute;background:#4f81bd;color:#fff;width:200px;text-align:center;white-space:nowrap;padding:5px;border-radius:1px}.vis-item .vis-delete,.vis-item .vis-delete-rtl{position:absolute;top:0;width:24px;height:24px;box-sizing:border-box;padding:0 5px;cursor:pointer;-webkit-transition:background .2s linear;-moz-transition:background .2s linear;-ms-transition:background .2s linear;-o-transition:background .2s linear;transition:background .2s linear}.vis-item .vis-delete{right:-24px}.vis-item .vis-delete-rtl{left:-24px}.vis-item .vis-delete-rtl:after,.vis-item .vis-delete:after{content:"\00D7";color:red;font-family:arial,sans-serif;font-size:22px;font-weight:700;-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-ms-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.vis-item .vis-delete-rtl:hover,.vis-item .vis-delete:hover{background:red}.vis-item .vis-delete-rtl:hover:after,.vis-item .vis-delete:hover:after{color:#fff}.vis-item .vis-drag-center{position:absolute;width:100%;height:100%;top:0;left:0;cursor:move}.vis-item.vis-range .vis-drag-left,.vis-item.vis-range .vis-drag-right{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0}.vis-item.vis-range .vis-drag-left{left:-4px;cursor:w-resize}.vis-item.vis-range .vis-drag-right{right:-4px;cursor:e-resize}.vis-range.vis-item.vis-readonly .vis-drag-left,.vis-range.vis-item.vis-readonly .vis-drag-right{cursor:auto}.vis-labelset .vis-label.draggable,.vis-nesting-group{cursor:pointer}.vis-itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis-itemset .vis-background,.vis-itemset .vis-foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis-axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis-foreground .vis-group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis-foreground .vis-group:last-child{border-bottom:none}.vis-nested-group{background:#f5f5f5}.vis-label.vis-nesting-group.expanded:before{content:"\25BC"}.vis-label.vis-nesting-group.collapsed-rtl:before{content:"\25C0"}.vis-label.vis-nesting-group.collapsed:before{content:"\25B6"}.vis-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-labelset,.vis-labelset .vis-label{position:relative;box-sizing:border-box}.vis-labelset{overflow:hidden}.vis-labelset .vis-label{left:0;top:0;width:100%;color:#4d4d4d;border-bottom:1px solid #bfbfbf}.vis-labelset .vis-label:last-child{border-bottom:none}.vis-labelset .vis-label .vis-inner{display:inline-block;padding:5px}.vis-labelset .vis-label .vis-inner.vis-hidden{padding:0}.vis-panel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right,.vis-panel.vis-top{border:1px #bfbfbf}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis-left.vis-panel.vis-vertical-scroll,.vis-right.vis-panel.vis-vertical-scroll{height:100%;overflow-x:hidden;overflow-y:scroll}.vis-background,.vis-time-axis,.vis-timeline{overflow:hidden}.vis-left.vis-panel.vis-vertical-scroll{direction:rtl}.vis-left.vis-panel.vis-vertical-scroll .vis-content,.vis-right.vis-panel.vis-vertical-scroll{direction:ltr}.vis-right.vis-panel.vis-vertical-scroll .vis-content{direction:rtl}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-top{border-left-style:solid;border-right-style:solid}.vis-panel>.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}.vis-time-axis{position:relative}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;overflow:hidden;box-sizing:border-box;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-vertical-rtl{position:absolute;border-right:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis-timeline{position:relative;border:1px solid #bfbfbf;padding:0;margin:0;box-sizing:border-box} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 010c88a5..828c9378 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 4.18.0 - * @date 2017-01-15 + * @version 4.18.1 + * @date 2017-01-29 * * @license * Copyright (C) 2011-2016 Almende B.V, http://almende.com @@ -22,25 +22,25 @@ * * 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(89)),o.extend(e,i(112)),o.extend(e,i(154))},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}var n=i(2),s=o(n),r=i(55),a=o(r),h=i(58),d=o(h),l=i(62),u=o(l),c=i(82),p=o(c),f=i(84),m=i(88);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.elementsCensor=function(t){if(t){var e=function(t,e){return e instanceof Element?"DOM Element":e};return JSON.parse((0,p.default)(t,e))}},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=v.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return m.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,u.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=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(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){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 g={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(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=g.split(t.style.cssText),n=g.split(i),s=e.extend(o,n);t.style.cssText=g.join(s)},e.removeCssText=function(t,e){var i=g.split(t.style.cssText),o=g.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=g.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":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&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]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(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;r<=a&&s0)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 t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),c=i(47)("iterator"),p=!([].keys&&"next"in[].keys()),f="@@iterator",m="keys",v="values",g=function(){return this};t.exports=function(t,e,i,y,b,_,w){d(i,e,y);var x,k,O,D=function(t){if(!p&&t in T)return T[t];switch(t){case m:return function(){return new i(this,t)};case v:return function(){return new i(this,t)}}return function(){return new i(this,t)}},S=e+" Iterator",M=b==v,C=!1,T=t.prototype,E=T[c]||T[f]||b&&T[b],P=E||D(b),I=b?M?D("entries"):P:void 0,N="Array"==e?T.entries||E:E;if(N&&(O=u(N.call(new t)),O!==Object.prototype&&(l(O,S,!0),o||a(O,c)||r(O,c,g))),M&&E&&E.name!==v&&(C=!0,P=function(){return E.call(this)}),o&&!w||!p&&!C&&T[c]||r(T,c,P),h[e]=P,h[S]=g,b)if(x={values:M?P:D(v),keys:_?P:D(m),entries:I},w)for(k in x)k in T||s(T,k,x[k]);else n(n.P+n.F*(p||C),e,x);return x}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",h=function(t,e,i){var d,l,u,c=t&h.F,p=t&h.G,f=t&h.S,m=t&h.P,v=t&h.B,g=t&h.W,y=p?n:n[e]||(n[e]={}),b=y[a],_=p?o:f?o[e]:(o[e]||{})[a];p&&(i=e);for(d in i)l=!c&&_&&void 0!==_[d],l&&d in y||(u=l?_[d]:i[d],y[d]=p&&"function"!=typeof _[d]?i[d]:v&&l?s(u,o):g&&_[d]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):m&&"function"==typeof u?s(Function.call,u):u,m&&((y.virtual||(y.virtual={}))[d]=u,t&h.R&&b&&!b[d]&&r(b,d,u)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h="prototype",d=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),d=t.F;o--;)delete d[h][s[o]];return d()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[h]=o(t),i=new a,a[h]=null,i[r]=t):i=d(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if(a=h[l++],a!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),c=i(43),p=i(47),f=i(65),m=i(70),v=i(71),g=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),k=i(33),O=i(76),D=i(78),S=i(21),M=i(35),C=D.f,T=S.f,E=O.f,P=o.Symbol,I=o.JSON,N=I&&I.stringify,z="prototype",R=p("_hidden"),L=p("toPrimitive"),A={}.propertyIsEnumerable,B=l("symbol-registry"),F=l("symbols"),H=l("op-symbols"),j=Object[z],W="function"==typeof P,Y=o.QObject,G=!Y||!Y[z]||!Y[z].findChild,V=s&&d(function(){return 7!=k(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=C(j,e);o&&delete j[e],T(t,e,i),o&&t!==j&&T(j,e,o)}:T,U=function(t){var e=F[t]=k(P[z]);return e._k=t,e},q=W&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===j&&X(H,e,i),b(t),e=w(e,!0),b(i),n(F,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=k(i,{enumerable:x(0,!1)})):(n(t,R)||T(t,R,x(1,{})),t[R][e]=!0),V(t,e,i)):T(t,e,i)},Z=function(t,e){b(t);for(var i,o=g(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},K=function(t,e){return void 0===e?k(t):Z(k(t),e)},Q=function(t){var e=A.call(this,t=w(t,!0));return!(this===j&&n(F,t)&&!n(H,t))&&(!(e||!n(this,t)||!n(F,t)||n(this,R)&&this[R][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(F,e)||n(H,e)){var i=C(t,e);return!i||!n(F,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},$=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(F,e=i[s++])||e==R||e==h||o.push(e);return o},tt=function(t){for(var e,i=t===j,o=E(i?H:_(t)),s=[],r=0;o.length>r;)!n(F,e=o[r++])||i&&!n(j,e)||s.push(F[e]);return s};W||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(H,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),V(this,t,x(1,i))};return s&&G&&V(j,t,{configurable:!0,set:e}),U(t)},a(P[z],"toString",function(){return this._k}),D.f=J,S.f=X,i(77).f=O.f=$,i(74).f=Q,i(73).f=tt,s&&!i(14)&&a(j,"propertyIsEnumerable",Q,!0),f.f=function(t){return U(p(t))}),r(r.G+r.W+r.F*!W,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)p(et[it++]);for(var et=M(p.store),it=0;et.length>it;)m(et[it++]);r(r.S+r.F*!W,"Symbol",{for:function(t){return n(B,t+="")?B[t]:B[t]=P(t)},keyFor:function(t){if(q(t))return v(B,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){G=!0},useSimple:function(){G=!1}}),r(r.S+r.F*!W,"Object",{create:K,defineProperty:X,defineProperties:Z,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:tt}),I&&r(r.S+r.F*(!W||d(function(){var t=P();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!q(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!q(e))return e}),o[1]=e,N.apply(I,o)}}}),P[z][L]||i(20)(P[z],L,P[z].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},p=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:p}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports={default:i(83),__esModule:!0}},function(t,e,i){var o=i(17),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(85)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return vo.apply(null,arguments)}function i(t){vo=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i in bo)o=bo[i],n=e[o],v(n)||(t[o]=n);return t}function y(t){g(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function x(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function L(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function A(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function B(t){var e,i,o={};for(i in t)d(t,i)&&(e=A(i),e&&(o[e]=t[i]));return o}function F(t,e){Io[t]=e}function H(t){var e=[];for(var i in t)e.push({unit:i,priority:Io[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,i){return function(o){return null!=o?(Y(this,t,o),e.updateOffset(this,i),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Y(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function G(t){return t=A(t),S(this[t])?this[t]():this}function V(t,e){if("object"==typeof t){t=B(t);for(var i=H(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function q(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Lo[t]=n),e&&(Lo[e[0]]=function(){return U(n.apply(this,arguments),e[1],e[2])}),i&&(Lo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Z(t){var e,i,o=t.match(No);for(e=0,i=o.length;e=0&&zo.test(t);)t=t.replace(zo,i),zo.lastIndex=0,o-=1;return t}function J(t,e,i){tn[t]=S(e)?e:function(t,o){return t&&i?i:e}}function $(t,e){return d(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(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 d<=0?(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 kt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(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=wt(t,e,i),n=wt(t+1,e,i);return(vt(t)-o+n)/7}function Dt(t){return kt(t,this._week.dow,this._week.doy).week}function St(){return this._week.dow}function Mt(){return this._week.doy}function Ct(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Tt(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Nt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function zt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([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=cn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Lt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([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 At(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Bt(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 Ft(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ht(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=kn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=On),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Dn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),d[e]=et(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Gt(){return this.hours()%12||12}function Vt(){return this.hours()||24}function Ut(t,e){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,i,o,n,s=0;s0;){if(o=Jt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&x(n,i,!0)>=e-1)break;e--}s++}return null}function Jt(e){var i=null;if(!En[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Sn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),$t(i)}catch(t){}return En[e]}function $t(t,e){var i;return t&&(i=v(e)?ie(t):te(t,e),i&&(Sn=i)),Sn._abbr}function te(t,e){if(null!==e){var i=Tn;if(e.abbr=t,null!=En[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=En[t]._config;else if(null!=e.parentLocale){if(null==En[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=En[e.parentLocale]._config}return En[t]=new T(C(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),$t(t),En[t]}return delete En[t],null}function ee(t,e){if(null!=e){var i,o=Tn;null!=En[t]&&(o=En[t]._config),e=C(o,e),i=new T(e),i.parentLocale=En[t],En[t]=i,$t(t)}else null!=En[t]&&(null!=En[t].parentLocale?En[t]=En[t].parentLocale:null!=En[t]&&delete En[t]);return En[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Sn;if(!o(t)){if(e=Jt(t))return e;t=[t]}return Qt(t)}function oe(){return Oo(En)}function ne(t){var e,i=t._a;return i&&p(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[hn]||0!==i[dn])?rn:i[an]<0||i[an]>59?an:i[hn]<0||i[hn]>59?hn:i[dn]<0||i[dn]>999?dn:-1,p(t)._overflowDayOfYear&&(esn)&&(e=sn),p(t)._overflowWeeks&&e===-1&&(e=ln),p(t)._overflowWeekday&&e===-1&&(e=un),p(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,h=In.exec(a)||Nn.exec(a);if(h){for(p(t).iso=!0,e=0,i=Rn.length;evt(n)&&(p(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[hn]&&0===t._a[dn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],kt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=kt(be(),s,r);i=ae(e.gg,t._a[on],d.year),o=ae(e.w,d.week),null!=e.d?(n=e.d,(n<0||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>Ot(i,s,r)?p(t)._overflowWeeks=!0:null!=h?p(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],p(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=Q(t._f,t._locale).match(No)||[],i=0;i0&&p(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Lo[s]?(o?p(t).empty=!1:p(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&p(t).unusedTokens.push(s);p(t).charsLeftOver=h-d,a.length>0&&p(t).unusedInput.push(a),t._a[rn]<=12&&p(t).bigHour===!0&&t._a[rn]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[rn]=ce(t._locale,t._a[rn],t._meridiem),de(t),ne(t)}function ce(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function pe(t){var e,i,o,n,s;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ae(){if(!v(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),t=ve(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Be(){return!!this.isValid()&&!this._isUTC}function Fe(){return!!this.isValid()&&this._isUTC}function He(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function je(t,e){var i,o,n,s=t,a=null;return Oe(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[hn])*i,ms:w(De(1e3*a[dn]))*i}):(a=Yn.exec(t))?(i="-"===a[1]?-1:1,s={y:We(a[2],i),M:We(a[3],i),w:We(a[4],i),d:We(a[5],i),h:We(a[6],i),m:We(a[7],i),s:We(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Ge(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new ke(s),Oe(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function We(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Ye(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 Ge(t,e){var i;return t.isValid()&&e.isValid()?(e=Ce(e,t),t.isBefore(e)?i=Ye(t,e):(i=Ye(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ve(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=je(i,o),Ue(this,n,t),this}}function Ue(t,i,o,n){var s=i._milliseconds,r=De(i._days),a=De(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&Y(t,"Date",W(t,"Date")+r*o),a&<(t,W(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function qe(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=Ce(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ze(){return new y(this)}function Ke(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=A(v(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Ii.call(this,t,e,i,o,n))}function Ii(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ni(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function zi(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 Ri(t,e){e[dn]=w(1e3*("0."+t))}function Li(){return this._isUTC?"UTC":""}function Ai(){return this._isUTC?"Coordinated Universal Time":""}function Bi(t){return be(1e3*t)}function Fi(){return be.apply(null,arguments).parseZone()}function Hi(t){return t}function ji(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Wi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return ji(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=ji(t,o,i,"month");return n}function Yi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return ji(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=ji(e,(a+s)%7,o,"day");return h}function Gi(t,e){return Wi(t,e,"months")}function Vi(t,e){return Wi(t,e,"monthsShort")}function Ui(t,e,i){return Yi(t,e,i,"weekdays")}function qi(t,e,i){return Yi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Yi(t,e,i,"weekdaysMin")}function Zi(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Ki(t,e,i,o){var n=je(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Qi(t,e){return Ki(this,t,e,1)}function Ji(t,e){return Ki(this,t,e,-1)}function $i(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){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||s<=0&&r<=0&&a<=0||(s+=864e5*$i(io(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=_(s/1e3),h.seconds=t%60,e=_(t/60),h.minutes=e%60,i=_(e/60),h.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=$i(io(n)),o=_(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800}function oo(t){var e,i,o=this._milliseconds;if(t=A(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e), -"month"===t?i:i/12;switch(e=this._days+Math.round(io(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 no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=A(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=je(t).abs(),n=vs(o.as("s")),s=vs(o.as("m")),r=vs(o.as("h")),a=vs(o.as("d")),h=vs(o.as("M")),d=vs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function co(t){return void 0===t?vs:"function"==typeof t&&(vs=t,!0)}function po(t,e){return void 0!==gs[t]&&(void 0===e?gs[t]:(gs[t]=e,!0))}function fo(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function mo(){var t,e,i,o=ys(this._milliseconds)/1e3,n=ys(this._days),s=ys(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"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 vo,go;go=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn=j("FullYear",!0);q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),F("week",5),F("isoWeek",5),J("w",Wo),J("ww",Wo,Bo),J("W",Wo),J("WW",Wo,Bo),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};q("d",0,"do","day"),q("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),q("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),q("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),J("d",Wo),J("e",Wo),J("E",Wo),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:p(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),kn=$o,On=$o,Dn=$o;q("H",["HH",2],0,"hour"),q("h",["hh",2],0,Gt),q("k",["kk",2],0,Vt),q("hmm",0,0,function(){return""+Gt.apply(this)+U(this.minutes(),2)}),q("hmmss",0,0,function(){return""+Gt.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Ut("a",!0),Ut("A",!1),L("hour","h"),F("hour",13),J("a",qt),J("A",qt),J("H",Wo),J("h",Wo),J("HH",Wo,Bo),J("hh",Wo,Bo),J("hmm",Yo),J("hmmss",Go),J("Hmm",Yo),J("Hmmss",Go),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),p(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),p(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n)),p(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n))});var Sn,Mn=/[ap]\.?m?\.?/i,Cn=j("Hours",!0),Tn={calendar:Do,longDateFormat:So,invalidDate:Mo,ordinal:Co,ordinalParse:To,relativeTime:Eo,months:fn,monthsShort:mn,week:bn,weekdays:_n,weekdaysMin:xn,weekdaysShort:wn,meridiemParse:Mn},En={},Pn={},In=/^\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)?)?$/,Nn=/^\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)?)?$/,zn=/Z|[+-]\d\d(?::?\d\d)?/,Rn=[["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}/]],Ln=[["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/]],An=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=O("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Bn=O("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),Hn=function(){return Date.now?Date.now():+new Date};Se("Z",":"),Se("ZZ",""),J("Z",Qo),J("ZZ",Qo),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Me(Qo,t)});var jn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Wn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Yn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;je.fn=ke.prototype;var Gn=Ve(1,"add"),Vn=Ve(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Un=O("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)});q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Si("gggg","weekYear"),Si("ggggg","weekYear"),Si("GGGG","isoWeekYear"),Si("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),J("G",Zo),J("g",Zo),J("GG",Wo,Bo),J("gg",Wo,Bo),J("GGGG",Uo,Ho),J("gggg",Uo,Ho),J("GGGGG",qo,jo),J("ggggg",qo,jo),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),q("Q",0,"Qo","quarter"),L("quarter","Q"),F("quarter",7),J("Q",Ao),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),q("D",["DD",2],"Do","date"),L("date","D"),F("date",9),J("D",Wo),J("DD",Wo,Bo),J("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(Wo)[0],10)});var qn=j("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),F("dayOfYear",4),J("DDD",Vo),J("DDDD",Fo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),q("m",["mm",2],0,"minute"),L("minute","m"),F("minute",14),J("m",Wo),J("mm",Wo,Bo),it(["m","mm"],an);var Xn=j("Minutes",!1);q("s",["ss",2],0,"second"),L("second","s"),F("second",15),J("s",Wo),J("ss",Wo,Bo),it(["s","ss"],hn);var Zn=j("Seconds",!1);q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),F("millisecond",16),J("S",Vo,Ao),J("SS",Vo,Bo),J("SSS",Vo,Fo);var Kn;for(Kn="SSSS";Kn.length<=9;Kn+="S")J(Kn,Xo);for(Kn="S";Kn.length<=9;Kn+="S")it(Kn,Ri);var Qn=j("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var Jn=y.prototype;Jn.add=Gn,Jn.calendar=Xe,Jn.clone=Ze,Jn.diff=ii,Jn.endOf=mi,Jn.format=ai,Jn.from=hi,Jn.fromNow=di,Jn.to=li,Jn.toNow=ui,Jn.get=G,Jn.invalidAt=Oi,Jn.isAfter=Ke,Jn.isBefore=Qe,Jn.isBetween=Je,Jn.isSame=$e,Jn.isSameOrAfter=ti,Jn.isSameOrBefore=ei,Jn.isValid=xi,Jn.lang=Un,Jn.locale=ci,Jn.localeData=pi,Jn.max=Fn,Jn.min=Bn,Jn.parsingFlags=ki,Jn.set=V,Jn.startOf=fi,Jn.subtract=Vn,Jn.toArray=bi,Jn.toObject=_i,Jn.toDate=yi,Jn.toISOString=si,Jn.inspect=ri,Jn.toJSON=wi,Jn.toString=ni,Jn.unix=gi,Jn.valueOf=vi,Jn.creationData=Di,Jn.year=yn,Jn.isLeapYear=yt,Jn.weekYear=Mi,Jn.isoWeekYear=Ci,Jn.quarter=Jn.quarters=Ni,Jn.month=ut,Jn.daysInMonth=ct,Jn.week=Jn.weeks=Ct,Jn.isoWeek=Jn.isoWeeks=Tt,Jn.weeksInYear=Ei,Jn.isoWeeksInYear=Ti,Jn.date=qn,Jn.day=Jn.days=At,Jn.weekday=Bt,Jn.isoWeekday=Ft,Jn.dayOfYear=zi,Jn.hour=Jn.hours=Cn,Jn.minute=Jn.minutes=Xn,Jn.second=Jn.seconds=Zn,Jn.millisecond=Jn.milliseconds=Qn,Jn.utcOffset=Ee,Jn.utc=Ie,Jn.local=Ne,Jn.parseZone=ze,Jn.hasAlignedHourOffset=Re,Jn.isDST=Le,Jn.isLocal=Be,Jn.isUtcOffset=Fe,Jn.isUtc=He,Jn.isUTC=He,Jn.zoneAbbr=Li,Jn.zoneName=Ai,Jn.dates=O("dates accessor is deprecated. Use date instead.",qn),Jn.months=O("months accessor is deprecated. Use month instead",ut),Jn.years=O("years accessor is deprecated. Use year instead",yn),Jn.zone=O("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Jn.isDSTShifted=O("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ae);var $n=T.prototype;$n.calendar=E,$n.longDateFormat=P,$n.invalidDate=I,$n.ordinal=N,$n.preparse=Hi,$n.postformat=Hi,$n.relativeTime=z,$n.pastFuture=R,$n.set=M,$n.months=rt,$n.monthsShort=at,$n.monthsParse=dt,$n.monthsRegex=ft,$n.monthsShortRegex=pt,$n.week=Dt,$n.firstDayOfYear=Mt,$n.firstDayOfWeek=St,$n.weekdays=It,$n.weekdaysMin=zt,$n.weekdaysShort=Nt,$n.weekdaysParse=Lt,$n.weekdaysRegex=Ht,$n.weekdaysShortRegex=jt,$n.weekdaysMinRegex=Wt,$n.isPM=Xt,$n.meridiem=Zt,$t("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=O("moment.lang is deprecated. Use moment.locale instead.",$t),e.langData=O("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),hs=so("y"),ds=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),cs=ao("hours"),ps=ao("days"),fs=ao("months"),ms=ao("years"),vs=Math.round,gs={s:45,m:45,h:22,d:26,M:11},ys=Math.abs,bs=ke.prototype;return bs.abs=Zi,bs.add=Qi,bs.subtract=Ji,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=hs,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=ds,bs.seconds=ls,bs.minutes=us,bs.hours=cs,bs.days=ps,bs.weeks=ho,bs.months=fs,bs.years=ms,bs.humanize=fo,bs.toISOString=mo,bs.toString=mo,bs.toJSON=mo,bs.locale=ci,bs.localeData=pi,bs.toIsoString=O("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",mo),bs.lang=Un,q("X",0,0,"unix"),q("x",0,0,"valueOf"),J("x",Zo),J("X",Jo),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=Jn,e.min=we,e.max=xe,e.now=Hn,e.utc=u,e.unix=Bi,e.months=Gi,e.isDate=a,e.locale=$t,e.invalid=m,e.duration=je,e.isMoment=b,e.weekdays=Ui,e.parseZone=Fi,e.localeData=ie,e.isDuration=Oe,e.monthsShort=Vi,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=qi,e.normalizeUnits=A,e.relativeTimeRounding=co,e.relativeTimeThreshold=po,e.calendarFormat=qe,e.prototype=Jn,e})}).call(e,i(86)(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=87},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){n<16&&(e[o+n++]=u[t])});n<16;)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(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||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 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||f,p=0;p<6;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;a<16;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;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;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(90),e.DataSet=i(91),e.DataView=i(93),e.Queue=i(92),e.Graph3d=i(94),e.graph3d={Camera:i(98),Filter:i(103),Point2d:i(97),Point3d:i(96),Slider:i(104),StepNumber:i(105)},e.moment=i(84),e.Hammer=i(108),e.keycharm=i(111)},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){n<0&&(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){return t&&t.__esModule?t:{default:t}}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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.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){return t&&t.__esModule?t:{default:t}}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 s=i(58),r=o(s),a=i(1),h=i(91);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;o0&&(h[n-1].pointNext=r),h.push(r);return h},o.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas);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.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,i=function(t){e._onMouseDown(t)},o=function(t){e._onTouchStart(t)},n=function(t){e._onWheel(t)},s=function(t){e._onTooltip(t)},r=function(t){e._onClick(t)};d.addEventListener(this.frame.canvas,"keydown",onkeydown),d.addEventListener(this.frame.canvas,"mousedown",i),d.addEventListener(this.frame.canvas,"touchstart",o),d.addEventListener(this.frame.canvas,"mousewheel",n),d.addEventListener(this.frame.canvas,"mousemove",s),d.addEventListener(this.frame.canvas,"click",r),this.containerElement.appendChild(this.frame)},o.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},o.prototype._resizeCanvas=function(){this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},o.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},o.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},o.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},o.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},o.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},o.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setOptions=function(t){this.animationStop(),v.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case o.STYLE.BAR:t=o.prototype._redrawBarGraphPoint;break;case o.STYLE.BARCOLOR:t=o.prototype._redrawBarColorGraphPoint;break;case o.STYLE.BARSIZE:t=o.prototype._redrawBarSizeGraphPoint;break;case o.STYLE.DOT:t=o.prototype._redrawDotGraphPoint;break;case o.STYLE.DOTLINE:t=o.prototype._redrawDotLineGraphPoint;break;case o.STYLE.DOTCOLOR:t=o.prototype._redrawDotColorGraphPoint;break;case o.STYLE.DOTSIZE:t=o.prototype._redrawDotSizeGraphPoint;break;case o.STYLE.SURFACE:t=o.prototype._redrawSurfaceGraphPoint;break;case o.STYLE.GRID:t=o.prototype._redrawGridGraphPoint;break;case o.STYLE.LINE:t=o.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},o.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},o.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},o.prototype._redrawClear=function(){var t=this.frame.canvas,e=t.getContext("2d");e.clearRect(0,0,t.width,t.height)},o.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},o.prototype._getLegendWidth=function(){var t;if(this.style===o.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===o.STYLE.BARSIZE?this.xBarWidth:20;return t},o.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==o.STYLE.LINE&&this.style!==o.STYLE.BARSIZE){var t=this.style===o.STYLE.BARSIZE||this.style===o.STYLE.DOTSIZE,e=this.style===o.STYLE.DOTSIZE||this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),n=this.margin,s=this._getLegendWidth(),r=this.frame.clientWidth-this.margin,a=r-s,h=n+i,d=this._getContext();if(d.lineWidth=1,d.font="14px arial",t===!1){var l,c=0,p=i;for(l=c;l0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelY=function(t,e,i,o,n){void 0===n&&(n=0);var s=this._convert3Dto2D(e);Math.cos(2*o)<0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelZ=function(t,e,i,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,n.x-o,n.y)},o.prototype._line3d=function(t,e,i,o){var n=this._convert3Dto2D(e),s=this._convert3Dto2D(i);this._line(t,n,s,o)},o.prototype._redrawAxis=function(){var t,e,i,o,n,s,r,a,h,d,c,p=this._getContext();p.font=24/this.camera.getArmLength()+"px arial";var m=.025/this.scale.x,v=.025/this.scale.y,g=5/this.camera.getArmLength(),y=this.camera.getArmRotation().horizontal,b=new u(Math.cos(y),Math.sin(y)),_=this.xRange,w=this.yRange,x=this.zRange;for(p.lineWidth=1,o=void 0===this.defaultXStep,i=new f(_.min,_.max,this.xStep,o),i.start(!0);!i.end();){var k=i.getCurrent();this.showGrid?(t=new l(k,w.min,x.min),e=new l(k,w.max,x.min),this._line3d(p,t,e,this.gridColor)):(t=new l(k,w.min,x.min),e=new l(k,w.min+m,x.min),this._line3d(p,t,e,this.axisColor),t=new l(k,w.max,x.min),e=new l(k,w.max-m,x.min),this._line3d(p,t,e,this.axisColor)),r=b.x>0?w.min:w.max;var O=new l(k,r,x.min),D=" "+this.xValueLabel(k)+" ";this.drawAxisLabelX(p,O,D,y,g),i.next()}for(p.lineWidth=1,o=void 0===this.defaultYStep,i=new f(w.min,w.max,this.yStep,o),i.start(!0);!i.end();){var S=i.getCurrent();this.showGrid?(t=new l(_.min,S,x.min),e=new l(_.max,S,x.min),this._line3d(p,t,e,this.gridColor)):(t=new l(_.min,S,x.min),e=new l(_.min+v,S,x.min),this._line3d(p,t,e,this.axisColor),t=new l(_.max,S,x.min),e=new l(_.max-v,S,x.min),this._line3d(p,t,e,this.axisColor)),s=b.y>0?_.min:_.max,O=new l(s,S,x.min);var D=" "+this.yValueLabel(S)+" ";this.drawAxisLabelY(p,O,D,y,g),i.next()}for(p.lineWidth=1,o=void 0===this.defaultZStep,i=new f(x.min,x.max,this.zStep,o),i.start(!0),s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max;!i.end();){var M=i.getCurrent(),C=new l(s,r,M),T=this._convert3Dto2D(C);e=new u(T.x-g,T.y),this._line(p,T,e,this.axisColor);var D=this.zValueLabel(M)+" ";this.drawAxisLabelZ(p,C,D,5),i.next()}p.lineWidth=1,t=new l(s,r,x.min),e=new l(s,r,x.max),this._line3d(p,t,e,this.axisColor);var E,P;p.lineWidth=1,E=new l(_.min,w.min,x.min),P=new l(_.max,w.min,x.min),this._line3d(p,E,P,this.axisColor),E=new l(_.min,w.max,x.min),P=new l(_.max,w.max,x.min),this._line3d(p,E,P,this.axisColor),p.lineWidth=1,t=new l(_.min,w.min,x.min),e=new l(_.min,w.max,x.min),this._line3d(p,t,e,this.axisColor),t=new l(_.max,w.min,x.min),e=new l(_.max,w.max,x.min),this._line3d(p,t,e,this.axisColor);var I=this.xLabel;I.length>0&&(c=.1/this.scale.y,s=(_.max+3*_.min)/4,r=b.x>0?w.min-c:w.max+c,n=new l(s,r,x.min),this.drawAxisLabelX(p,n,I,y));var N=this.yLabel;N.length>0&&(d=.1/this.scale.x,s=b.y>0?_.min-d:_.max+d,r=(w.max+3*w.min)/4,n=new l(s,r,x.min),this.drawAxisLabelY(p,n,N,y));var z=this.zLabel;z.length>0&&(h=30,s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max,a=(x.max+3*x.min)/4,n=new l(s,r,a),this.drawAxisLabelZ(p,n,z,h))},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._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},o.prototype._redrawBar=function(t,e,i,o,n,s){var r,a,h=this,d=e.point,u=this.zRange.min,c=[{point:new l(d.x-i,d.y-o,d.z)},{point:new l(d.x+i,d.y-o,d.z)},{point:new l(d.x+i,d.y+o,d.z)},{point:new l(d.x-i,d.y+o,d.z)}],p=[{point:new l(d.x-i,d.y-o,u)},{point:new l(d.x+i,d.y-o,u)},{point:new l(d.x+i,d.y+o,u)},{point:new l(d.x-i,d.y+o,u)}];c.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),p.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var f=[{corners:c,center:l.avg(p[0].point,p[2].point)},{corners:[c[0],c[1],p[1],p[0]],center:l.avg(p[1].point,p[0].point)},{corners:[c[1],c[2],p[2],p[1]],center:l.avg(p[2].point,p[1].point)},{corners:[c[2],c[3],p[3],p[2]],center:l.avg(p[3].point,p[2].point)},{corners:[c[3],c[0],p[0],p[3]],center:l.avg(p[0].point,p[3].point)}];for(e.surfaces=f,r=0;r0}if(a){var p,f=(e.point.z+i.point.z+o.point.z+n.point.z)/4,m=240*(1-(f-this.zRange.min)*this.scale.z/this.verticalRatio),v=1;this.showShadow?(p=Math.min(1+u.x/c/2,1),s=this._hsv2rgb(m,v,p),r=s):(p=1,s=this._hsv2rgb(m,v,p),r=this.axisColor)}else s="gray",r=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var g=[e,i,n,o];this._polygon(t,g,s,r)}},o.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var o=(e.point.z+i.point.z)/2,n=240*(1-(o-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(n,1,1),this._line(t,e.screen,i.screen)}},o.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},o.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},o.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-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;i"+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)}}},o.prototype.setCameraPosition=function(t){v.setCameraPosition(t,this),this.redraw()},o.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=o},function(t,e){function i(t){if(t)return o(t)}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;ns&&(t=o(t)*s),i(e)>s&&(e=o(e)*s),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},n.prototype.getOffset=function(t,e){return this.cameraOffset},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.setOffset(this.cameraOffset.x,this.cameraOffset.y),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;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),i=this.cameraOffset.x,o=this.cameraOffset.y,n=Math.sin,s=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*s(e)+o*-n(e)*s(t),this.cameraLocation.y=this.cameraLocation.y+i*n(e)+o*s(e)*s(t),this.cameraLocation.z=this.cameraLocation.z+o*n(t)},t.exports=n},function(t,e,i){t.exports={default:i(100),__esModule:!0}},function(t,e,i){i(101),t.exports=i(17).Math.sign},function(t,e,i){var o=i(15);o(o.S,"Math",{sign:i(102)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},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:t0&&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(93);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(){if(void 0!==this.index)return this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw new 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 new 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(!(tthis.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.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},i.prototype.setRange=function(t,e,i,o){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(i))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||t<=0||(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),s<=0&&(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(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=i},function(t,e){function i(){this.min=void 0,this.max=void 0}i.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxi)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=i}},i.prototype.range=function(){return this.max-this.min},i.prototype.center=function(){return(this.min+this.max)/2},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function s(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function r(t,e){return void 0===t||""===t?e:t+s(e)}function a(t,e,i,o){var n,s;for(var a in i)n=i[a],s=r(o,n),e[s]=t[n]}function h(t,e,i,o){var n,s;for(var a in i)n=i[a],void 0!==t[n]&&(s=r(o,n),e[s]=t[n])}function d(t,e){if(void 0===t||n(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");M=t,a(t,e,D),a(t,e,S,"default"),u(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new x(0,0,-1)}function l(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===M||n(M))throw new Error("DEFAULTS not set for module Settings");h(t,e,D),h(t,e,S,"default"),u(t,e)}}function u(t,e){void 0!==t.backgroundColor&&v(t.backgroundColor,e),g(t.dataColor,e),m(t.style,e),c(t.showLegend,e),y(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick)}function c(t,e){if(void 0===t){var i=void 0===M.showLegend;if(i){var o=e.style===k.DOTCOLOR||e.style===k.DOTSIZE;e.showLegend=o}}else e.showLegend=t}function p(t){var e=O[t];return void 0===e?-1:e}function f(t){var e=!1;for(var i in k)if(k[i]===t){e=!0;break}return e}function m(t,e){if(void 0!==t){var i;if("string"==typeof t){if(i=p(t),i===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!f(t))throw new Error("Style '"+t+"' is invalid");i=t}e.style=i}}function v(t,e){var i="white",o="gray",n=1;if("string"==typeof t)i=t,o="none",n=0;else{if("object"!==("undefined"==typeof t?"undefined":(0,_.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(i=t.fill),void 0!==t.stroke&&(o=t.stroke),void 0!==t.strokeWidth&&(n=t.strokeWidth)}e.frame.style.backgroundColor=i,e.frame.style.borderColor=o,e.frame.style.borderWidth=n+"px",e.frame.style.borderStyle="solid"}function g(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function y(t,e){var i=t;void 0!==i&&(void 0===e.camera&&(e.camera=new w),e.camera.setArmRotation(i.horizontal,i.vertical),e.camera.setArmLength(i.distance))}var b=i(62),_=o(b),w=i(98),x=i(96),k={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},O={dot:k.DOT,"dot-line":k.DOTLINE,"dot-color":k.DOTCOLOR,"dot-size":k.DOTSIZE,line:k.LINE,grid:k.GRID,surface:k.SURFACE,bar:k.BAR,"bar-color":k.BARCOLOR,"bar-size":k.BARSIZE},D=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],S=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],M=void 0;t.exports.STYLE=k,t.exports.setDefaults=d,t.exports.setOptions=l,t.exports.setCameraPosition=y},function(t,e,i){if("undefined"!=typeof window){var o=i(109),n=window.Hammer||i(110);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);e!==-1&&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)}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 c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&mt(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==yt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function g(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 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=wt(),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=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=_t(d.x)>_t(d.y)?d.x:d.y,e.scale=r?H(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!==zt&&s.eventType!==Lt||(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!=At&&(h>Nt||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=_t(u.x)>_t(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;i=_t(e)?t<0?Ft:Ht:e<0?jt:Wt}function A(t,e,i){i||(i=Ut);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=Ut);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],qt)+B(t[1],t[0],qt)}function H(t,e){return A(e[0],e[1],qt)/A(t[0],t[1],qt)}function j(){this.evEl=Zt,this.evWin=Kt,this.pressed=!1,M.apply(this,arguments)}function W(){this.evEl=$t,this.evWin=te,M.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=ie,this.evWin=oe,this.started=!1,M.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Lt|At)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=se,this.targetIds={},M.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(zt|Rt)&&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===zt)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ke)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[pe]; -},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},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(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Lt|At)&&!n)this.reset();else if(t.eventType&zt)this.reset(),this._timer=h(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return we;return ke},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),c(ht,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[pe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),c(dt,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|Gt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|Gt)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&Gt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances)&&(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;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,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,r<=0&&(r=10),a=r/t.props.center.width,l.forEach(t.itemSet.items,function(t){t.groupShowing&&(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;do&&(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||oe)&&(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(),u=this.body.util.getStep(),c=this._toTime(o),p=h?h(c,d,u):c,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:c,snappedTime:p}},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(82),s=o(n),r=i(62),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(120),p=o(c),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new p.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&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),s=1;s2&&void 0!==arguments[2]&&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&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),d=a.max,h="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 c=this;a.onchange=function(){u.value=this.value,c._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var p=this._makeLabel(i[i.length-1],i),f=this._makeItem(i,p,a,u);""!==h&&this.popupHistory[f]!==d&&(this.popupHistory[f]=d,this._setupPopup(h,f))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),c=this._getValue(u);if(c===!0){var p=this._makeLabel(r,h,!0);this._makeItem(h,p),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,c,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0, -s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=c.extend({},t)),this.color=t;var i=c.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,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+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.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.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(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 e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/360,d=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;rs.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,""),g):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),g):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),g),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,d=c.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?c.convert(t,"Date").valueOf():null,r=void 0!=e?c.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,p=this.end,f="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,v="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",g=c.easingFunctions[v];if(!g)throw new Error("Unknown easing function "+(0,d.default)(v)+". Choose from: "+(0,a.default)(c.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1,_=function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=g(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,v=d||null===r?r:p+(r-p)*a;w=h._applyRange(u,v),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||w;var _={start:new Date(h.start),end:new Date(h.end),byUser:o,event:c.elementsCensor(n)};w&&h.body.emitter.emit("rangechange",_),d?b&&h.body.emitter.emit("rangechanged",_):h.animationTimer=setTimeout(t,20)}};return _()}var w=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),w){var x={start:new Date(this.start),end:new Date(this.end),byUser:o,event:c.elementsCensor(n)};this.body.emitter.emit("rangechange",x),this.body.emitter.emit("rangechanged",x)}},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?c.convert(t,"Date").valueOf():this.start,n=null!=e?c.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?c.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?c.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(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&othis.start&&nh&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=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,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.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}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=n;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,d=this.props.touch.end+a,l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=m.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(l!=h||u!=d)return this.deltaDifference+=i,this.props.touch.start=l,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d);var p=new Date(this.start),f=new Date(this.end);this.body.emitter.emit("rangechange",{start:p,end:f,byUser:!0,event:c.elementsCensor(t)}),this.body.emitter.emit("panmove")}},n.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,event:c.elementsCensor(t)}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.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},n.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)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.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=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-c.getAbsoluteLeft(this.body.dom.centerContainer);else var i=c.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(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},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:c.getAbsoluteRight(e)-t.x,y:t.y-c.getAbsoluteTop(e)}:{x:t.x-c.getAbsoluteLeft(e),y:t.y-c.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.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},n.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,!1,!0,event)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.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=o},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 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()&&(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(;d=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&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a),d=new Date(h+a+t.range.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(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?o<0?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&&t-1||h))return t.dataTransfer.dropEffect="move",h=!0,!1}function n(t){try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e.content)return}catch(t){return!1}return h=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}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.rollingModeBtn=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.rollingModeBtn.className="vis-rolling-mode-btn",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.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),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.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=c.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={};var a=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];a.forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var h=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(c.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),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"===(0,h.default)(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 i=this.timeAxis2=new p(this.body);i.setOptions=function(t){var e=t?c.extend({},t):{};e.orientation="top",p.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(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 n=c.deepExtend({},this.options);this.components.forEach(function(t){c.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.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},n.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 "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.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 "+(0,r.default)(t));return e[0].getCustomTime()},n.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 "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?c.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 "+(0,r.default)(e)+" already exists");var n=new v(this.body,c.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},n.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 "+(0,r.default)(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))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.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;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=c.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=n/(1+t),r=(n-s)/2,a=i+r,h=o-r;this.setWindow({start:a,end:h})}},n.prototype.zoomOut=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=i-n*t/2,r=o+n*t/2;this.setWindow({start:s,end:r})}},n.prototype.redraw=function(){this._redraw()},n.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){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(c.addClassName(o.root,"vis-top"),c.removeClassName(o.root,"vis-bottom")):(c.removeClassName(o.root,"vis-top"),c.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=c.option.asSize(e.maxHeight,""),o.root.style.minHeight=c.option.asSize(e.minHeight,""),o.root.style.width=c.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,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=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&&(i.borderRootWidth=i.borderRootHeight),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 n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=c.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=c.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var p=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var h=e.get(i.groupId),d=e.get(this.groupTouchParams.group.groupId);d&&h&&(this.options.groupOrderSwap(d,h,e),e.update(d),e.update(h));var l=e.getIds({order:this.options.groupOrder});if(!c.equalArray(l,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,m=Math.min(u.length,l.length),v=0,g=0,y=0;v=m)break;if(l[v+g]!=p)if(u[v+y]!=p){var b=l.indexOf(u[v+y]),_=e.get(l[v+g]),w=e.get(u[v+y]);this.options.groupOrderSwap(_,w,e),e.update(_),e.update(w);var x=l[v+g];l[v+g]=u[v+y],l[b]=x,v++}else y=1;else g=1}}}},n.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=c.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(!c.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),groupsData.update(d),groupsData.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.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:c.elementsCensor(t)})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);if(e!==i){if(e.getTitle()){null==e.popup&&e.setPopup(new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip"));var o=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-c.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-c.getAbsoluteTop(o)+o.offsetTop),e.popup.show()}this.body.emitter.emit("itemover",{item:e.id,event:c.elementsCensor(t)})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);e!==i&&(null!=e.popup&&e.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:c.elementsCensor(t)}))}},n.prototype._onMouseMove=function(t){var e=this.itemFromTarget(t);if(e&&this.options.tooltip.followMouse&&e.popup&&!e.popup.hidden){var i=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-c.getAbsoluteLeft(i)+i.offsetLeft,t.clientY-c.getAbsoluteTop(i)+i.offsetTop),e.popup.show()}},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.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){if(this.options.rtl)var n=c.getAbsoluteRight(this.dom.frame),s=n-t.center.x;else var n=c.getAbsoluteLeft(this.dom.frame),s=t.center.x-n;var r=this.body.util.toTime(s),a=this.body.util.getScale(),h=this.body.util.getStep(),d={start:i?i(r,a,h):r,content:"new item"};if("drop"==t.type){var l=JSON.parse(t.dataTransfer.getData("text"));if(d.content=l.content,d.type=l.type||"box",d[this.itemsData._fieldId]=l.id||c.randomUUID(),"range"==l.type||l.end&&l.start)if(l.end)d.end=l.end,d.start=l.start;else{var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}}else if(d[this.itemsData._fieldId]=c.randomUUID(),"range"===this.options.type){var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}var p=this.groupFromTarget(t);p&&(d.group=p.groupId),d=this._cloneItemData(d),this.options.onAdd(d,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],o=t.srcEvent&&t.srcEvent.shiftKey||!1;if(o&&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=n._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 x||i.push(d.id)}}}else{var p=i.indexOf(e.id);p==-1?i.push(e.id):i.splice(p,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:c.elementsCensor(t)})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?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.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.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.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){if(void 0==t&&(t=this.current),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);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 e(a)+t(a.milliseconds()).trim();case"second":return e(a)+t(a.seconds()).trim();case"minute":return e(a)+t(a.minutes()).trim();case"hour":return"vis-h"+a.hours()+(4==this.step?"-h"+(a.hours()+4):"")+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":return"vis-day"+a.date()+" vis-"+a.format("MMMM").toLowerCase()+e(a)+o(a)+(this.step<=2?e(a):"")+(this.step<=2?" vis-"+a.format("dddd").toLowerCase():""+t(a.date()-1));case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var d=a.year();return"vis-year"+d+n(a)+t(d);default:return""}},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],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 s=i(58),r=o(s),a=i(1),h=i(131);i(132);n.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.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},n.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=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 e instanceof Object?i(t,this.dom.inner):void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?a.removeClassName(this.dom.inner,"vis-hidden"):a.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,a.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)a.removeClassName(this.dom.label,"collapsed"),a.addClassName(this.dom.label,"expanded");else{a.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";a.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(a.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(a.removeClassName(this.dom.label,this.className),a.removeClassName(this.dom.foreground,this.className),a.removeClassName(this.dom.background,this.className),a.removeClassName(this.dom.axis,this.className)),a.addClassName(this.dom.label,n),a.addClassName(this.dom.foreground,n),a.addClassName(this.dom.background,n),a.addClassName(this.dom.axis,n),this.className=n),this.style&&(a.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(a.addCssText(this.dom.label,t.style),this.style=t.style)},n.prototype.getLabelWidth=function(){return this.props.label.width},n.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,a.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var r=this,d=!1;a.forEach(this.items,function(t){t.displayed||(t.redraw(),r.visibleItems.push(t)),t.repositionX(d)});var l=this.orderedItems.byStart.slice().sort(function(t,e){return r.itemSet.options.order(t.data,e.data)});h.stack(l,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?h.stack(this.visibleItems,e,i):h.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var u=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=a.updateProperty(this,"height",u)||o,o=a.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=a.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=u+"px",this.dom.foreground.style.height=u+"px",this.dom.label.style.height=u+"px";for(var c=0,p=this.visibleItems.length;c0){var e=this;this.resetSubgroups(),a.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},n.prototype._isGroupVisible=function(t,e){var i=this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop;return i},n.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(a.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,a.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},n.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)},n.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)},n.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,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},n.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},n.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;i0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.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(108),i(133));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.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),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._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._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),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||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,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:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+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){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.popup=null,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={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(i.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable)))}var s=i(58),r=o(s),a=i(62),h=o(a),d=i(108),l=i(1),u=i(84);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.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={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(options.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable))),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;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 d(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)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=50,s=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=o+this.parent.top-n<-s;r?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var a,h;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(h=this.options.tooltipOnItemUpdateTime.template.bind(this),a=h(this.data)):(a="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(a+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=a}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.prototype._updateTitle=function(){null!=this.data.title&&null!=this.popup&&this.popup.setText(this.data.title||"")},n.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=(0,r.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-nt.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-n/2t.start&&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._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;if(void 0!==this.data.subgroup){var i=this.data.subgroup,o=this.parent.subgroups;o[i].index;this.dom.box.style.height=this.parent.subgroups[i].height+"px";var n=this.options.orientation.item;"top"==n?this.dom.box.style.top=this.parent.top+this.parent.subgroups[i].top+"px":this.dom.box.style.top=this.parent.top+this.parent.height-this.parent.subgroups[i].top-this.parent.subgroups[i].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top="top"==n?"0":"",this.dom.box.style.bottom="top"==n?"":"0"):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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:d.FORMAT,moment:u,timeAxis:null},this.options=a.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var s=i(62),r=o(s),a=i(1),h=i(124),d=i(129),l=i(125),u=i(84);n.prototype=new h,n.prototype.setOptions=function(t){t&&(a.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),a.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,r.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof u.locale?u.locale(t.locale):u.lang(t.locale)))},n.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"},n.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},n.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},n.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=a.convert(this.body.range.start,"Number"),i=a.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-l.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new d(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var h,u,p,f,m,v,g,y,b,_,w=0,x=void 0,k=0,O=1e3;for(s.start(),u=s.getCurrent(),f=this.body.util.toScreen(u);s.hasNext()&&k=.4*g;if(this.options.showMinorLabels&&D){var S=this._repaintMinorText(p,b,t,_);S.style.width=w+"px"}m&&this.options.showMajorLabels?(p>0&&(void 0==x&&(x=p),S=this._repaintMajorText(p,s.getLabelMajor(),t,_)),y=this._repaintMajorLine(p,w,t,_)):D?y=this._repaintMinorLine(p,w,t,_):y&&(y.style.width=parseInt(y.style.width)+w+"px")}if(k!==O||c||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+O+" lines."),c=!0),this.options.showMajorLabels){var M=this.body.util.toTime(0),C=s.getLabelMajor(M),T=C.length*(this.props.majorCharWidth||10)+10;(void 0==x||T1e3&&(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"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{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"},overrideItems:{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,function:"function"}},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,function:"function"}},__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},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:r,number:n,string:i,moment:d},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:a}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:a}},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,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,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,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}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');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(114),r=o(s),a=i(122),h=o(a),d=(i(95),i(108),i(84)),l=i(1),u=i(91),c=i(93),p=i(123),f=i(126),m=i(138),v=i(142),g=i(140),y=i(145),b=i(122).printStyle,_=i(153).allOptions,w=i(153).configureOptions;n.prototype=new f,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),f.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]))},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:e0&&d.push(u.screenToValue(n)),!c.hidden&&this.itemsData.length>0&&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){return t&&t.__esModule?t:{default:t}}function n(t,e){this.id=a.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=a.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=a.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 s=i(62),r=o(s),a=i(1),h=i(90),d=i(91),l=i(93),u=i(124),c=i(146),p=i(148),f=i(152),m=i(149),v=i(151),g=i(150),y="__ungrouped__";n.prototype=new u,n.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 c(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new c(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new f(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new f(this.body,this.options.legend,"right",this.options.groups),this.show()},n.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",""))0){var a={};for(this._getRelevantData(r,a,n,s),this._applySampling(r,a),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(r[e])||(l[r[e]]=v.calcPath(a[r[e]],t)),v.draw(l[r[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||g.draw(a[r[e]],t,this.framework);break;case"bar":}}}return h.cleanupElements(this.svgElements),!1},n.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}},n.prototype._getRelevantData=function(t,e,i,o){var n,s,r,h;if(t.length>0)for(s=0;s0)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;l0){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]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},n.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=di?i:h,l=l=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 a=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(a=this.props.titleCharHeight);var d=this.options.icons===!0?Math.max(this.options.iconWidth,a)+this.options.labelOffsetX+15:a+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-d&&this.options.visible===!0?(this.width=this.maxLabelSize+d,this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+d),this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),e=!1),e},n.prototype.convertValue=function(t){return this.scale.convertValue(t)},n.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},n.prototype._redrawLabel=function(t,e,i,o,n){var s=h.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>.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;i<0&&(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&&ue.x?1:-1})):this.itemsData=[]},n.prototype.getItems=function(){return this.itemsData},n.prototype.setZeroPosition=function(t){this.zeroPosition=t},n.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];a.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),a.mergeOptions(this.options,t,"interpolation"),a.mergeOptions(this.options,t,"drawPoints"),a.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,r.default)(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))}},n.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||t.visible,this.style=t.style,this.setOptions(t.options)},n.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":d.drawIcon(this,o,n,t,e,i);break;case"points":case"point":l.drawIcon(this,o,n,t,e,i);break;case"bar":h.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},n.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=t0){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;n0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+_*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;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},n.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,r.default)(this.groups);t.sort(function(t,e){return t0){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=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(159),d=o(h),l=i(160),u=o(l),c=i(1),p=i(91),f=i(93),m=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(d.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.nodes;if(t instanceof p||t instanceof f)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new p,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new p}o&&c.forEach(this.nodesListeners,function(t,e){o.off(e,t)}),this.body.nodes={},this.body.data.nodes&&!function(){var t=e;c.forEach(e.nodesListeners,function(e,i){t.body.data.nodes.on(i,e)});var i=e.body.data.nodes.getIds();e.add(i,!0)}(),i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:d.default;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){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]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(j.selectiveNotDeepExtend(n,t,e,i),j.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=j.parseColor(e.color);j.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=j.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?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=j.bridgeObject(o.font)),void 0!==e.scaling&&j.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(2),a=o(r),h=i(62),d=o(h),l=i(115),u=o(l),c=i(116),p=o(c),f=i(1),m=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,p.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=f.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,d.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=f.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===("undefined"==typeof n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=f.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=f.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===("undefined"==typeof a?"undefined":(0,d.default)(a))){var h=f.topMost(o,["heightConstraint","minimum"]);"number"==typeof h&&(this.fontOptions.minHgt=Number(h));var l=f.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=f.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===("undefined"==typeof n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var h,d=(0,a.default)(o);!(n=(h=d.next()).done);n=!0){var l=h.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*p}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(f)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&d.return&&d.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,h=a*this.body.view.scale;h>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var d=this.size.yLine,l=this._setAlignment(t,o,d,r),u=(0,s.default)(l,2);o=u[0],d=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(d-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(d+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=m.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=y,m.strokeWidth>0&&t.strokeText(m.text,o+p,d+m.vadjust),t.fillText(m.text,o+p,d+m.vadjust),p+=m.width}d+=this.lines[c].height}}},{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,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=f.overrideOpacity(o,s),n=f.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,h,d){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:h,strokeColor:d})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,h,d){this.add(t,e,i,o,n,s,r,a,h,d),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),h=a.length;if(this.elementOptions.font.multi)for(var d=0;d0)for(var m=this.getFormattingValues(t,e,i,l[f].mod),v=l[f].text.split(" "),g=!0,y="",b=void 0,_=void 0,w=0;wthis.fontOptions.maxWdt?(c=m.height>c?m.height:c,s.add(r,y,m.font,m.color,_.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,_.width,c),y="",g=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(y=y+x+v[w],w===v.length-1&&(c=m.height>c?m.height:c,u+=b.width,s.add(r,y,m.font,m.color,b.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,b.width,c),f===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,g=!1)}else{var k=this.getFormattingValues(t,e,i,l[f].mod),O=t.measureText(l[f].text);s.addAndAccumulate(r,l[f].text,k.font,k.color,O.width,k.height,k.vadjust,l[f].mod,k.strokeWidth,k.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===f&&(n+=s[r].height,r++)}}}else for(var D=0;D0)for(var M=a[D].split(" "),C="",T=void 0,E=void 0,P=0;Pthis.fontOptions.maxWdt?(s.addAndAccumulate(r,C,S.font,S.color,E.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,C="",r++):(C=C+I+M[P],P===M.length-1&&(s.addAndAccumulate(r,C,S.font,S.color,T.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var N=a[D],z=t.measureText(N);s.addAndAccumulate(r,N,S.font,S.color,z.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&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],t.vadjust=0}else"object"===(0,d.default)(e.font)&&f.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(162),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,h=(0,a.default)(t);!(o=(r=h.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&h.return&&h.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(163),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(164)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{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}(m.default);e.default=v},function(t,e,i){t.exports={default:i(167),__esModule:!0}},function(t,e,i){i(168),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(62),s=o(n);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"==typeof e?"undefined":(0,s.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(171),s=o(n),r=i(55),a=o(r),h=i(62),d=o(h);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,d.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(172),__esModule:!0}},function(t,e,i){i(173),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(174).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,d.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(177),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){ -this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,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}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"setOptions",value:function(t,e){this.options=t,e&&(this.imageObj=e)}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.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=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,h=1;i>2&&h<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,h+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(177),m=o(f),v=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r._swapToImageResizeWhenImageLoaded=!0,r}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{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,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.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selected,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.hover;this._resizeShape(i,o,e)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var h=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,h),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),h>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var d=n+.5*this.height+3;this.labelModule.draw(t,o,d,s,r,"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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selected,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.hover;this._resizeShape(i,o,e)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){var r=5;this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+r,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){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,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(177),m=o(f),v=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){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.beginPath(),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.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),h>0&&(this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(i,o,e)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(192),d=o(h),l=i(160),u=o(l),c=i(1),p=i(91),f=i(93),m=function(){function t(e,i,o){var n=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=this.create.bind(this),this.edgesListeners={add:function(t,e){n.add(e.items)},update:function(t,e){n.update(e.items)},remove:function(t,e){n.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){"dynamic"===e&&(e="continuous");var i=!1;for(var o in t.body.edges)if(t.body.edges.hasOwnProperty(o)){var n=t.body.edges[o],s=t.body.data.edges._data[o];if(void 0!==s){var r=s.smooth;void 0!==r&&r.enabled===!0&&"dynamic"===r.type&&(void 0===e?n.setOptions({smooth:!1}):n.setOptions({smooth:{type:e}}),i=!0)}}i===!0&&t.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",function(){t.reconnectEdges()}),this.body.emitter.on("refreshEdges",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.edgesListeners,function(e,i){t.body.data.edges&&t.body.data.edges.off(i,e)}),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners})}},{key:"setOptions",value:function(t){if(this.edgeOptions=t,void 0!==t){d.default.parseOptions(this.options,t);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)this.body.edges.hasOwnProperty(i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var o in this.body.edges)this.body.edges.hasOwnProperty(o)&&this.body.edges[o].updateLabelModule()}void 0===t.hidden&&void 0===t.physics&&e!==!0||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof p||t instanceof f)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new p,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new p}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.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,this.hover)}}}},{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 h0&&i<0)&&(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]&&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(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(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),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,d.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var h=!1;void 0!==e.color.color&&(t.color.color=e.color.color,h=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,h=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,h=!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&&h===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?m.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=D},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(166),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(169),p=o(c),f=i(170),m=o(f),v=i(194),g=o(v),y=function(t){function e(t,i,o){return(0,d.default)(this,e),(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,m.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.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,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),h=(0,s.default)(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3);var h=a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,d=a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y;return{x:h,y:d}}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(195),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var h=1e9,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=t,m=e,v=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=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,c,p,n,s),h=d2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),h=10,d=0,l=0,u=1,c=.2,p=this.to,f=!1;for(t.id===this.from.id&&(p=this.from,f=!0);l<=u&&d0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=ho.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,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);s<=r&&d0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{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,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&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,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=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,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,h){var d=0;if(this.from!=this.to)d=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0,h),u=(0,s.default)(l,3),c=u[0],p=u[1],f=u[2],m=c-n,v=p-r;d=Math.abs(Math.sqrt(m*m+v*v)-f)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:d}},{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:d<0&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=r.width;if("from"===e?(d=this.from,l=this.to,u=.1,c=r.fromArrowScale,p=r.fromArrowType):"to"===e?(d=this.to,l=this.from,u=-.1,c=r.toArrowScale,p=r.toArrowType):(d=this.to,l=this.from,c=r.middleArrowScale,p=r.middleArrowType),d!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var m=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);a=Math.atan2(h.y-m.y,h.x-m.x)}else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.5,i);else{var v=this._getCircleData(t),g=(0,s.default)(v,3),y=g[0],b=g[1],_=g[2];"from"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),a=h.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),a=h.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(h=this._pointOnCircle(y,b,_,.175),a=3.9269908169872414)}var w=15*c+3*f,x=h.x-.9*w*Math.cos(a),k=h.y-.9*w*Math.sin(a),O={x:x,y:k};return{point:h,core:O,angle:a,length:w,type:p}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(166),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(169),p=o(c),f=i(170),m=o(f),v=i(195),g=o(v),y=function(t){function e(t,i,o){(0,d.default)(this,e);var n=(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,m.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),h=a[0],d=a[1],l=a[2],u=2*Math.PI*(1-i);o=h+l*Math.sin(u),n=d+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(195),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)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*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=nMath.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=sMath.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.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(196),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),h=t.distanceToBorder(e,n),d=(a-h)/a,l={};return l.x=(1-d)*o.x+d*i.x,l.y=(1-d)*o.y+d*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(201),u=o(l),c=i(202),p=o(c),f=i(203),m=o(f),v=i(204),g=o(v),y=i(205),b=o(y),_=i(206),w=o(_),x=i(207),k=o(x),O=i(208),D=o(O),S=i(1),M=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},S.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,d.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,S.selectiveNotDeepExtend(["stabilization"],this.options,t),S.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new k.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new D.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new p.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new m.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick();var e=Date.now()-t;(e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||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]?arguments[0]:this.options.stabilization.iterations;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;s0&&(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&&o.shape.radius&&(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;h0&&(dr&&(r=d),la&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,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;y0&&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=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,h=this.body.nodes,d=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,p=4/3,f=0;f0){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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(210),p=o(c),f=i(211),m=o(f),v=i(1),g=function(){function t(e){var i=this;(0,d.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},v.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=0;u0&&(0,s.default)(f).length>0&&v===!0&&o.push({nodes:c,edges:f})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,h=p.default.cloneOptions(o);n[a]=o;for(var d=0;d-1&&(r[g.id]=g)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=(0,s.default)(t),c=[],f=0;f0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=v.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var h in t)if(t.hasOwnProperty(h)){var d=p.default.cloneOptions(t[h]);a.push(d)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=p.default.cloneOptions(e[u],"edge");l.push(c)}if(r=i.processProperties(r,a,l),!r)throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+v.randomUUID());var f=r.id;void 0===r.label&&(r.label="cluster");var g=void 0;void 0===r.x&&(g=this._getClusterPosition(t),r.x=g.x),void 0===r.y&&(void 0===g&&(g=this._getClusterPosition(t)),r.y=g.y),r.id=f;var y=this.body.functions.createNode(r,m.default);y.isCluster=!0,y.containedNodes=t,y.containedEdges=e,y.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=y,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,h=1;ho?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||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 h in n)if(n.hasOwnProperty(h)){var d=this.body.nodes[h];r[h]={x:d.x,y:d.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var f in n)if(n.hasOwnProperty(f)){var m=this.body.nodes[f];m=n[f],m.options.fixed.x===!1&&(m.x=o.x),m.options.fixed.y===!1&&(m.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=[],_=0;_o&&(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=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(1),d=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)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"];h.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]&&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]&&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&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){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(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)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 h(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:h.DIRECTION_ALL}),d.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 h(this.frame),d.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;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,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},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=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(210),d=o(h),l=i(1),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",this.fit.bind(this)),this.body.emitter.on("animationFinished",function(){o.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",this.releaseNode.bind(this))}return(0,a.default)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=d.default.getRange(this.body.nodes,t.nodes);var a=this.body.nodeIndices.length;o=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=h}else{this.body.emitter.emit("_resizeNodes"),i=d.default.getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,p=this.canvas.frame.canvas.clientHeight/u;o=c<=p?c:p}o>1?o=1:0===o&&(o=1);var f=d.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]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.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=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(216),d=o(h),l=i(128),u=o(l),c=i(1),p=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new d.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(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]&&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),u=l.nodesChanged,c=l.edgesChanged,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):u===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0):h-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(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;n10&&(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"),i0&&(this.popupObj=h[l[l.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 u.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=void 0!==o&&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=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=(i(1),i(108)),d=i(121),l=i(111),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(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(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:pointer})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:pointer})}},{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=l({container:window,preventDefault:!0}):this.keycharm=l({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=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(159),d=o(h),l=i(192),u=o(l),c=i(1),p=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},c.extend(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",function(){o.updateSelection()})}return(0,a.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){var e=["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"];c.selectiveDeepExtend(e,this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,i.isSelected()===!0?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof d.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?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;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(161),a=o(r),h=i(62),d=o(h),l=i(115),u=o(l),c=i(116),p=o(c),f=i(210),m=o(f),v=i(1),g=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},v.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,p.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(v.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),v.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(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"),v.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||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,d.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||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||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&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||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&&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=h(),i=0;i0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var h in e)if(e.hasOwnProperty(h)){var d=t.body.nodes[h],l=t.hierarchicalLevels[d.id],u=t._getPositionForHierarchy(d),c=t._getSpaceAroundNode(d,e),p=(0,a.default)(c,2),f=p[0],m=p[1];o=Math.min(f,o),n=Math.min(m,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},u=function e(i){var o=t.hierarchicalLevels[i];if(t.hierarchicalChildrenReference[i]){var n=t.hierarchicalChildrenReference[i];if(n.length>0)for(var s=0;s1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o),h=Math.abs(r-s);if(h>t.options.hierarchical.nodeSpacing){var u={};u[i.id]=!0;var p={};p[o.id]=!0,d(i,u),d(o,p);var f=c(i,o),m=l(u,f),v=(0,a.default)(m,4),g=(v[0],v[1]),y=(v[2],v[3],l(p,f)),b=(0,a.default)(y,4),_=b[0],w=(b[1],b[2]),x=(b[3],Math.abs(g-_));if(x>t.options.hierarchical.nodeSpacing){var k=g-_+t.options.hierarchical.nodeSpacing;k<-w+t.options.hierarchical.nodeSpacing&&(k=-w+t.options.hierarchical.nodeSpacing),k<0&&(t._shiftBlock(o.id,k),e=!0,n===!0&&t._centerParent(o))}}},v=function(o,n){for(var s=n.id,r=n.edges,h=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},p=[],f=0;f0?m=Math.min(f,p-t.options.hierarchical.nodeSpacing):f<0&&(m=-Math.min(-f,c-t.options.hierarchical.nodeSpacing)),0!=m&&(t._shiftBlock(n.id,m),e=!0)},w=function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),h=r[0],d=r[1],l=i-o,u=o;l>0?u=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)},x=b(o,p);_(x),x=b(o,r),w(x)},g=function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var d=0;d0&&Math.abs(g)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),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(m.default.cloneOptions(o,"node"),m.default.cloneOptions(n,"node"),m.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]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3];o!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("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=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(82),a=o(r),h=i(62),d=o(h),l=i(115),u=o(l),c=i(116),p=o(c),f=i(1),m=i(108),v=i(121),g=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0, -this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},f.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,p.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,f.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&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=f.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","object"===(0,d.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var e=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(e.from,e.to)}if(this.guiEnabled===!0){var i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.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=f.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+f.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={},f.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&&(f.recursiveDOMDelete(this.editModeDiv),f.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;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){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=f.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"+f.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(this.temporaryIds.nodes.indexOf(n[r])===-1){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:f.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,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===("undefined"==typeof n?"undefined":(0,d.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(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=g},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:{string:["arrow","circle"]},__type__:{object:r,boolean:o}},middle:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:r,boolean:o}},from:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:r,boolean:o}},__type__:{string:["from","to","middle"],object:r}},arrowStrikethrough:{boolean:o},chosen:{label:{boolean:o,function:"function"},edge:{boolean:o,function:"function"},__type__:{object:r,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"]},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},__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},widthConstraint:{maximum:{number:n},__type__:{object:r,boolean:o,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:{editWithoutDrag:{function:"function"},__type__:{object:r,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"},chosen:{label:{boolean:o,function:"function"},node:{boolean:o,function:"function"},__type__:{object:r,boolean:o}},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},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},__type__:{object:r,string:i}},group:{string:i,number:n,undefined:"undefined"},heightConstraint:{minimum:{number:n},valign:{string:i},__type__:{object:r,boolean:o,number:n}},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"},margin:{top:{number:n},right:{number:n},bottom:{number:n},left:{number:n},__type__:{object:r,number:n}},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"},widthConstraint:{minimum:{number:n},maximum:{number:n},__type__:{object:r,boolean:o,number:n}},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],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},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]}};e.allOptions=d,e.configureOptions=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(222),u=o(l),c=function(){function t(e,i,o){(0,a.default)(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new u.default}return(0,d.default)(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=.01,r=1,a=0,h=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),d=5,l=1e9,u=0,c=0,p=0,f=0,m=0;l>n&&ar&&m=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=r<0?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t){return R=t,m()}function s(){L=0,A=R.charAt(0)}function r(){L++,A=R.charAt(L)}function a(){return R.charAt(L+1)}function h(t){return H.test(t)}function d(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function l(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 u(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;i=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=d(n.attr,e.attr))}function c(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=d({},t.edge);e.attr=d(i,e.attr)}}function p(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=d({},t.edge)),s.attr=d(s.attr||{},n),s}function f(){for(F=N.NULL,B="";" "===A||"\t"===A||"\n"===A||"\r"===A;)r();do{var t=!1;if("#"===A){for(var e=L-1;" "===R.charAt(e)||"\t"===R.charAt(e);)e--;if("\n"===R.charAt(e)||""===R.charAt(e)){for(;""!=A&&"\n"!=A;)r();t=!0}}if("/"===A&&"/"===a()){for(;""!=A&&"\n"!=A;)r();t=!0}if("/"===A&&"*"===a()){for(;""!=A;){if("*"===A&&"/"===a()){r(),r();break}r()}t=!0}for(;" "===A||"\t"===A||"\n"===A||"\r"===A;)r()}while(t);if(""===A)return void(F=N.DELIMITER);var i=A+a();if(z[i])return F=N.DELIMITER,B=i,r(),void r();if(z[A])return F=N.DELIMITER,B=A,void r();if(h(A)||"-"===A){for(B+=A,r();h(A);)B+=A,r();return"false"===B?B=!1:"true"===B?B=!0:isNaN(Number(B))||(B=Number(B)),void(F=N.IDENTIFIER)}if('"'===A){for(r();""!=A&&('"'!=A||'"'===A&&'"'===a());)B+=A,'"'===A&&r(),r();if('"'!=A)throw k('End of string " expected');return r(),void(F=N.IDENTIFIER)}for(F=N.UNKNOWN;""!=A;)B+=A,r();throw new SyntaxError('Syntax error in part "'+O(B,30)+'"')}function m(){var t={};if(s(),f(),"strict"===B&&(t.strict=!0,f()),"graph"!==B&&"digraph"!==B||(t.type=B,f()),F===N.IDENTIFIER&&(t.id=B,f()),"{"!=B)throw k("Angle bracket { expected");if(f(),v(t),"}"!=B)throw k("Angle bracket } expected");if(f(),""!==B)throw k("End of file expected");return f(),delete t.node,delete t.edge,delete t.graph,t}function v(t){for(;""!==B&&"}"!=B;)g(t),";"===B&&f()}function g(t){var e=y(t);if(e)return void w(t,e);var i=b(t);if(!i){if(F!=N.IDENTIFIER)throw k("Identifier expected");var o=B;if(f(),"="===B){if(f(),F!=N.IDENTIFIER)throw k("Identifier expected");t[o]=B,f()}else _(t,o)}}function y(t){var e=null;if("subgraph"===B&&(e={},e.type="subgraph",f(),F===N.IDENTIFIER&&(e.id=B,f())),"{"===B){if(f(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,v(e),"}"!=B)throw k("Angle bracket } expected");f(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function b(t){return"node"===B?(f(),t.node=x(),"node"):"edge"===B?(f(),t.edge=x(),"edge"):"graph"===B?(f(),t.graph=x(),"graph"):null}function _(t,e){var i={id:e},o=x();o&&(i.attr=o),u(t,i),w(t,e)}function w(t,e){for(;"->"===B||"--"===B;){var i,o=B;f();var n=y(t);if(n)i=n;else{if(F!=N.IDENTIFIER)throw k("Identifier or subgraph expected");i=B,u(t,{id:i}),f()}var s=x(),r=p(t,e,i,o,s);c(t,r),e=i}}function x(){for(var t=null;"["===B;){for(f(),t={};""!==B&&"]"!=B;){if(F!=N.IDENTIFIER)throw k("Attribute name expected");var e=B;if(f(),"="!=B)throw k("Equal sign = expected");if(f(),F!=N.IDENTIFIER)throw k("Attribute value expected");var i=B;l(t,e,i),f(),","==B&&f()}if("]"!=B)throw k("Bracket ] expected");f()}return t}function k(t){return new SyntaxError(t+', got "'+O(B,30)+'" (char '+L+")")}function O(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function D(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},R="",L=0,A="",B="",F=N.NULL,H=/[a-zA-Z_0-9.:#]/;e.parseDOT=n,e.DOTToGraph=C},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;a2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=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(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){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 g={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(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=g.split(t.style.cssText),n=g.split(i),s=e.extend(o,n);t.style.cssText=g.join(s)},e.removeCssText=function(t,e){var i=g.split(t.style.cssText),o=g.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=g.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":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&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]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(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;r<=a&&s0)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 t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),c=i(47)("iterator"),p=!([].keys&&"next"in[].keys()),f="@@iterator",m="keys",v="values",g=function(){return this};t.exports=function(t,e,i,y,b,_,w){d(i,e,y);var x,k,O,D=function(t){if(!p&&t in T)return T[t];switch(t){case m:return function(){return new i(this,t)};case v:return function(){return new i(this,t)}}return function(){return new i(this,t)}},M=e+" Iterator",S=b==v,C=!1,T=t.prototype,E=T[c]||T[f]||b&&T[b],P=E||D(b),I=b?S?D("entries"):P:void 0,N="Array"==e?T.entries||E:E;if(N&&(O=u(N.call(new t)),O!==Object.prototype&&(l(O,M,!0),o||a(O,c)||r(O,c,g))),S&&E&&E.name!==v&&(C=!0,P=function(){return E.call(this)}),o&&!w||!p&&!C&&T[c]||r(T,c,P),h[e]=P,h[M]=g,b)if(x={values:S?P:D(v),keys:_?P:D(m),entries:I},w)for(k in x)k in T||s(T,k,x[k]);else n(n.P+n.F*(p||C),e,x);return x}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",h=function(t,e,i){var d,l,u,c=t&h.F,p=t&h.G,f=t&h.S,m=t&h.P,v=t&h.B,g=t&h.W,y=p?n:n[e]||(n[e]={}),b=y[a],_=p?o:f?o[e]:(o[e]||{})[a];p&&(i=e);for(d in i)l=!c&&_&&void 0!==_[d],l&&d in y||(u=l?_[d]:i[d],y[d]=p&&"function"!=typeof _[d]?i[d]:v&&l?s(u,o):g&&_[d]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):m&&"function"==typeof u?s(Function.call,u):u,m&&((y.virtual||(y.virtual={}))[d]=u,t&h.R&&b&&!b[d]&&r(b,d,u)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h="prototype",d=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),d=t.F;o--;)delete d[h][s[o]];return d()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[h]=o(t),i=new a,a[h]=null,i[r]=t):i=d(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if(a=h[l++],a!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),c=i(43),p=i(47),f=i(65),m=i(70),v=i(71),g=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),k=i(33),O=i(76),D=i(78),M=i(21),S=i(35),C=D.f,T=M.f,E=O.f,P=o.Symbol,I=o.JSON,N=I&&I.stringify,z="prototype",R=p("_hidden"),L=p("toPrimitive"),A={}.propertyIsEnumerable,B=l("symbol-registry"),F=l("symbols"),H=l("op-symbols"),j=Object[z],W="function"==typeof P,Y=o.QObject,G=!Y||!Y[z]||!Y[z].findChild,V=s&&d(function(){return 7!=k(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=C(j,e);o&&delete j[e],T(t,e,i),o&&t!==j&&T(j,e,o)}:T,U=function(t){var e=F[t]=k(P[z]);return e._k=t,e},q=W&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===j&&X(H,e,i),b(t),e=w(e,!0),b(i),n(F,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=k(i,{enumerable:x(0,!1)})):(n(t,R)||T(t,R,x(1,{})),t[R][e]=!0),V(t,e,i)):T(t,e,i)},Z=function(t,e){b(t);for(var i,o=g(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},K=function(t,e){return void 0===e?k(t):Z(k(t),e)},Q=function(t){var e=A.call(this,t=w(t,!0));return!(this===j&&n(F,t)&&!n(H,t))&&(!(e||!n(this,t)||!n(F,t)||n(this,R)&&this[R][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(F,e)||n(H,e)){var i=C(t,e);return!i||!n(F,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},$=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(F,e=i[s++])||e==R||e==h||o.push(e);return o},tt=function(t){for(var e,i=t===j,o=E(i?H:_(t)),s=[],r=0;o.length>r;)!n(F,e=o[r++])||i&&!n(j,e)||s.push(F[e]);return s};W||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(H,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),V(this,t,x(1,i))};return s&&G&&V(j,t,{configurable:!0,set:e}),U(t)},a(P[z],"toString",function(){return this._k}),D.f=J,M.f=X,i(77).f=O.f=$,i(74).f=Q,i(73).f=tt,s&&!i(14)&&a(j,"propertyIsEnumerable",Q,!0),f.f=function(t){return U(p(t))}),r(r.G+r.W+r.F*!W,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)p(et[it++]);for(var et=S(p.store),it=0;et.length>it;)m(et[it++]);r(r.S+r.F*!W,"Symbol",{for:function(t){return n(B,t+="")?B[t]:B[t]=P(t)},keyFor:function(t){if(q(t))return v(B,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){G=!0},useSimple:function(){G=!1}}),r(r.S+r.F*!W,"Object",{create:K,defineProperty:X,defineProperties:Z,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:tt}),I&&r(r.S+r.F*(!W||d(function(){var t=P();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!q(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!q(e))return e}),o[1]=e,N.apply(I,o)}}}),P[z][L]||i(20)(P[z],L,P[z].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},p=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:p}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports={default:i(83),__esModule:!0}},function(t,e,i){var o=i(17),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(85)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return vo.apply(null,arguments)}function i(t){vo=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i in bo)o=bo[i],n=e[o],v(n)||(t[o]=n);return t}function y(t){g(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function x(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return M(i)?i(e):i.replace(/%s/i,e)}function L(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function A(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function B(t){var e,i,o={};for(i in t)d(t,i)&&(e=A(i),e&&(o[e]=t[i]));return o}function F(t,e){Io[t]=e}function H(t){var e=[];for(var i in t)e.push({unit:i,priority:Io[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,i){return function(o){return null!=o?(Y(this,t,o),e.updateOffset(this,i),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Y(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function G(t){return t=A(t),M(this[t])?this[t]():this}function V(t,e){if("object"==typeof t){t=B(t);for(var i=H(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function q(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Lo[t]=n),e&&(Lo[e[0]]=function(){return U(n.apply(this,arguments),e[1],e[2])}),i&&(Lo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Z(t){var e,i,o=t.match(No);for(e=0,i=o.length;e=0&&zo.test(t);)t=t.replace(zo,i),zo.lastIndex=0,o-=1;return t}function J(t,e,i){tn[t]=M(e)?e:function(t,o){return t&&i?i:e}}function $(t,e){return d(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(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 d<=0?(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 kt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(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=wt(t,e,i),n=wt(t+1,e,i);return(vt(t)-o+n)/7}function Dt(t){return kt(t,this._week.dow,this._week.doy).week}function Mt(){return this._week.dow}function St(){return this._week.doy}function Ct(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Tt(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Nt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function zt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([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=cn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Lt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([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 At(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Bt(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 Ft(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ht(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=kn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=On),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Dn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),d[e]=et(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Gt(){return this.hours()%12||12}function Vt(){return this.hours()||24}function Ut(t,e){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,i,o,n,s=0;s0;){if(o=Jt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&x(n,i,!0)>=e-1)break;e--}s++}return null}function Jt(e){var i=null;if(!En[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Mn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),$t(i)}catch(t){}return En[e]}function $t(t,e){var i;return t&&(i=v(e)?ie(t):te(t,e),i&&(Mn=i)),Mn._abbr}function te(t,e){if(null!==e){var i=Tn;if(e.abbr=t,null!=En[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=En[t]._config;else if(null!=e.parentLocale){if(null==En[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=En[e.parentLocale]._config}return En[t]=new T(C(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),$t(t),En[t]}return delete En[t],null}function ee(t,e){if(null!=e){var i,o=Tn;null!=En[t]&&(o=En[t]._config),e=C(o,e),i=new T(e),i.parentLocale=En[t],En[t]=i,$t(t)}else null!=En[t]&&(null!=En[t].parentLocale?En[t]=En[t].parentLocale:null!=En[t]&&delete En[t]);return En[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Mn;if(!o(t)){if(e=Jt(t))return e;t=[t]}return Qt(t)}function oe(){return Oo(En)}function ne(t){var e,i=t._a;return i&&p(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[hn]||0!==i[dn])?rn:i[an]<0||i[an]>59?an:i[hn]<0||i[hn]>59?hn:i[dn]<0||i[dn]>999?dn:-1,p(t)._overflowDayOfYear&&(esn)&&(e=sn),p(t)._overflowWeeks&&e===-1&&(e=ln),p(t)._overflowWeekday&&e===-1&&(e=un),p(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,h=In.exec(a)||Nn.exec(a);if(h){for(p(t).iso=!0,e=0,i=Rn.length;evt(n)&&(p(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[hn]&&0===t._a[dn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],kt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=kt(be(),s,r);i=ae(e.gg,t._a[on],d.year),o=ae(e.w,d.week),null!=e.d?(n=e.d,(n<0||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>Ot(i,s,r)?p(t)._overflowWeeks=!0:null!=h?p(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],p(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=Q(t._f,t._locale).match(No)||[],i=0;i0&&p(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Lo[s]?(o?p(t).empty=!1:p(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&p(t).unusedTokens.push(s);p(t).charsLeftOver=h-d,a.length>0&&p(t).unusedInput.push(a),t._a[rn]<=12&&p(t).bigHour===!0&&t._a[rn]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[rn]=ce(t._locale,t._a[rn],t._meridiem),de(t),ne(t)}function ce(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function pe(t){var e,i,o,n,s;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ae(){if(!v(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),t=ve(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Be(){return!!this.isValid()&&!this._isUTC}function Fe(){return!!this.isValid()&&this._isUTC}function He(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function je(t,e){var i,o,n,s=t,a=null;return Oe(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[hn])*i,ms:w(De(1e3*a[dn]))*i}):(a=Yn.exec(t))?(i="-"===a[1]?-1:1,s={y:We(a[2],i),M:We(a[3],i),w:We(a[4],i),d:We(a[5],i),h:We(a[6],i),m:We(a[7],i),s:We(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Ge(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new ke(s),Oe(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function We(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Ye(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 Ge(t,e){var i;return t.isValid()&&e.isValid()?(e=Ce(e,t),t.isBefore(e)?i=Ye(t,e):(i=Ye(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ve(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=je(i,o),Ue(this,n,t),this}}function Ue(t,i,o,n){var s=i._milliseconds,r=De(i._days),a=De(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&Y(t,"Date",W(t,"Date")+r*o),a&<(t,W(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function qe(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=Ce(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(M(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ze(){return new y(this)}function Ke(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=A(v(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Ii.call(this,t,e,i,o,n))}function Ii(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ni(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function zi(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 Ri(t,e){e[dn]=w(1e3*("0."+t))}function Li(){return this._isUTC?"UTC":""}function Ai(){return this._isUTC?"Coordinated Universal Time":""}function Bi(t){return be(1e3*t)}function Fi(){return be.apply(null,arguments).parseZone()}function Hi(t){return t}function ji(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Wi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return ji(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=ji(t,o,i,"month");return n}function Yi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return ji(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=ji(e,(a+s)%7,o,"day");return h}function Gi(t,e){return Wi(t,e,"months")}function Vi(t,e){return Wi(t,e,"monthsShort")}function Ui(t,e,i){return Yi(t,e,i,"weekdays")}function qi(t,e,i){return Yi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Yi(t,e,i,"weekdaysMin")}function Zi(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Ki(t,e,i,o){var n=je(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Qi(t,e){return Ki(this,t,e,1)}function Ji(t,e){return Ki(this,t,e,-1)}function $i(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){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||s<=0&&r<=0&&a<=0||(s+=864e5*$i(io(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=_(s/1e3),h.seconds=t%60,e=_(t/60),h.minutes=e%60,i=_(e/60),h.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=$i(io(n)),o=_(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800}function oo(t){var e,i,o=this._milliseconds;if(t=A(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e), +"month"===t?i:i/12;switch(e=this._days+Math.round(io(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 no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=A(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=je(t).abs(),n=vs(o.as("s")),s=vs(o.as("m")),r=vs(o.as("h")),a=vs(o.as("d")),h=vs(o.as("M")),d=vs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function co(t){return void 0===t?vs:"function"==typeof t&&(vs=t,!0)}function po(t,e){return void 0!==gs[t]&&(void 0===e?gs[t]:(gs[t]=e,!0))}function fo(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function mo(){var t,e,i,o=ys(this._milliseconds)/1e3,n=ys(this._days),s=ys(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"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 vo,go;go=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn=j("FullYear",!0);q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),F("week",5),F("isoWeek",5),J("w",Wo),J("ww",Wo,Bo),J("W",Wo),J("WW",Wo,Bo),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};q("d",0,"do","day"),q("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),q("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),q("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),J("d",Wo),J("e",Wo),J("E",Wo),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:p(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),kn=$o,On=$o,Dn=$o;q("H",["HH",2],0,"hour"),q("h",["hh",2],0,Gt),q("k",["kk",2],0,Vt),q("hmm",0,0,function(){return""+Gt.apply(this)+U(this.minutes(),2)}),q("hmmss",0,0,function(){return""+Gt.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Ut("a",!0),Ut("A",!1),L("hour","h"),F("hour",13),J("a",qt),J("A",qt),J("H",Wo),J("h",Wo),J("HH",Wo,Bo),J("hh",Wo,Bo),J("hmm",Yo),J("hmmss",Go),J("Hmm",Yo),J("Hmmss",Go),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),p(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),p(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n)),p(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n))});var Mn,Sn=/[ap]\.?m?\.?/i,Cn=j("Hours",!0),Tn={calendar:Do,longDateFormat:Mo,invalidDate:So,ordinal:Co,ordinalParse:To,relativeTime:Eo,months:fn,monthsShort:mn,week:bn,weekdays:_n,weekdaysMin:xn,weekdaysShort:wn,meridiemParse:Sn},En={},Pn={},In=/^\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)?)?$/,Nn=/^\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)?)?$/,zn=/Z|[+-]\d\d(?::?\d\d)?/,Rn=[["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}/]],Ln=[["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/]],An=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=O("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Bn=O("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),Hn=function(){return Date.now?Date.now():+new Date};Me("Z",":"),Me("ZZ",""),J("Z",Qo),J("ZZ",Qo),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Se(Qo,t)});var jn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Wn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Yn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;je.fn=ke.prototype;var Gn=Ve(1,"add"),Vn=Ve(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Un=O("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)});q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Mi("gggg","weekYear"),Mi("ggggg","weekYear"),Mi("GGGG","isoWeekYear"),Mi("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),J("G",Zo),J("g",Zo),J("GG",Wo,Bo),J("gg",Wo,Bo),J("GGGG",Uo,Ho),J("gggg",Uo,Ho),J("GGGGG",qo,jo),J("ggggg",qo,jo),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),q("Q",0,"Qo","quarter"),L("quarter","Q"),F("quarter",7),J("Q",Ao),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),q("D",["DD",2],"Do","date"),L("date","D"),F("date",9),J("D",Wo),J("DD",Wo,Bo),J("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(Wo)[0],10)});var qn=j("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),F("dayOfYear",4),J("DDD",Vo),J("DDDD",Fo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),q("m",["mm",2],0,"minute"),L("minute","m"),F("minute",14),J("m",Wo),J("mm",Wo,Bo),it(["m","mm"],an);var Xn=j("Minutes",!1);q("s",["ss",2],0,"second"),L("second","s"),F("second",15),J("s",Wo),J("ss",Wo,Bo),it(["s","ss"],hn);var Zn=j("Seconds",!1);q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),F("millisecond",16),J("S",Vo,Ao),J("SS",Vo,Bo),J("SSS",Vo,Fo);var Kn;for(Kn="SSSS";Kn.length<=9;Kn+="S")J(Kn,Xo);for(Kn="S";Kn.length<=9;Kn+="S")it(Kn,Ri);var Qn=j("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var Jn=y.prototype;Jn.add=Gn,Jn.calendar=Xe,Jn.clone=Ze,Jn.diff=ii,Jn.endOf=mi,Jn.format=ai,Jn.from=hi,Jn.fromNow=di,Jn.to=li,Jn.toNow=ui,Jn.get=G,Jn.invalidAt=Oi,Jn.isAfter=Ke,Jn.isBefore=Qe,Jn.isBetween=Je,Jn.isSame=$e,Jn.isSameOrAfter=ti,Jn.isSameOrBefore=ei,Jn.isValid=xi,Jn.lang=Un,Jn.locale=ci,Jn.localeData=pi,Jn.max=Fn,Jn.min=Bn,Jn.parsingFlags=ki,Jn.set=V,Jn.startOf=fi,Jn.subtract=Vn,Jn.toArray=bi,Jn.toObject=_i,Jn.toDate=yi,Jn.toISOString=si,Jn.inspect=ri,Jn.toJSON=wi,Jn.toString=ni,Jn.unix=gi,Jn.valueOf=vi,Jn.creationData=Di,Jn.year=yn,Jn.isLeapYear=yt,Jn.weekYear=Si,Jn.isoWeekYear=Ci,Jn.quarter=Jn.quarters=Ni,Jn.month=ut,Jn.daysInMonth=ct,Jn.week=Jn.weeks=Ct,Jn.isoWeek=Jn.isoWeeks=Tt,Jn.weeksInYear=Ei,Jn.isoWeeksInYear=Ti,Jn.date=qn,Jn.day=Jn.days=At,Jn.weekday=Bt,Jn.isoWeekday=Ft,Jn.dayOfYear=zi,Jn.hour=Jn.hours=Cn,Jn.minute=Jn.minutes=Xn,Jn.second=Jn.seconds=Zn,Jn.millisecond=Jn.milliseconds=Qn,Jn.utcOffset=Ee,Jn.utc=Ie,Jn.local=Ne,Jn.parseZone=ze,Jn.hasAlignedHourOffset=Re,Jn.isDST=Le,Jn.isLocal=Be,Jn.isUtcOffset=Fe,Jn.isUtc=He,Jn.isUTC=He,Jn.zoneAbbr=Li,Jn.zoneName=Ai,Jn.dates=O("dates accessor is deprecated. Use date instead.",qn),Jn.months=O("months accessor is deprecated. Use month instead",ut),Jn.years=O("years accessor is deprecated. Use year instead",yn),Jn.zone=O("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Jn.isDSTShifted=O("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ae);var $n=T.prototype;$n.calendar=E,$n.longDateFormat=P,$n.invalidDate=I,$n.ordinal=N,$n.preparse=Hi,$n.postformat=Hi,$n.relativeTime=z,$n.pastFuture=R,$n.set=S,$n.months=rt,$n.monthsShort=at,$n.monthsParse=dt,$n.monthsRegex=ft,$n.monthsShortRegex=pt,$n.week=Dt,$n.firstDayOfYear=St,$n.firstDayOfWeek=Mt,$n.weekdays=It,$n.weekdaysMin=zt,$n.weekdaysShort=Nt,$n.weekdaysParse=Lt,$n.weekdaysRegex=Ht,$n.weekdaysShortRegex=jt,$n.weekdaysMinRegex=Wt,$n.isPM=Xt,$n.meridiem=Zt,$t("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=O("moment.lang is deprecated. Use moment.locale instead.",$t),e.langData=O("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),hs=so("y"),ds=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),cs=ao("hours"),ps=ao("days"),fs=ao("months"),ms=ao("years"),vs=Math.round,gs={s:45,m:45,h:22,d:26,M:11},ys=Math.abs,bs=ke.prototype;return bs.abs=Zi,bs.add=Qi,bs.subtract=Ji,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=hs,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=ds,bs.seconds=ls,bs.minutes=us,bs.hours=cs,bs.days=ps,bs.weeks=ho,bs.months=fs,bs.years=ms,bs.humanize=fo,bs.toISOString=mo,bs.toString=mo,bs.toJSON=mo,bs.locale=ci,bs.localeData=pi,bs.toIsoString=O("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",mo),bs.lang=Un,q("X",0,0,"unix"),q("x",0,0,"valueOf"),J("x",Zo),J("X",Jo),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=Jn,e.min=we,e.max=xe,e.now=Hn,e.utc=u,e.unix=Bi,e.months=Gi,e.isDate=a,e.locale=$t,e.invalid=m,e.duration=je,e.isMoment=b,e.weekdays=Ui,e.parseZone=Fi,e.localeData=ie,e.isDuration=Oe,e.monthsShort=Vi,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=qi,e.normalizeUnits=A,e.relativeTimeRounding=co,e.relativeTimeThreshold=po,e.calendarFormat=qe,e.prototype=Jn,e})}).call(e,i(86)(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=87},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){n<16&&(e[o+n++]=u[t])});n<16;)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(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||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 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||f,p=0;p<6;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;a<16;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;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;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(90),e.DataSet=i(91),e.DataView=i(93),e.Queue=i(92),e.Graph3d=i(94),e.graph3d={Camera:i(98),Filter:i(103),Point2d:i(97),Point3d:i(96),Slider:i(104),StepNumber:i(105)},e.moment=i(84),e.Hammer=i(108),e.keycharm=i(111)},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){n<0&&(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){return t&&t.__esModule?t:{default:t}}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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.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){return t&&t.__esModule?t:{default:t}}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 s=i(58),r=o(s),a=i(1),h=i(91);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;o0&&(h[n-1].pointNext=r),h.push(r);return h},o.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas);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.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,i=function(t){e._onMouseDown(t)},o=function(t){e._onTouchStart(t)},n=function(t){e._onWheel(t)},s=function(t){e._onTooltip(t)},r=function(t){e._onClick(t)};d.addEventListener(this.frame.canvas,"keydown",onkeydown),d.addEventListener(this.frame.canvas,"mousedown",i),d.addEventListener(this.frame.canvas,"touchstart",o),d.addEventListener(this.frame.canvas,"mousewheel",n),d.addEventListener(this.frame.canvas,"mousemove",s),d.addEventListener(this.frame.canvas,"click",r),this.containerElement.appendChild(this.frame)},o.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},o.prototype._resizeCanvas=function(){this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},o.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},o.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},o.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},o.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},o.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},o.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setOptions=function(t){this.animationStop(),v.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case o.STYLE.BAR:t=o.prototype._redrawBarGraphPoint;break;case o.STYLE.BARCOLOR:t=o.prototype._redrawBarColorGraphPoint;break;case o.STYLE.BARSIZE:t=o.prototype._redrawBarSizeGraphPoint;break;case o.STYLE.DOT:t=o.prototype._redrawDotGraphPoint;break;case o.STYLE.DOTLINE:t=o.prototype._redrawDotLineGraphPoint;break;case o.STYLE.DOTCOLOR:t=o.prototype._redrawDotColorGraphPoint;break;case o.STYLE.DOTSIZE:t=o.prototype._redrawDotSizeGraphPoint;break;case o.STYLE.SURFACE:t=o.prototype._redrawSurfaceGraphPoint;break;case o.STYLE.GRID:t=o.prototype._redrawGridGraphPoint;break;case o.STYLE.LINE:t=o.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},o.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},o.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},o.prototype._redrawClear=function(){var t=this.frame.canvas,e=t.getContext("2d");e.clearRect(0,0,t.width,t.height)},o.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},o.prototype._getLegendWidth=function(){var t;if(this.style===o.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===o.STYLE.BARSIZE?this.xBarWidth:20;return t},o.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==o.STYLE.LINE&&this.style!==o.STYLE.BARSIZE){var t=this.style===o.STYLE.BARSIZE||this.style===o.STYLE.DOTSIZE,e=this.style===o.STYLE.DOTSIZE||this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),n=this.margin,s=this._getLegendWidth(),r=this.frame.clientWidth-this.margin,a=r-s,h=n+i,d=this._getContext();if(d.lineWidth=1,d.font="14px arial",t===!1){var l,c=0,p=i;for(l=c;l0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelY=function(t,e,i,o,n){void 0===n&&(n=0);var s=this._convert3Dto2D(e);Math.cos(2*o)<0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelZ=function(t,e,i,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,n.x-o,n.y)},o.prototype._line3d=function(t,e,i,o){var n=this._convert3Dto2D(e),s=this._convert3Dto2D(i);this._line(t,n,s,o)},o.prototype._redrawAxis=function(){var t,e,i,o,n,s,r,a,h,d,c,p=this._getContext();p.font=24/this.camera.getArmLength()+"px arial";var m=.025/this.scale.x,v=.025/this.scale.y,g=5/this.camera.getArmLength(),y=this.camera.getArmRotation().horizontal,b=new u(Math.cos(y),Math.sin(y)),_=this.xRange,w=this.yRange,x=this.zRange;for(p.lineWidth=1,o=void 0===this.defaultXStep,i=new f(_.min,_.max,this.xStep,o),i.start(!0);!i.end();){var k=i.getCurrent();this.showGrid?(t=new l(k,w.min,x.min),e=new l(k,w.max,x.min),this._line3d(p,t,e,this.gridColor)):(t=new l(k,w.min,x.min),e=new l(k,w.min+m,x.min),this._line3d(p,t,e,this.axisColor),t=new l(k,w.max,x.min),e=new l(k,w.max-m,x.min),this._line3d(p,t,e,this.axisColor)),r=b.x>0?w.min:w.max;var O=new l(k,r,x.min),D=" "+this.xValueLabel(k)+" ";this.drawAxisLabelX(p,O,D,y,g),i.next()}for(p.lineWidth=1,o=void 0===this.defaultYStep,i=new f(w.min,w.max,this.yStep,o),i.start(!0);!i.end();){var M=i.getCurrent();this.showGrid?(t=new l(_.min,M,x.min),e=new l(_.max,M,x.min),this._line3d(p,t,e,this.gridColor)):(t=new l(_.min,M,x.min),e=new l(_.min+v,M,x.min),this._line3d(p,t,e,this.axisColor),t=new l(_.max,M,x.min),e=new l(_.max-v,M,x.min),this._line3d(p,t,e,this.axisColor)),s=b.y>0?_.min:_.max,O=new l(s,M,x.min);var D=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(p,O,D,y,g),i.next()}for(p.lineWidth=1,o=void 0===this.defaultZStep,i=new f(x.min,x.max,this.zStep,o),i.start(!0),s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max;!i.end();){var S=i.getCurrent(),C=new l(s,r,S),T=this._convert3Dto2D(C);e=new u(T.x-g,T.y),this._line(p,T,e,this.axisColor);var D=this.zValueLabel(S)+" ";this.drawAxisLabelZ(p,C,D,5),i.next()}p.lineWidth=1,t=new l(s,r,x.min),e=new l(s,r,x.max),this._line3d(p,t,e,this.axisColor);var E,P;p.lineWidth=1,E=new l(_.min,w.min,x.min),P=new l(_.max,w.min,x.min),this._line3d(p,E,P,this.axisColor),E=new l(_.min,w.max,x.min),P=new l(_.max,w.max,x.min),this._line3d(p,E,P,this.axisColor),p.lineWidth=1,t=new l(_.min,w.min,x.min),e=new l(_.min,w.max,x.min),this._line3d(p,t,e,this.axisColor),t=new l(_.max,w.min,x.min),e=new l(_.max,w.max,x.min),this._line3d(p,t,e,this.axisColor);var I=this.xLabel;I.length>0&&(c=.1/this.scale.y,s=(_.max+3*_.min)/4,r=b.x>0?w.min-c:w.max+c,n=new l(s,r,x.min),this.drawAxisLabelX(p,n,I,y));var N=this.yLabel;N.length>0&&(d=.1/this.scale.x,s=b.y>0?_.min-d:_.max+d,r=(w.max+3*w.min)/4,n=new l(s,r,x.min),this.drawAxisLabelY(p,n,N,y));var z=this.zLabel;z.length>0&&(h=30,s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max,a=(x.max+3*x.min)/4,n=new l(s,r,a),this.drawAxisLabelZ(p,n,z,h))},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._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},o.prototype._redrawBar=function(t,e,i,o,n,s){var r,a,h=this,d=e.point,u=this.zRange.min,c=[{point:new l(d.x-i,d.y-o,d.z)},{point:new l(d.x+i,d.y-o,d.z)},{point:new l(d.x+i,d.y+o,d.z)},{point:new l(d.x-i,d.y+o,d.z)}],p=[{point:new l(d.x-i,d.y-o,u)},{point:new l(d.x+i,d.y-o,u)},{point:new l(d.x+i,d.y+o,u)},{point:new l(d.x-i,d.y+o,u)}];c.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),p.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var f=[{corners:c,center:l.avg(p[0].point,p[2].point)},{corners:[c[0],c[1],p[1],p[0]],center:l.avg(p[1].point,p[0].point)},{corners:[c[1],c[2],p[2],p[1]],center:l.avg(p[2].point,p[1].point)},{corners:[c[2],c[3],p[3],p[2]],center:l.avg(p[3].point,p[2].point)},{corners:[c[3],c[0],p[0],p[3]],center:l.avg(p[0].point,p[3].point)}];for(e.surfaces=f,r=0;r0}if(a){var p,f=(e.point.z+i.point.z+o.point.z+n.point.z)/4,m=240*(1-(f-this.zRange.min)*this.scale.z/this.verticalRatio),v=1;this.showShadow?(p=Math.min(1+u.x/c/2,1),s=this._hsv2rgb(m,v,p),r=s):(p=1,s=this._hsv2rgb(m,v,p),r=this.axisColor)}else s="gray",r=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var g=[e,i,n,o];this._polygon(t,g,s,r)}},o.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var o=(e.point.z+i.point.z)/2,n=240*(1-(o-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(n,1,1),this._line(t,e.screen,i.screen)}},o.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},o.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},o.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-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;i"+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)}}},o.prototype.setCameraPosition=function(t){v.setCameraPosition(t,this),this.redraw()},o.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=o},function(t,e){function i(t){if(t)return o(t)}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;ns&&(t=o(t)*s),i(e)>s&&(e=o(e)*s),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},n.prototype.getOffset=function(t,e){return this.cameraOffset},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.setOffset(this.cameraOffset.x,this.cameraOffset.y),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;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),i=this.cameraOffset.x,o=this.cameraOffset.y,n=Math.sin,s=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*s(e)+o*-n(e)*s(t),this.cameraLocation.y=this.cameraLocation.y+i*n(e)+o*s(e)*s(t),this.cameraLocation.z=this.cameraLocation.z+o*n(t)},t.exports=n},function(t,e,i){t.exports={default:i(100),__esModule:!0}},function(t,e,i){i(101),t.exports=i(17).Math.sign},function(t,e,i){var o=i(15);o(o.S,"Math",{sign:i(102)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},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:t0&&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(93);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(){if(void 0!==this.index)return this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw new 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 new 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(!(tthis.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.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},i.prototype.setRange=function(t,e,i,o){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(i))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||t<=0||(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),s<=0&&(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(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=i},function(t,e){function i(){this.min=void 0,this.max=void 0}i.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxi)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=i}},i.prototype.range=function(){return this.max-this.min},i.prototype.center=function(){return(this.min+this.max)/2},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function s(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function r(t,e){return void 0===t||""===t?e:t+s(e)}function a(t,e,i,o){var n,s;for(var a in i)n=i[a],s=r(o,n),e[s]=t[n]}function h(t,e,i,o){var n,s;for(var a in i)n=i[a],void 0!==t[n]&&(s=r(o,n),e[s]=t[n])}function d(t,e){if(void 0===t||n(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");S=t,a(t,e,D),a(t,e,M,"default"),u(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new x(0,0,-1)}function l(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===S||n(S))throw new Error("DEFAULTS not set for module Settings");h(t,e,D),h(t,e,M,"default"),u(t,e)}}function u(t,e){void 0!==t.backgroundColor&&v(t.backgroundColor,e),g(t.dataColor,e),m(t.style,e),c(t.showLegend,e),y(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick)}function c(t,e){if(void 0===t){var i=void 0===S.showLegend;if(i){var o=e.style===k.DOTCOLOR||e.style===k.DOTSIZE;e.showLegend=o}}else e.showLegend=t}function p(t){var e=O[t];return void 0===e?-1:e}function f(t){var e=!1;for(var i in k)if(k[i]===t){e=!0;break}return e}function m(t,e){if(void 0!==t){var i;if("string"==typeof t){if(i=p(t),i===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!f(t))throw new Error("Style '"+t+"' is invalid");i=t}e.style=i}}function v(t,e){var i="white",o="gray",n=1;if("string"==typeof t)i=t,o="none",n=0;else{if("object"!==("undefined"==typeof t?"undefined":(0,_.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(i=t.fill),void 0!==t.stroke&&(o=t.stroke),void 0!==t.strokeWidth&&(n=t.strokeWidth)}e.frame.style.backgroundColor=i,e.frame.style.borderColor=o,e.frame.style.borderWidth=n+"px",e.frame.style.borderStyle="solid"}function g(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function y(t,e){var i=t;void 0!==i&&(void 0===e.camera&&(e.camera=new w),e.camera.setArmRotation(i.horizontal,i.vertical),e.camera.setArmLength(i.distance))}var b=i(62),_=o(b),w=i(98),x=i(96),k={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},O={dot:k.DOT,"dot-line":k.DOTLINE,"dot-color":k.DOTCOLOR,"dot-size":k.DOTSIZE,line:k.LINE,grid:k.GRID,surface:k.SURFACE,bar:k.BAR,"bar-color":k.BARCOLOR,"bar-size":k.BARSIZE},D=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],M=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],S=void 0;t.exports.STYLE=k,t.exports.setDefaults=d,t.exports.setOptions=l,t.exports.setCameraPosition=y},function(t,e,i){if("undefined"!=typeof window){var o=i(109),n=window.Hammer||i(110);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);e!==-1&&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)}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 c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&mt(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==yt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function g(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 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=wt(),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=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=_t(d.x)>_t(d.y)?d.x:d.y,e.scale=r?H(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!==zt&&s.eventType!==Lt||(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!=At&&(h>Nt||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=_t(u.x)>_t(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;i=_t(e)?t<0?Ft:Ht:e<0?jt:Wt}function A(t,e,i){i||(i=Ut);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=Ut);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],qt)+B(t[1],t[0],qt)}function H(t,e){return A(e[0],e[1],qt)/A(t[0],t[1],qt)}function j(){this.evEl=Zt,this.evWin=Kt,this.pressed=!1,S.apply(this,arguments)}function W(){this.evEl=$t,this.evWin=te,S.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=ie,this.evWin=oe,this.started=!1,S.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Lt|At)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=se,this.targetIds={},S.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(zt|Rt)&&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===zt)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ke)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[pe]; +},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},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(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Lt|At)&&!n)this.reset();else if(t.eventType&zt)this.reset(),this._timer=h(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return we;return ke},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),c(ht,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[pe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),c(dt,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|Gt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|Gt)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&Gt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances)&&(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;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,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,r<=0&&(r=10),a=r/t.props.center.width,l.forEach(t.itemSet.items,function(t){t.groupShowing&&(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;do&&(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||oe)&&(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(),u=this.body.util.getStep(),c=this._toTime(o),p=h?h(c,d,u):c,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:c,snappedTime:p}},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(82),s=o(n),r=i(62),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(120),p=o(c),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new p.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&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),s=1;s2&&void 0!==arguments[2]&&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&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),d=a.max,h="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 c=this;a.onchange=function(){u.value=this.value,c._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var p=this._makeLabel(i[i.length-1],i),f=this._makeItem(i,p,a,u);""!==h&&this.popupHistory[f]!==d&&(this.popupHistory[f]=d,this._setupPopup(h,f))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),c=this._getValue(u);if(c===!0){var p=this._makeLabel(r,h,!0);this._makeItem(h,p),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,c,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0, +s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=c.extend({},t)),this.color=t;var i=c.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,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+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.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.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(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 e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/360,d=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;rs.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,""),g):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),g):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),g),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,d=c.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?c.convert(t,"Date").valueOf():null,r=void 0!=e?c.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,p=this.end,f="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,v="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",g=c.easingFunctions[v];if(!g)throw new Error("Unknown easing function "+(0,d.default)(v)+". Choose from: "+(0,a.default)(c.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1,_=function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=g(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,v=d||null===r?r:p+(r-p)*a;w=h._applyRange(u,v),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||w;var _={start:new Date(h.start),end:new Date(h.end),byUser:o,event:c.elementsCensor(n)};w&&h.body.emitter.emit("rangechange",_),d?b&&h.body.emitter.emit("rangechanged",_):h.animationTimer=setTimeout(t,20)}};return _()}var w=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),w){var x={start:new Date(this.start),end:new Date(this.end),byUser:o,event:c.elementsCensor(n)};this.body.emitter.emit("rangechange",x),this.body.emitter.emit("rangechanged",x)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?c.convert(t,"Date").valueOf():this.start,n=null!=e?c.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?c.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?c.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(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-h&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);d<0&&(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},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.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}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=n;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,d=this.props.touch.end+a,l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=m.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(l!=h||u!=d)return this.deltaDifference+=i,this.props.touch.start=l,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d);var p=new Date(this.start),f=new Date(this.end);this.body.emitter.emit("rangechange",{start:p,end:f,byUser:!0,event:c.elementsCensor(t)}),this.body.emitter.emit("panmove")}},n.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,event:c.elementsCensor(t)}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.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},n.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)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.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=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-c.getAbsoluteLeft(this.body.dom.centerContainer);else var i=c.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(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},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:c.getAbsoluteRight(e)-t.x,y:t.y-c.getAbsoluteTop(e)}:{x:t.x-c.getAbsoluteLeft(e),y:t.y-c.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.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},n.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,!1,!0,event)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.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=o},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 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()&&(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(;d=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&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a),d=new Date(h+a+t.range.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(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?o<0?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&&t-1||h))return t.dataTransfer.dropEffect="move",h=!0,!1}function n(t){try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e.content)return}catch(t){return!1}return h=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}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.rollingModeBtn=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.rollingModeBtn.className="vis-rolling-mode-btn",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.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),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.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=c.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={};var a=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];a.forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var h=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(c.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),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"===(0,h.default)(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 i=this.timeAxis2=new p(this.body);i.setOptions=function(t){var e=t?c.extend({},t):{};e.orientation="top",p.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(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 n=c.deepExtend({},this.options);this.components.forEach(function(t){c.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.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},n.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 "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.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 "+(0,r.default)(t));return e[0].getCustomTime()},n.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 "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?c.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 "+(0,r.default)(e)+" already exists");var n=new v(this.body,c.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},n.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 "+(0,r.default)(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))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.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;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=c.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=n/(1+t),r=(n-s)/2,a=i+r,h=o-r;this.setWindow({start:a,end:h})}},n.prototype.zoomOut=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=i-n*t/2,r=o+n*t/2;this.setWindow({start:s,end:r})}},n.prototype.redraw=function(){this._redraw()},n.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){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(c.addClassName(o.root,"vis-top"),c.removeClassName(o.root,"vis-bottom")):(c.removeClassName(o.root,"vis-top"),c.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=c.option.asSize(e.maxHeight,""),o.root.style.minHeight=c.option.asSize(e.minHeight,""),o.root.style.width=c.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,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=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&&(i.borderRootWidth=i.borderRootHeight),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 n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=c.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=c.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var p=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var h=e.get(i.groupId),d=e.get(this.groupTouchParams.group.groupId);d&&h&&(this.options.groupOrderSwap(d,h,e),e.update(d),e.update(h));var l=e.getIds({order:this.options.groupOrder});if(!c.equalArray(l,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,m=Math.min(u.length,l.length),v=0,g=0,y=0;v=m)break;if(l[v+g]!=p)if(u[v+y]!=p){var b=l.indexOf(u[v+y]),_=e.get(l[v+g]),w=e.get(u[v+y]);this.options.groupOrderSwap(_,w,e),e.update(_),e.update(w);var x=l[v+g];l[v+g]=u[v+y],l[b]=x,v++}else y=1;else g=1}}}},n.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=c.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(!c.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),groupsData.update(d),groupsData.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.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:c.elementsCensor(t)})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);if(e!==i){if(e.getTitle()){null==e.popup&&e.setPopup(new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip"));var o=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-c.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-c.getAbsoluteTop(o)+o.offsetTop),e.popup.show()}this.body.emitter.emit("itemover",{item:e.id,event:c.elementsCensor(t)})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);e!==i&&(null!=e.popup&&e.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:c.elementsCensor(t)}))}},n.prototype._onMouseMove=function(t){var e=this.itemFromTarget(t);if(e&&this.options.tooltip.followMouse&&e.popup&&!e.popup.hidden){var i=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-c.getAbsoluteLeft(i)+i.offsetLeft,t.clientY-c.getAbsoluteTop(i)+i.offsetTop),e.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.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){if(this.options.rtl)var n=c.getAbsoluteRight(this.dom.frame),s=n-t.center.x;else var n=c.getAbsoluteLeft(this.dom.frame),s=t.center.x-n;var r=this.body.util.toTime(s),a=this.body.util.getScale(),h=this.body.util.getStep(),d={start:i?i(r,a,h):r,content:"new item"};if("drop"==t.type){var l=JSON.parse(t.dataTransfer.getData("text"));if(d.content=l.content,d.type=l.type||"box",d[this.itemsData._fieldId]=l.id||c.randomUUID(),"range"==l.type||l.end&&l.start)if(l.end)d.end=l.end,d.start=l.start;else{var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}}else if(d[this.itemsData._fieldId]=c.randomUUID(),"range"===this.options.type){var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}var p=this.groupFromTarget(t);p&&(d.group=p.groupId),d=this._cloneItemData(d),this.options.onAdd(d,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],o=t.srcEvent&&t.srcEvent.shiftKey||!1;if(o&&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=n._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 x||i.push(d.id)}}}else{var p=i.indexOf(e.id);p==-1?i.push(e.id):i.splice(p,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:c.elementsCensor(t)})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?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.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.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.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){if(void 0==t&&(t=this.current),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);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 e(a)+t(a.milliseconds()).trim();case"second":return e(a)+t(a.seconds()).trim();case"minute":return e(a)+t(a.minutes()).trim();case"hour":return"vis-h"+a.hours()+(4==this.step?"-h"+(a.hours()+4):"")+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":return"vis-day"+a.date()+" vis-"+a.format("MMMM").toLowerCase()+e(a)+o(a)+(this.step<=2?e(a):"")+(this.step<=2?" vis-"+a.format("dddd").toLowerCase():""+t(a.date()-1));case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var d=a.year();return"vis-year"+d+n(a)+t(d);default:return""}},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],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 s=i(58),r=o(s),a=i(1),h=i(131);i(132);n.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.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},n.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=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 e instanceof Object?i(t,this.dom.inner):void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?a.removeClassName(this.dom.inner,"vis-hidden"):a.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,a.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)a.removeClassName(this.dom.label,"collapsed"),a.addClassName(this.dom.label,"expanded");else{a.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";a.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(a.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(a.removeClassName(this.dom.label,this.className),a.removeClassName(this.dom.foreground,this.className),a.removeClassName(this.dom.background,this.className),a.removeClassName(this.dom.axis,this.className)),a.addClassName(this.dom.label,n),a.addClassName(this.dom.foreground,n),a.addClassName(this.dom.background,n),a.addClassName(this.dom.axis,n),this.className=n),this.style&&(a.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(a.addCssText(this.dom.label,t.style),this.style=t.style)},n.prototype.getLabelWidth=function(){return this.props.label.width},n.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,a.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var r=this,d=!1;a.forEach(this.items,function(t){t.displayed||(t.redraw(),r.visibleItems.push(t)),t.repositionX(d)});var l=this.orderedItems.byStart.slice().sort(function(t,e){return r.itemSet.options.order(t.data,e.data)});h.stack(l,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?h.stack(this.visibleItems,e,i):h.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var u=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=a.updateProperty(this,"height",u)||o,o=a.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=a.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=u+"px",this.dom.foreground.style.height=u+"px",this.dom.label.style.height=u+"px";for(var c=0,p=this.visibleItems.length;c0){var e=this;this.resetSubgroups(),a.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},n.prototype._isGroupVisible=function(t,e){var i=this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop;return i},n.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(a.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,a.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},n.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)},n.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)},n.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,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},n.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},n.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;i0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.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(108),i(133));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.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),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._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._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),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||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,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:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+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){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.popup=null,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={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(i.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable)))}var s=i(58),r=o(s),a=i(62),h=o(a),d=i(108),l=i(1),u=i(84);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.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={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(options.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable))),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;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 d(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)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=50,s=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=o+this.parent.top-n<-s;r?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var a,h;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(h=this.options.tooltipOnItemUpdateTime.template.bind(this),a=h(this.data)):(a="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(a+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=a}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.prototype._updateTitle=function(){null!=this.data.title&&null!=this.popup&&this.popup.setText(this.data.title||"")},n.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=(0,r.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-ot.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-o/2t.start&&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._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;if(void 0!==this.data.subgroup){var i=this.data.subgroup,o=this.parent.subgroups;o[i].index;this.dom.box.style.height=this.parent.subgroups[i].height+"px";var n=this.options.orientation.item;"top"==n?this.dom.box.style.top=this.parent.top+this.parent.subgroups[i].top+"px":this.dom.box.style.top=this.parent.top+this.parent.height-this.parent.subgroups[i].top-this.parent.subgroups[i].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top="top"==n?"0":"",this.dom.box.style.bottom="top"==n?"":"0"):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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:d.FORMAT,moment:u,timeAxis:null},this.options=a.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var s=i(62),r=o(s),a=i(1),h=i(124),d=i(129),l=i(125),u=i(84);n.prototype=new h,n.prototype.setOptions=function(t){t&&(a.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),a.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,r.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof u.locale?u.locale(t.locale):u.lang(t.locale)))},n.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"},n.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},n.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},n.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=a.convert(this.body.range.start,"Number"),i=a.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-l.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new d(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var h,u,p,f,m,v,g,y,b,_,w=0,x=void 0,k=0,O=1e3;for(s.start(),u=s.getCurrent(),f=this.body.util.toScreen(u);s.hasNext()&&k=.4*g;if(this.options.showMinorLabels&&D){var M=this._repaintMinorText(p,b,t,_);M.style.width=w+"px"}m&&this.options.showMajorLabels?(p>0&&(void 0==x&&(x=p),M=this._repaintMajorText(p,s.getLabelMajor(),t,_)),y=this._repaintMajorLine(p,w,t,_)):D?y=this._repaintMinorLine(p,w,t,_):y&&(y.style.width=parseInt(y.style.width)+w+"px")}if(k!==O||c||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+O+" lines."), +c=!0),this.options.showMajorLabels){var S=this.body.util.toTime(0),C=s.getLabelMajor(S),T=C.length*(this.props.majorCharWidth||10)+10;(void 0==x||T1e3&&(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"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{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"},overrideItems:{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,function:"function"}},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,function:"function"}},__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},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:r,number:n,string:i,moment:d},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:a}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:a}},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,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,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,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}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');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(114),r=o(s),a=i(122),h=o(a),d=(i(95),i(108),i(84)),l=i(1),u=i(91),c=i(93),p=i(123),f=i(126),m=i(138),v=i(142),g=i(140),y=i(145),b=i(122).printStyle,_=i(153).allOptions,w=i(153).configureOptions;n.prototype=new f,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),f.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]))},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:e0&&d.push(u.screenToValue(n)),!c.hidden&&this.itemsData.length>0&&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){return t&&t.__esModule?t:{default:t}}function n(t,e){this.id=a.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=a.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=a.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 s=i(62),r=o(s),a=i(1),h=i(90),d=i(91),l=i(93),u=i(124),c=i(146),p=i(148),f=i(152),m=i(149),v=i(151),g=i(150),y="__ungrouped__";n.prototype=new u,n.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 c(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new c(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new f(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new f(this.body,this.options.legend,"right",this.options.groups),this.show()},n.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",""))0){var a={};for(this._getRelevantData(r,a,n,s),this._applySampling(r,a),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(r[e])||(l[r[e]]=v.calcPath(a[r[e]],t)),v.draw(l[r[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||g.draw(a[r[e]],t,this.framework);break;case"bar":}}}return h.cleanupElements(this.svgElements),!1},n.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}},n.prototype._getRelevantData=function(t,e,i,o){var n,s,r,h;if(t.length>0)for(s=0;s0)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;l0){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]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},n.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=di?i:h,l=l=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 a=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(a=this.props.titleCharHeight);var d=this.options.icons===!0?Math.max(this.options.iconWidth,a)+this.options.labelOffsetX+15:a+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-d&&this.options.visible===!0?(this.width=this.maxLabelSize+d,this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+d),this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),e=!1),e},n.prototype.convertValue=function(t){return this.scale.convertValue(t)},n.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},n.prototype._redrawLabel=function(t,e,i,o,n){var s=h.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>.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;i<0&&(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&&ue.x?1:-1})):this.itemsData=[]},n.prototype.getItems=function(){return this.itemsData},n.prototype.setZeroPosition=function(t){this.zeroPosition=t},n.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];a.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),a.mergeOptions(this.options,t,"interpolation"),a.mergeOptions(this.options,t,"drawPoints"),a.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,r.default)(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))}},n.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||t.visible,this.style=t.style,this.setOptions(t.options)},n.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":d.drawIcon(this,o,n,t,e,i);break;case"points":case"point":l.drawIcon(this,o,n,t,e,i);break;case"bar":h.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},n.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=t0){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;n0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+_*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;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},n.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,r.default)(this.groups);t.sort(function(t,e){return t0){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=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(159),d=o(h),l=i(160),u=o(l),c=i(1),p=i(91),f=i(93),m=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(d.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.nodes;if(t instanceof p||t instanceof f)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new p,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new p}o&&c.forEach(this.nodesListeners,function(t,e){o.off(e,t)}),this.body.nodes={},this.body.data.nodes&&!function(){var t=e;c.forEach(e.nodesListeners,function(e,i){t.body.data.nodes.on(i,e)});var i=e.body.data.nodes.getIds();e.add(i,!0)}(),i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:d.default;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){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]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(j.selectiveNotDeepExtend(n,t,e,i),j.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=j.parseColor(e.color);j.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=j.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?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=j.bridgeObject(o.font)),void 0!==e.scaling&&j.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(2),a=o(r),h=i(62),d=o(h),l=i(115),u=o(l),c=i(116),p=o(c),f=i(1),m=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,p.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=f.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,d.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=f.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===("undefined"==typeof n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=f.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=f.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===("undefined"==typeof a?"undefined":(0,d.default)(a))){var h=f.topMost(o,["heightConstraint","minimum"]);"number"==typeof h&&(this.fontOptions.minHgt=Number(h));var l=f.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=f.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===("undefined"==typeof n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var h,d=(0,a.default)(o);!(n=(h=d.next()).done);n=!0){var l=h.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*p}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(f)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&d.return&&d.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,h=a*this.body.view.scale;h>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var d=this.size.yLine,l=this._setAlignment(t,o,d,r),u=(0,s.default)(l,2);o=u[0],d=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(d-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(d+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=m.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=y,m.strokeWidth>0&&t.strokeText(m.text,o+p,d+m.vadjust),t.fillText(m.text,o+p,d+m.vadjust),p+=m.width}d+=this.lines[c].height}}},{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,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=f.overrideOpacity(o,s),n=f.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,h,d){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:h,strokeColor:d})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,h,d){this.add(t,e,i,o,n,s,r,a,h,d),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),h=a.length;if(this.elementOptions.font.multi)for(var d=0;d0)for(var m=this.getFormattingValues(t,e,i,l[f].mod),v=l[f].text.split(" "),g=!0,y="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=m.height>c?m.height:c,s.add(r,y,m.font,m.color,_.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,_.width,c),y="",g=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(y=y+x+v[w],w===v.length-1&&(c=m.height>c?m.height:c,u+=b.width,s.add(r,y,m.font,m.color,b.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,b.width,c),f===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,g=!1)}else{var k=this.getFormattingValues(t,e,i,l[f].mod),O=t.measureText(l[f].text);s.addAndAccumulate(r,l[f].text,k.font,k.color,O.width,k.height,k.vadjust,l[f].mod,k.strokeWidth,k.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===f&&(n+=s[r].height,r++)}}}else for(var D=0;D0)for(var S=a[D].split(" "),C="",T={width:0},E=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=E.width?(s.addAndAccumulate(r,C,M.font,M.color,E.width,M.size,M.vadjust,"normal",M.strokeWidth,M.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,C="",r++):(C=C+I+S[P],P===S.length-1&&(s.addAndAccumulate(r,C,M.font,M.color,T.width,M.size,M.vadjust,"normal",M.strokeWidth,M.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var N=a[D],z=t.measureText(N);s.addAndAccumulate(r,N,M.font,M.color,z.width,M.size,M.vadjust,"normal",M.strokeWidth,M.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&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],t.vadjust=0}else"object"===(0,d.default)(e.font)&&f.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(162),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,h=(0,a.default)(t);!(o=(r=h.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&h.return&&h.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(163),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(164)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{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}(m.default);e.default=v},function(t,e,i){t.exports={default:i(167),__esModule:!0}},function(t,e,i){i(168),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(62),s=o(n);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"==typeof e?"undefined":(0,s.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(171),s=o(n),r=i(55),a=o(r),h=i(62),d=o(h);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,d.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(172),__esModule:!0}},function(t,e,i){i(173),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(174).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,d.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(177),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(e,i)){ +this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,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}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"setOptions",value:function(t,e){this.options=t,e&&(this.imageObj=e)}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.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=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,h=1;i>2&&h<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,h+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(177),m=o(f),v=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r._swapToImageResizeWhenImageLoaded=!0,r}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{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,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.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var h=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,h),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),h>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var d=n+.5*this.height+3;this.labelModule.draw(t,o,d,s,r,"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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){var r=5;this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+r,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){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,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(177),m=o(f),v=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){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.beginPath(),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.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),h>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),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}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(192),d=o(h),l=i(160),u=o(l),c=i(1),p=i(91),f=i(93),m=function(){function t(e,i,o){var n=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=this.create.bind(this),this.edgesListeners={add:function(t,e){n.add(e.items)},update:function(t,e){n.update(e.items)},remove:function(t,e){n.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){"dynamic"===e&&(e="continuous");var i=!1;for(var o in t.body.edges)if(t.body.edges.hasOwnProperty(o)){var n=t.body.edges[o],s=t.body.data.edges._data[o];if(void 0!==s){var r=s.smooth;void 0!==r&&r.enabled===!0&&"dynamic"===r.type&&(void 0===e?n.setOptions({smooth:!1}):n.setOptions({smooth:{type:e}}),i=!0)}}i===!0&&t.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",function(){t.reconnectEdges()}),this.body.emitter.on("refreshEdges",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.edgesListeners,function(e,i){t.body.data.edges&&t.body.data.edges.off(i,e)}),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners})}},{key:"setOptions",value:function(t){if(this.edgeOptions=t,void 0!==t){d.default.parseOptions(this.options,t);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)this.body.edges.hasOwnProperty(i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var o in this.body.edges)this.body.edges.hasOwnProperty(o)&&this.body.edges[o].updateLabelModule()}void 0===t.hidden&&void 0===t.physics&&e!==!0||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof p||t instanceof f)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new p,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new p}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.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,this.hover)}}}},{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 h0&&i<0)&&(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]&&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(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(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),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,d.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var h=!1;void 0!==e.color.color&&(t.color.color=e.color.color,h=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,h=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,h=!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&&h===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?m.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=D},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(166),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(169),p=o(c),f=i(170),m=o(f),v=i(194),g=o(v),y=function(t){function e(t,i,o){return(0,d.default)(this,e),(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,m.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.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,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),h=(0,s.default)(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3);var h=a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,d=a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y;return{x:h,y:d}}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(195),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var h=1e9,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=t,m=e,v=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=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,c,p,n,s),h=d2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),h=10,d=0,l=0,u=1,c=.2,p=this.to,f=!1;for(t.id===this.from.id&&(p=this.from,f=!0);l<=u&&d0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=ho.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,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);s<=r&&d0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{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,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&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,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=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,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,h){var d=0;if(this.from!=this.to)d=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],p=u[1],f=u[2],m=c-n,v=p-r;d=Math.abs(Math.sqrt(m*m+v*v)-f)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:d}},{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:d<0&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=r.width;if("from"===e?(d=this.from,l=this.to,u=.1,c=r.fromArrowScale,p=r.fromArrowType):"to"===e?(d=this.to,l=this.from,u=-.1,c=r.toArrowScale,p=r.toArrowType):(d=this.to,l=this.from,c=r.middleArrowScale,p=r.middleArrowType),d!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var m=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);a=Math.atan2(h.y-m.y,h.x-m.x)}else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.5,i);else{var v=this._getCircleData(t),g=(0,s.default)(v,3),y=g[0],b=g[1],_=g[2];"from"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),a=h.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),a=h.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(h=this._pointOnCircle(y,b,_,.175),a=3.9269908169872414)}var w=15*c+3*f,x=h.x-.9*w*Math.cos(a),k=h.y-.9*w*Math.sin(a),O={x:x,y:k};return{point:h,core:O,angle:a,length:w,type:p}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(166),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(169),p=o(c),f=i(170),m=o(f),v=i(195),g=o(v),y=function(t){function e(t,i,o){(0,d.default)(this,e);var n=(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,m.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),h=a[0],d=a[1],l=a[2],u=2*Math.PI*(1-i);o=h+l*Math.sin(u),n=d+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(195),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)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*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=nMath.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=sMath.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.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(196),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),h=t.distanceToBorder(e,n),d=(a-h)/a,l={};return l.x=(1-d)*o.x+d*i.x,l.y=(1-d)*o.y+d*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(201),u=o(l),c=i(202),p=o(c),f=i(203),m=o(f),v=i(204),g=o(v),y=i(205),b=o(y),_=i(206),w=o(_),x=i(207),k=o(x),O=i(208),D=o(O),M=i(1),S=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},M.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,d.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,M.selectiveNotDeepExtend(["stabilization"],this.options,t),M.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new k.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new D.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new p.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new m.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick();var e=Date.now()-t;(e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||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]?arguments[0]:this.options.stabilization.iterations;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;s0&&(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&&o.shape.radius&&(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;h0&&(dr&&(r=d),la&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,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;y0&&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=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,h=this.body.nodes,d=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,p=4/3,f=0;f0){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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(210),p=o(c),f=i(211),m=o(f),v=i(1),g=function(){function t(e){var i=this;(0,d.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},v.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=0;u0&&(0,s.default)(f).length>0&&v===!0&&o.push({nodes:c,edges:f})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,h=p.default.cloneOptions(o);n[a]=o;for(var d=0;d-1&&(r[g.id]=g)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=(0,s.default)(t),c=[],f=0;f0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=v.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var h in t)if(t.hasOwnProperty(h)){var d=p.default.cloneOptions(t[h]);a.push(d)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=p.default.cloneOptions(e[u],"edge");l.push(c)}if(r=i.processProperties(r,a,l),!r)throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+v.randomUUID());var f=r.id;void 0===r.label&&(r.label="cluster");var g=void 0;void 0===r.x&&(g=this._getClusterPosition(t),r.x=g.x),void 0===r.y&&(void 0===g&&(g=this._getClusterPosition(t)),r.y=g.y),r.id=f;var y=this.body.functions.createNode(r,m.default);y.isCluster=!0,y.containedNodes=t,y.containedEdges=e,y.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=y,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,h=1;ho?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||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 h in n)if(n.hasOwnProperty(h)){var d=this.body.nodes[h];r[h]={x:d.x,y:d.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var f in n)if(n.hasOwnProperty(f)){var m=this.body.nodes[f];m=n[f],m.options.fixed.x===!1&&(m.x=o.x),m.options.fixed.y===!1&&(m.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=[],_=0;_o&&(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=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(1),d=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)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"];h.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]&&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]&&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&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){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(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)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 h(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:h.DIRECTION_ALL}),d.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 h(this.frame),d.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;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,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},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=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(210),d=o(h),l=i(1),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",this.fit.bind(this)),this.body.emitter.on("animationFinished",function(){o.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",this.releaseNode.bind(this))}return(0,a.default)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=d.default.getRange(this.body.nodes,t.nodes);var a=this.body.nodeIndices.length;o=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=h}else{this.body.emitter.emit("_resizeNodes"),i=d.default.getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,p=this.canvas.frame.canvas.clientHeight/u;o=c<=p?c:p}o>1?o=1:0===o&&(o=1);var f=d.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]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.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=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(216),d=o(h),l=i(128),u=o(l),c=i(1),p=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new d.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(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]&&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),u=l.nodesChanged,c=l.edgesChanged,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):u===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0):h-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(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;n10&&(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"),i0&&(this.popupObj=h[l[l.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 u.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=void 0!==o&&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=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=(i(1),i(108)),d=i(121),l=i(111),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(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(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o; +this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{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=l({container:window,preventDefault:!0}):this.keycharm=l({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=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(159),d=o(h),l=i(192),u=o(l),c=i(1),p=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},c.extend(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",function(){o.updateSelection()})}return(0,a.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){var e=["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"];c.selectiveDeepExtend(e,this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,i.isSelected()===!0?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof d.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?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;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(161),a=o(r),h=i(62),d=o(h),l=i(115),u=o(l),c=i(116),p=o(c),f=i(210),m=o(f),v=i(1),g=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},v.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,p.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(v.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),v.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(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"),v.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||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,d.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||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||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&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||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&&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=h(),i=0,o=0;o0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var h in e)if(e.hasOwnProperty(h)){var d=t.body.nodes[h],l=t.hierarchicalLevels[d.id],u=t._getPositionForHierarchy(d),c=t._getSpaceAroundNode(d,e),p=(0,a.default)(c,2),f=p[0],m=p[1];o=Math.min(f,o),n=Math.min(m,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},u=function e(i){var o=t.hierarchicalLevels[i];if(t.hierarchicalChildrenReference[i]){var n=t.hierarchicalChildrenReference[i];if(n.length>0)for(var s=0;s1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o),h=Math.abs(r-s);if(h>t.options.hierarchical.nodeSpacing){var u={};u[i.id]=!0;var p={};p[o.id]=!0,d(i,u),d(o,p);var f=c(i,o),m=l(u,f),v=(0,a.default)(m,4),g=(v[0],v[1]),y=(v[2],v[3],l(p,f)),b=(0,a.default)(y,4),_=b[0],w=(b[1],b[2]),x=(b[3],Math.abs(g-_));if(x>t.options.hierarchical.nodeSpacing){var k=g-_+t.options.hierarchical.nodeSpacing;k<-w+t.options.hierarchical.nodeSpacing&&(k=-w+t.options.hierarchical.nodeSpacing),k<0&&(t._shiftBlock(o.id,k),e=!0,n===!0&&t._centerParent(o))}}},v=function(o,n){for(var s=n.id,r=n.edges,h=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},p=[],f=0;f0?m=Math.min(f,p-t.options.hierarchical.nodeSpacing):f<0&&(m=-Math.min(-f,c-t.options.hierarchical.nodeSpacing)),0!=m&&(t._shiftBlock(n.id,m),e=!0)},w=function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),h=r[0],d=r[1],l=i-o,u=o;l>0?u=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)},x=b(o,p);_(x),x=b(o,r),w(x)},g=function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var d=0;d0&&Math.abs(g)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),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(m.default.cloneOptions(o,"node"),m.default.cloneOptions(n,"node"),m.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]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3];o!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("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=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(82),a=o(r),h=i(62),d=o(h),l=i(115),u=o(l),c=i(116),p=o(c),f=i(1),m=i(108),v=i(121),g=function(){ +function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},f.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,p.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,f.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&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=f.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","object"===(0,d.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var e=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(e.from,e.to)}if(this.guiEnabled===!0){var i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.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=f.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+f.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={},f.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&&(f.recursiveDOMDelete(this.editModeDiv),f.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;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){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=f.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"+f.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(this.temporaryIds.nodes.indexOf(n[r])===-1){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:f.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,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===("undefined"==typeof n?"undefined":(0,d.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(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=g},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:{string:["arrow","circle"]},__type__:{object:r,boolean:o}},middle:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:r,boolean:o}},from:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:r,boolean:o}},__type__:{string:["from","to","middle"],object:r}},arrowStrikethrough:{boolean:o},chosen:{label:{boolean:o,function:"function"},edge:{boolean:o,function:"function"},__type__:{object:r,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"]},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},__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},widthConstraint:{maximum:{number:n},__type__:{object:r,boolean:o,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:{editWithoutDrag:{function:"function"},__type__:{object:r,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"},chosen:{label:{boolean:o,function:"function"},node:{boolean:o,function:"function"},__type__:{object:r,boolean:o}},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},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},__type__:{object:r,string:i}},group:{string:i,number:n,undefined:"undefined"},heightConstraint:{minimum:{number:n},valign:{string:i},__type__:{object:r,boolean:o,number:n}},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"},margin:{top:{number:n},right:{number:n},bottom:{number:n},left:{number:n},__type__:{object:r,number:n}},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"},widthConstraint:{minimum:{number:n},maximum:{number:n},__type__:{object:r,boolean:o,number:n}},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],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},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]}};e.allOptions=d,e.configureOptions=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(222),u=o(l),c=function(){function t(e,i,o){(0,a.default)(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new u.default}return(0,d.default)(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=.01,r=1,a=0,h=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),d=5,l=1e9,u=0,c=0,p=0,f=0,m=0;l>n&&ar&&m=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=r<0?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t){return R=t,m()}function s(){L=0,A=R.charAt(0)}function r(){L++,A=R.charAt(L)}function a(){return R.charAt(L+1)}function h(t){return H.test(t)}function d(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function l(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 u(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;i=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=d(n.attr,e.attr))}function c(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=d({},t.edge);e.attr=d(i,e.attr)}}function p(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=d({},t.edge)),s.attr=d(s.attr||{},n),s}function f(){for(F=N.NULL,B="";" "===A||"\t"===A||"\n"===A||"\r"===A;)r();do{var t=!1;if("#"===A){for(var e=L-1;" "===R.charAt(e)||"\t"===R.charAt(e);)e--;if("\n"===R.charAt(e)||""===R.charAt(e)){for(;""!=A&&"\n"!=A;)r();t=!0}}if("/"===A&&"/"===a()){for(;""!=A&&"\n"!=A;)r();t=!0}if("/"===A&&"*"===a()){for(;""!=A;){if("*"===A&&"/"===a()){r(),r();break}r()}t=!0}for(;" "===A||"\t"===A||"\n"===A||"\r"===A;)r()}while(t);if(""===A)return void(F=N.DELIMITER);var i=A+a();if(z[i])return F=N.DELIMITER,B=i,r(),void r();if(z[A])return F=N.DELIMITER,B=A,void r();if(h(A)||"-"===A){for(B+=A,r();h(A);)B+=A,r();return"false"===B?B=!1:"true"===B?B=!0:isNaN(Number(B))||(B=Number(B)),void(F=N.IDENTIFIER)}if('"'===A){for(r();""!=A&&('"'!=A||'"'===A&&'"'===a());)B+=A,'"'===A&&r(),r();if('"'!=A)throw k('End of string " expected');return r(),void(F=N.IDENTIFIER)}for(F=N.UNKNOWN;""!=A;)B+=A,r();throw new SyntaxError('Syntax error in part "'+O(B,30)+'"')}function m(){var t={};if(s(),f(),"strict"===B&&(t.strict=!0,f()),"graph"!==B&&"digraph"!==B||(t.type=B,f()),F===N.IDENTIFIER&&(t.id=B,f()),"{"!=B)throw k("Angle bracket { expected");if(f(),v(t),"}"!=B)throw k("Angle bracket } expected");if(f(),""!==B)throw k("End of file expected");return f(),delete t.node,delete t.edge,delete t.graph,t}function v(t){for(;""!==B&&"}"!=B;)g(t),";"===B&&f()}function g(t){var e=y(t);if(e)return void w(t,e);var i=b(t);if(!i){if(F!=N.IDENTIFIER)throw k("Identifier expected");var o=B;if(f(),"="===B){if(f(),F!=N.IDENTIFIER)throw k("Identifier expected");t[o]=B,f()}else _(t,o)}}function y(t){var e=null;if("subgraph"===B&&(e={},e.type="subgraph",f(),F===N.IDENTIFIER&&(e.id=B,f())),"{"===B){if(f(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,v(e),"}"!=B)throw k("Angle bracket } expected");f(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function b(t){return"node"===B?(f(),t.node=x(),"node"):"edge"===B?(f(),t.edge=x(),"edge"):"graph"===B?(f(),t.graph=x(),"graph"):null}function _(t,e){var i={id:e},o=x();o&&(i.attr=o),u(t,i),w(t,e)}function w(t,e){for(;"->"===B||"--"===B;){var i,o=B;f();var n=y(t);if(n)i=n;else{if(F!=N.IDENTIFIER)throw k("Identifier or subgraph expected");i=B,u(t,{id:i}),f()}var s=x(),r=p(t,e,i,o,s);c(t,r),e=i}}function x(){for(var t=null;"["===B;){for(f(),t={};""!==B&&"]"!=B;){if(F!=N.IDENTIFIER)throw k("Attribute name expected");var e=B;if(f(),"="!=B)throw k("Equal sign = expected");if(f(),F!=N.IDENTIFIER)throw k("Attribute value expected");var i=B;l(t,e,i),f(),","==B&&f()}if("]"!=B)throw k("Bracket ] expected");f()}return t}function k(t){return new SyntaxError(t+', got "'+O(B,30)+'" (char '+L+")")}function O(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function D(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 M(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},R="",L=0,A="",B="",F=N.NULL,H=/[a-zA-Z_0-9.:#]/;e.parseDOT=n,e.DOTToGraph=C},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