define(function() { return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// identity function for calling harmony imports with the correct context
/******/ 	__webpack_require__.i = function(value) { return value; };
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, {
/******/ 				configurable: false,
/******/ 				enumerable: true,
/******/ 				get: getter
/******/ 			});
/******/ 		}
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var __WEBPACK_AMD_DEFINE_RESULT__;

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

!(__WEBPACK_AMD_DEFINE_RESULT__ = function () {
  return function (e) {
    var t = {};function n(r) {
      if (t[r]) return t[r].exports;var a = t[r] = { i: r, l: !1, exports: {} };return e[r].call(a.exports, a, a.exports, n), a.l = !0, a.exports;
    }return n.m = e, n.c = t, n.d = function (e, t, r) {
      n.o(e, t) || Object.defineProperty(e, t, { configurable: !1, enumerable: !0, get: r });
    }, n.n = function (e) {
      var t = e && e.__esModule ? function () {
        return e.default;
      } : function () {
        return e;
      };return n.d(t, "a", t), t;
    }, n.o = function (e, t) {
      return Object.prototype.hasOwnProperty.call(e, t);
    }, n.p = "", n(n.s = 13);
  }([function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        o = n(6),
        i = (r = o) && r.__esModule ? r : { default: r };var l = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t);var i = function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));if (new.target === t) throw new TypeError("Cannot construct [Renderer] instances directly!");if (void 0 === i.render || "function" != typeof i.render) throw new TypeError("Must override [render()] method!");return void 0 === i.unrender && i.logger.debug("No [unrender()] method specified..."), i.element = void 0, i.transitionDuration = 750, i;
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, i.default), a(t, [{ key: "_initialize", value: function value() {} }, { key: "HTMLParent", get: function get() {
          return "svg" === this.options.appendTo.element.node().tagName.toLowerCase() ? d3.select(this.options.appendTo.element.node().parentNode) : this.options.appendTo.element;
        } }, { key: "SVGParent", get: function get() {
          return "div" === this.options.appendTo.element.node().tagName.toLowerCase() ? this.options.appendTo.element.select("svg") : this.options.appendTo.element;
        } }, { key: "parent", get: function get() {
          return this.options.appendTo.element;
        } }, { key: "margin", get: function get() {
          return { top: 50, right: 50, bottom: 50, left: 50 };
        } }, { key: "width", get: function get() {
          return (+this.parent.attr("width") || d3.select("body").node().getBoundingClientRect().width) - this.margin.left - this.margin.right;
        } }, { key: "height", get: function get() {
          return (+this.parent.attr("height") || d3.select("body").node().getBoundingClientRect().height) - this.margin.top - this.margin.bottom;
        } }]), t;
    }();t.default = l;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.requires = function (e) {
      return function (t, n, r) {
        var a = r.value;return r.value = function () {
          var t;if ((t = function (e, t) {
            var n = e;if (n && t) {
              var r = t.split("."),
                  a = !0,
                  o = !1,
                  i = void 0;try {
                for (var l, c = r[Symbol.iterator](); !(a = (l = c.next()).done); a = !0) {
                  var s = l.value;if (!n.hasOwnProperty(s)) {
                    n = void 0;break;
                  }n = n[s];
                }
              } catch (e) {
                o = !0, i = e;
              } finally {
                try {
                  !a && c.return && c.return();
                } finally {
                  if (o) throw i;
                }
              }
            }return n;
          }(this.data, e)) && (t instanceof Array && t.length || t instanceof Object && Object.values(t).length)) return a.apply(this, arguments);this.logger.debug("No data here [" + e + "], nothing to render... continuing...");
        }, r;
      };
    };
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.initialize = function () {
      return function (e, t, n) {
        var r = n.value;return n.value = function () {
          return this._initialize(), r.apply(this, arguments);
        }, n;
      };
    };
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.RegisterMathJax = function (e) {
      if (!e) return;setTimeout(function () {
        try {
          MathJax.Hub.Config({ tex2jax: { jax: ["input/TeX", "output/SVG"], inlineMath: [["$", "$"], ["\\(", "\\)"]], displayMath: [["$$", "$$"], ["\\[", "\\]"]], processEscapes: !0 } }), MathJax.Hub.Register.StartupHook("End", function () {
            setTimeout(function () {
              e.selectAll(".francy-label").each(function () {
                var e = d3.select(this),
                    t = e.select("text>span>svg");t.node() && setTimeout(function () {
                  t.attr("x", e.attr("x")), t.attr("y", -15), d3.select(e.node().parentNode).append(function () {
                    return t.node();
                  }), e.selectAll("*").remove();
                }, 10);
              });
            }, 250);
          }), MathJax.Hub.Queue(["Typeset", MathJax.Hub, e.node()]), MathJax.Hub.Configured();
        } catch (e) {
          "ReferenceError" === e.name && new o.default().info("It seems MathJax is not loaded...", e);
        }
      }, 10);
    }, t.RegisterJupyterKeyboardEvents = function (e) {
      if (!e) return;try {
        e.map(function (e) {
          Jupyter.keyboard_manager.register_events(e);
        });
      } catch (e) {
        "ReferenceError" === e.name && new o.default().info("It seems we're not running on Jupyter...", e);
      }
    }, t.syntaxHighlight = function (e) {
      return (e = e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;")).replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)/g, function (e) {
        var t = "number";return (/^"/.test(e) ? t = /:$/.test(e) ? "key" : "string" : /true|false/.test(e) ? t = "boolean" : /null/.test(e) && (t = "null"), '<span class="' + t + '">' + e + "</span>"
        );
      });
    };var r,
        a = n(7),
        o = (r = a) && r.__esModule ? r : { default: r };
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        a = i(n(0)),
        o = i(n(12));function i(e) {
      return e && e.__esModule ? e : { default: e };
    }var l = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t);var i = function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));return i.axis = void 0, i.yScale = void 0, i.xScale = void 0, i.datasets = void 0, i.datasetNames = void 0, i.tooltip = void 0, i;
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, a.default), r(t, [{ key: "_initialize", value: function value() {
          var e = this;this.tooltip = new o.default(this.options), this.element = this.parent.select("g.francy-content"), this.axis = this.data.canvas.chart.axis, this.datasets = this.data.canvas.chart.data, this.datasetNames = Object.keys(this.datasets), this.xScale = d3.scaleLinear().range([0, this.width]).domain(this.axis.x.domain), this.yScale = d3.scaleLinear().range([this.height, 0]).domain(this.axis.y.domain), this.allValues = [], this.datasetNames.forEach(function (t) {
            return e.allValues = e.allValues.concat(e.datasets[t]);
          }), this.axis.y.domain.length || this.yScale.domain([0, d3.max(this.allValues, function (e) {
            return e;
          })]), this.axis.x.domain.length || this.xScale.domain([0, this.allValues.length / this.datasetNames.length]);
        } }, { key: "_renderAxis", value: function value() {
          var e = this.element.selectAll("g.francy-x-axis");e.node() || (e = this.element.append("g").attr("class", "francy-x-axis")), e.selectAll("*").remove(), e.attr("transform", "translate(0," + this.height + ")").call(d3.axisBottom(this.xScale)).append("text").attr("dy", 50).attr("dx", this.width / 2).attr("fill", "black").attr("class", "francy-axis").style("text-anchor", "end").text(this.axis.x.title);var t = this.element.selectAll("g.francy-y-axis");t.node() || (t = this.element.append("g").attr("class", "francy-y-axis")), t.selectAll("*").remove(), t.call(d3.axisLeft(this.yScale)).append("text").attr("dx", -50).attr("dy", this.height / 2).attr("fill", "black").attr("class", "francy-axis").style("text-anchor", "end").text(this.axis.y.title);
        } }, { key: "_renderLegend", value: function value() {
          if (this.data.canvas.chart.showLegend) {
            var e = this.element.selectAll(".francy-legend");e.node() || (e = this.element.append("g").attr("class", "francy-legend")), e.selectAll("*").remove();var n = e.selectAll("g").data(this.datasetNames.slice());n.exit().remove(), (n = n.enter().append("g").attr("transform", function (e, t) {
              return "translate(0," + 20 * t + ")";
            }).merge(n)).append("rect").attr("x", this.width + 20).attr("width", 19).attr("height", 19).style("fill", function (e, n) {
              return t.colors(5 * n);
            }), n.append("text").attr("x", this.width + 80).attr("y", 9).attr("dy", ".35em").style("text-anchor", "end").text(function (e) {
              return e;
            });
          }
        } }], [{ key: "tooltip", value: function value(e, t) {
          return { A: { title: "Dataset", text: e }, B: { title: "Value", text: t } };
        } }, { key: "domainRange", value: function value(e) {
          return Array.from(new Array(e), function (e, t) {
            return t;
          }).map(function (e) {
            return e;
          });
        } }, { key: "colors", get: function get() {
          return d3.scaleSequential().domain([0, 100]).interpolator(d3.interpolateRainbow);
        } }]), t;
    }();t.default = l;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        o = n(0),
        i = (r = o) && r.__esModule ? r : { default: r };var l = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t);var i = function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));if (new.target === t) throw new TypeError("Cannot construct [Composite] instances directly!");return i.renderers = [], i;
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, i.default), a(t, [{ key: "add", value: function value(e) {
          return this.renderers.push(e), this;
        } }, { key: "renderChildren", value: function value() {
          var e = this.options;e.appendTo = this;var t = !0,
              n = !1,
              r = void 0;try {
            for (var a, o = this.renderers[Symbol.iterator](); !(t = (a = o.next()).done); t = !0) {
              a.value.settings(e).load(this.data).render();
            }
          } catch (e) {
            n = !0, r = e;
          } finally {
            try {
              !t && o.return && o.return();
            } finally {
              if (n) throw r;
            }
          }
        } }]), t;
    }();t.default = l;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        a = i(n(7)),
        o = i(n(15));function i(e) {
      return e && e.__esModule ? e : { default: e };
    }var l = function () {
      function e(t) {
        var n = t.verbose,
            r = void 0 !== n && n,
            o = t.appendTo,
            i = void 0 === o ? "body" : o,
            l = t.callbackHandler;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, e), this.settings({ verbose: r, appendTo: i, callbackHandler: l }), this.log = new a.default(this.options);
      }return r(e, [{ key: "settings", value: function value(e) {
          var t = e.verbose,
              n = e.appendTo,
              r = e.callbackHandler;if (this.options = this.options || {}, !this.options.callbackHandler && !r) throw new Error("A Callback Handler must be provided! This will be used to trigger events from the graphics produced...");if (!this.options.appendTo && !n) throw new Error("Missing an element or id to append the graphics to...!");return this.options.verbose = t || this.options.verbose, this.options.appendTo = n || this.options.appendTo, this.options.callbackHandler = r || this.options.callbackHandler, this;
        } }, { key: "load", value: function value(e, t) {
          var n = o.default.parse(e, t);return n && (this.data = n), this;
        } }, { key: "logger", get: function get() {
          return this.log;
        } }]), e;
    }();t.default = l;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }();var a = function () {
      function e() {
        var t = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).verbose,
            n = void 0 !== t && t;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, e), this.verbose = n, this.console = console;
      }return r(e, [{ key: "debug", value: function value(t) {
          this.verbose && this.console.debug(e._format("DEBUG", t));
        } }, { key: "info", value: function value(t) {
          this.console.info(e._format("INFO", t));
        } }, { key: "error", value: function value(t, n) {
          this.console.error(e._format("ERROR", t), n);
        } }, { key: "warn", value: function value(t, n) {
          n = n || {}, this.console.error(e._format("WARN", t), n);
        } }], [{ key: "_format", value: function value(e, t) {
          return "[" + e + "] - " + new Date().toISOString() + " - " + t;
        } }]), e;
    }();t.default = a;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        a = c(n(0)),
        o = c(n(19)),
        i = c(n(12)),
        l = c(n(10));function c(e) {
      return e && e.__esModule ? e : { default: e };
    }var s = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, a.default), r(t, [{ key: "_initialize", value: function value() {
          this.element = this.parent.select("g.francy-content");
        } }, { key: "_applyEvents", value: function value(e) {
          if (e) {
            var t = new i.default(this.options),
                n = new o.default(this.options),
                r = new l.default(this.options);e.on("contextmenu", function (e) {
              e = e.data || e, n.load(e, !0).render(), a.call(this, e, "contextmenu");
            }).on("click", function (e) {
              e = e.data || e, a.call(this, e, "click");
            }).on("dblclick", function (e) {
              e = e.data || e, a.call(this, e, "dblclick");
            }).on("mouseenter", function (e) {
              e = e.data || e, t.load(e.messages, !0).render();
            }).on("mouseleave", function () {
              t.unrender();
            });
          }function a(e, t) {
            e.callbacks && Object.values(e.callbacks).forEach(function (e) {
              e.trigger === t && r.load({ callback: e }, !0).execute();
            });
          }
        } }], [{ key: "getSymbol", value: function value(e) {
          var t = void 0;switch (e) {case "cross":
              t = d3.symbolCross;break;case "diamond":
              t = d3.symbolDiamond;break;case "square":
              t = d3.symbolSquare;break;case "triangle":
              t = d3.symbolTriangle;break;case "star":
              t = d3.symbolStar;break;case "wye":
              t = d3.symbolWye;break;case "circle":default:
              t = d3.symbolCircle;}return t;
        } }, { key: "colors", get: function get() {
          return d3.scaleSequential().domain([0, 100]).interpolator(d3.interpolateRainbow);
        } }]), t;
    }();t.default = s;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        a = i(n(0)),
        o = i(n(10));function i(e) {
      return e && e.__esModule ? e : { default: e };
    }var l = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, a.default), r(t, [{ key: "traverse", value: function value(e, t) {
          for (var n = this; t.hasNext();) {
            var r = t.next(),
                a = e.append("li"),
                i = a.selectAll("a").data([r]).enter().append("a").attr("title", r.title).html(r.title);if (r.callback && Object.values(r.callback).length && i.on("click", function (e) {
              return new o.default(n.options).load(e, !0).execute();
            }), r.menus && Object.values(r.menus).length > 0) {
              var l = a.append("ul"),
                  c = this.iterator(Object.values(r.menus));this.traverse(l, c);
            }
          }
        } }, { key: "iterator", value: function value(e) {
          var t = 0;return { next: function next() {
              return this.hasNext() ? e[t++] : void 0;
            }, hasNext: function hasNext() {
              return t < e.length;
            } };
        } }, { key: "unrender", value: function value() {} }]), t;
    }();t.default = l;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        i = c(n(6)),
        l = c(n(20));function c(e) {
      return e && e.__esModule ? e : { default: e };
    }var s,
        u,
        f,
        d,
        p,
        h,
        y = (r = (0, n(1).requires)("callback"), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t);var i = function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));return i.callback = o, i;
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, i.default), o(t, [{ key: "execute", value: function value() {
          var e = this;if (Object.keys(this.data.callback.requiredArgs).length) {
            var t = this.options;return t.callbackHandler = function (t) {
              return e._execute.call(e, t);
            }, new l.default(t).load(this.data, !0).render();
          }this._execute(this.data.callback);
        } }, { key: "_execute", value: function value(e) {
          this.callback("Trigger(" + JSON.stringify(JSON.stringify(e)) + ");");
        } }]), t;
    }(), s = a.prototype, u = "execute", f = [r], d = Object.getOwnPropertyDescriptor(a.prototype, "execute"), p = a.prototype, h = {}, Object.keys(d).forEach(function (e) {
      h[e] = d[e];
    }), h.enumerable = !!h.enumerable, h.configurable = !!h.configurable, ("value" in h || h.initializer) && (h.writable = !0), h = f.slice().reverse().reduce(function (e, t) {
      return t(s, u, e) || e;
    }, h), p && void 0 !== h.initializer && (h.value = h.initializer ? h.initializer.call(p) : void 0, h.initializer = void 0), void 0 === h.initializer && (Object.defineProperty(s, u, h), h = null), a);t.default = y;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        o = n(0),
        i = (r = o) && r.__esModule ? r : { default: r };var l = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t);var i = function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));return i.overlay = void 0, i.holder = void 0, i;
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, i.default), a(t, [{ key: "_initialize", value: function value() {
          this.overlay = d3.select("body").append("div").attr("class", "francy-overlay"), this.holder = d3.select("body").append("div").attr("class", "francy");
        } }, { key: "unrender", value: function value() {
          return this.overlay.remove(), this.element.remove(), this.holder.remove(), !1;
        } }]), t;
    }();t.default = l;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(0),
        c = (o = l) && o.__esModule ? o : { default: o };var s,
        u,
        f,
        d,
        p,
        h,
        y = (r = (0, n(1).requires)(), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          if (this.element = this.HTMLParent.select("div.francy-tooltip-holder"), this.element.node() || (this.element = this.HTMLParent.append("div").attr("class", "francy-tooltip-holder")), !this.element.selectAll("*").node()) {
            var e = d3.mouse(this.SVGParent.node());this.element.style("left", e[0] + 5 + "px").style("top", e[1] - 5 + "px");var t = this.element.append("div").attr("class", "francy-tooltip").append("div").attr("class", "francy-table").append("div").attr("class", "francy-table-body"),
                n = this;return Object.keys(this.data).map(function (e) {
              var r = t.append("div").attr("class", "francy-table-row");r.append("div").attr("class", "francy-table-cell").text(n.data[e].title), r.append("div").attr("class", "francy-table-cell").text(n.data[e].text);
            }), this.element.style("display", "block"), this;
          }
        } }, { key: "unrender", value: function value() {
          this.element && (this.element.selectAll("*").remove(), this.element.style("display", null));
        } }]), t;
    }(), s = a.prototype, u = "render", f = [r], d = Object.getOwnPropertyDescriptor(a.prototype, "render"), p = a.prototype, h = {}, Object.keys(d).forEach(function (e) {
      h[e] = d[e];
    }), h.enumerable = !!h.enumerable, h.configurable = !!h.configurable, ("value" in h || h.initializer) && (h.writable = !0), h = f.slice().reverse().reduce(function (e, t) {
      return t(s, u, e) || e;
    }, h), p && void 0 !== h.initializer && (h.value = h.initializer ? h.initializer.call(p) : void 0, h.initializer = void 0), void 0 === h.initializer && (Object.defineProperty(s, u, h), h = null), a);t.default = y;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        i = c(n(14)),
        l = c(n(0));function c(e) {
      return e && e.__esModule ? e : { default: e };
    }var s,
        u,
        f,
        d,
        p,
        h,
        y = {},
        v = (r = (0, n(1).requires)("canvas"), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t);var i = function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));if (!d3) throw new Error("D3 is not imported! Francy won't work without it... please import D3 v4+.");return i;
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, l.default), o(t, [{ key: "render", value: function value() {
          var e = new i.default(this.options).load(this.data).render();return y[this.data.canvas.id] = e, e.element.node();
        } }], [{ key: "unrender", value: function value(e) {
          delete y[e];
        } }]), t;
    }(), s = a.prototype, u = "render", f = [r], d = Object.getOwnPropertyDescriptor(a.prototype, "render"), p = a.prototype, h = {}, Object.keys(d).forEach(function (e) {
      h[e] = d[e];
    }), h.enumerable = !!h.enumerable, h.configurable = !!h.configurable, ("value" in h || h.initializer) && (h.writable = !0), h = f.slice().reverse().reduce(function (e, t) {
      return t(s, u, e) || e;
    }, h), p && void 0 !== h.initializer && (h.value = h.initializer ? h.initializer.call(p) : void 0, h.initializer = void 0), void 0 === h.initializer && (Object.defineProperty(s, u, h), h = null), a);t.default = v;try {
      t.Francy = window.Francy = v;var b = window.onresize;window.onresize = function () {
        Object.values(y).forEach(function (e) {
          e.canvas.zoomToFit();
        }), "function" == typeof b && b();
      };
    } catch (e) {
      t.Francy = v;
    }
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        i = u(n(5)),
        l = u(n(16)),
        c = u(n(26)),
        s = u(n(29));function u(e) {
      return e && e.__esModule ? e : { default: e };
    }var f,
        d,
        p,
        h,
        y,
        v,
        b = (r = (0, n(1).requires)("canvas"), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t);var i = function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));return i.canvas = new l.default(i.options), i.menu = new c.default(i.options), i.messages = new s.default(i.options), i.add(i.messages).add(i.menu).add(i.canvas), i;
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, i.default), o(t, [{ key: "render", value: function value() {
          var e = d3.select(this.options.appendTo),
              t = "Frame-" + this.data.canvas.id;if (this.element = d3.select("div#" + t), this.element.node() || (this.logger.debug("Creating Frame [" + t + "]..."), this.element = e.append("div").attr("class", "francy").attr("id", t)), !this.element.node()) throw new Error("Oops, could not create frame with id [" + t + "]... Cannot proceed.");return this.logger.debug("Frame updated [" + t + "]..."), this.renderChildren(), this;
        } }, { key: "unrender", value: function value() {} }]), t;
    }(), f = a.prototype, d = "render", p = [r], h = Object.getOwnPropertyDescriptor(a.prototype, "render"), y = a.prototype, v = {}, Object.keys(h).forEach(function (e) {
      v[e] = h[e];
    }), v.enumerable = !!v.enumerable, v.configurable = !!v.configurable, ("value" in v || v.initializer) && (v.writable = !0), v = p.slice().reverse().reduce(function (e, t) {
      return t(f, d, e) || e;
    }, v), y && void 0 !== v.initializer && (v.value = v.initializer ? v.initializer.call(y) : void 0, v.initializer = void 0), void 0 === v.initializer && (Object.defineProperty(f, d, v), v = null), a);t.default = b;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }();var a = function () {
      function e() {
        !function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, e);
      }return r(e, null, [{ key: "parse", value: function value(t) {
          var n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];if (t) {
            t = (t = "string" != typeof t ? JSON.stringify(t) : t).replace(/[\n\r\b\\]+|(gap>)/g, "");var r = /{(?:[^])*}/g.exec(t);if (r) {
              t = r[0];try {
                var a = JSON.parse(t);return a.mime === e.MIME || n ? a : void 0;
              } catch (e) {
                console.error(e);
              }
            }
          }
        } }, { key: "MIME", get: function get() {
          return "application/vnd.francy+json";
        } }]), e;
    }();t.default = a;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        i = s(n(5)),
        l = s(n(17)),
        c = s(n(22));function s(e) {
      return e && e.__esModule ? e : { default: e };
    }var u,
        f,
        d,
        p,
        h,
        y,
        v = (r = (0, n(1).requires)("canvas"), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;!function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t);var i = function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));return i.graph = new l.default(i.options), i.chartFactory = new c.default(i.options), i.add(i.graph).add(i.chartFactory), i;
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, i.default), o(t, [{ key: "render", value: function value() {
          var e = void 0,
              t = d3.zoom(),
              n = this;function r() {
            if (n.data.canvas.zoomToFit) {
              var r = e.node().getBBox(),
                  a = n.element.node().getBoundingClientRect(),
                  o = a.right - a.left,
                  i = a.bottom - a.top,
                  l = +r.width,
                  c = +r.height;if (0 === l || 0 === c) return;var s = r.x + l / 2,
                  u = r.y + c / 2,
                  f = .9 / Math.max(l / o, c / i),
                  d = o / 2 - f * s,
                  p = i / 2 - f * u;e.transition().duration(n.transitionDuration).attr("transform", "translate(" + d + "," + p + ")scale(" + f + "," + f + ")").on("end", function () {
                return function (e, r, a) {
                  n.element.call(t.transform, d3.zoomIdentity.translate(e, r).scale(a, a));
                }(d, p, f);
              });
            }
          }var a = "Canvas-" + this.data.canvas.id;if (this.element = d3.select("svg#" + a), this.element.node() || (this.logger.debug("Creating Canvas [" + a + "]..."), this.element = this.parent.append("svg").attr("class", "francy-canvas").attr("id", a)), !this.element.node()) throw new Error("Oops, could not create canvas with id [" + a + "]... Cannot proceed.");return this.element.attr("width", this.data.canvas.width).attr("height", this.data.canvas.height), (e = this.element.select("g.francy-content")).node() || (e = this.element.append("g").attr("class", "francy-content"), t.on("zoom", function () {
            e.attr("transform", d3.event.transform);
          }), this.element.call(t).on("dblclick.zoom", null)), this.element.on("click", function () {
            d3.event.defaultPrevented && d3.event.stopPropagation();
          }, !0), this.element.zoomToFit = this.zoomToFit = r, this.logger.debug("Canvas updated [" + a + "]..."), this.renderChildren(), setTimeout(function () {
            r();
          }, this.transitionDuration), this;
        } }, { key: "unrender", value: function value() {} }]), t;
    }(), u = a.prototype, f = "render", d = [r], p = Object.getOwnPropertyDescriptor(a.prototype, "render"), h = a.prototype, y = {}, Object.keys(p).forEach(function (e) {
      y[e] = p[e];
    }), y.enumerable = !!y.enumerable, y.configurable = !!y.configurable, ("value" in y || y.initializer) && (y.writable = !0), y = d.slice().reverse().reduce(function (e, t) {
      return t(u, f, e) || e;
    }, y), h && void 0 !== y.initializer && (y.value = y.initializer ? y.initializer.call(h) : void 0, y.initializer = void 0), void 0 === y.initializer && (Object.defineProperty(u, f, y), y = null), a);t.default = v;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        i = s(n(0)),
        l = s(n(18)),
        c = s(n(21));function s(e) {
      return e && e.__esModule ? e : { default: e };
    }var u,
        f,
        d,
        p,
        h,
        y,
        v = (r = (0, n(1).requires)("canvas.graph"), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, i.default), o(t, [{ key: "render", value: function value() {
          var e = void 0;switch (this.data.canvas.graph.type) {case "tree":
              e = new l.default(this.options).load(this.data).render();break;default:
              e = new c.default(this.options).load(this.data).render();}return e;
        } }, { key: "unrender", value: function value() {} }]), t;
    }(), u = a.prototype, f = "render", d = [r], p = Object.getOwnPropertyDescriptor(a.prototype, "render"), h = a.prototype, y = {}, Object.keys(p).forEach(function (e) {
      y[e] = p[e];
    }), y.enumerable = !!y.enumerable, y.configurable = !!y.configurable, ("value" in y || y.initializer) && (y.writable = !0), y = d.slice().reverse().reduce(function (e, t) {
      return t(u, f, e) || e;
    }, y), h && void 0 !== y.initializer && (y.value = y.initializer ? y.initializer.call(h) : void 0, y.initializer = void 0), void 0 === y.initializer && (Object.defineProperty(u, f, y), y = null), a);t.default = v;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(8),
        c = (o = l) && o.__esModule ? o : { default: o },
        s = n(3);var u,
        f,
        d,
        p,
        h,
        y,
        v = (r = (0, n(2).initialize)(), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          var e = 0,
              t = void 0;(t = d3.hierarchy(this.treeData, function (e) {
            return e.children;
          })).x0 = this.height / 2, t.y0 = 0;var n = [1];!function e(t, r) {
            r.children && r.children.length > 0 && (n.length <= t + 1 && n.push(0), n[t + 1] += r.children.length, r.children.forEach(function (n) {
              e(t + 1, n);
            }));
          }(0, t);var r = 100 * d3.max(n),
              a = d3.tree().size([r, this.width]);function o(n) {
            var r = this;var i = a(t);var l = i.descendants(),
                u = i.descendants().slice(1);l.forEach(function (e) {
              return e.y = e.depth * 180;
            });var f = this.element.selectAll("g.francy-links");if (!f.node()) {
              f = this.element.append("g").attr("class", "francy-links");
            }var d = f.selectAll("path.francy-edge").data(u, function (t) {
              return t.id || (t.id = ++e);
            });var p = d.enter().append("path").attr("class", "francy-edge").attr("d", function () {
              var e = { x: n.x0, y: n.y0 };return h(e, e);
            });p.merge(d).transition().duration(this.transitionDuration).attr("d", function (e) {
              return h(e, e.parent);
            });d.exit().transition().duration(this.transitionDuration).attr("d", function () {
              var e = { x: n.x, y: n.y };return h(e, e);
            }).remove();f.selectAll("path.francy-edge").style("fill", "none").style("stroke", "#ccc").style("stroke-width", "1px");l.forEach(function (e) {
              e.x0 = e.x;e.y0 = e.y;
            });function h(e, t) {
              return "M " + e.y + " " + e.x + "\n            C " + (e.y + t.y) / 2 + " " + e.x + ",\n              " + (e.y + t.y) / 2 + " " + t.x + ",\n              " + t.y + " " + t.x;
            }var y = this.element.selectAll("g.francy-nodes");if (!y.node()) {
              y = this.element.append("g").attr("class", "francy-nodes");
            }var v = y.selectAll("g.francy-node").data(l, function (t) {
              return t.id || (t.id = ++e);
            });var b = v.enter().append("g").attr("class", "francy-node").attr("transform", function () {
              return "translate(" + n.y0 + "," + n.x0 + ")";
            });b.append("path").attr("d", d3.symbol().type(function (e) {
              return c.default.getSymbol(e.data.type);
            }).size(function (e) {
              return e.data.size * 100;
            })).attr("class", "francy-symbol");b.append("text").attr("class", "francy-label").text(function (e) {
              return e.data.title;
            }).attr("x", function () {
              var e = this.getBBox();return -(e.width / 2);
            }).style("cursor", function (e) {
              return e.children || e._children ? "pointer" : "default";
            });var g = b.merge(v);g.transition().duration(this.transitionDuration).attr("transform", function (e) {
              return "translate(" + e.y + "," + e.x + ")";
            });v.exit().transition().duration(this.transitionDuration).attr("transform", function () {
              return "translate(" + n.y + "," + n.x + ")";
            }).remove();y.selectAll("path.francy-symbol").style("fill", function (e) {
              return e.children || e._children ? "lightsteelblue" : c.default.colors(e.data.layer * 5);
            }).style("cursor", function (e) {
              return e.children || e._children ? "pointer" : "default";
            });v = y.selectAll("g.francy-node");if (v.node()) {
              this._applyEvents(v);var m = v.on("click");v.on("click", function (e) {
                m.call(r, e.data);_.call(r, e);
              });
            }var w = this;function _(e) {
              if (e.children) {
                e._children = e.children;e.children = null;
              } else {
                e.children = e._children;e._children = null;
              }o.call(w, e);
            }(0, s.RegisterMathJax)(this.SVGParent);setTimeout(function () {
              r.parent.zoomToFit();
            }, this.transitionDuration);
          }return this.data.canvas.graph.collapsed && t.children.forEach(function e(t) {
            t.children && (t._children = t.children, t._children.forEach(e), t.children = null);
          }), function (n) {
            var r = this;var i = a(t);var l = i.descendants(),
                u = i.descendants().slice(1);l.forEach(function (e) {
              return e.y = 180 * e.depth;
            });var f = this.element.selectAll("g.francy-links");f.node() || (f = this.element.append("g").attr("class", "francy-links"));var d = f.selectAll("path.francy-edge").data(u, function (t) {
              return t.id || (t.id = ++e);
            });var p = d.enter().append("path").attr("class", "francy-edge").attr("d", function () {
              var e = { x: n.x0, y: n.y0 };return h(e, e);
            });p.merge(d).transition().duration(this.transitionDuration).attr("d", function (e) {
              return h(e, e.parent);
            });d.exit().transition().duration(this.transitionDuration).attr("d", function () {
              var e = { x: n.x, y: n.y };return h(e, e);
            }).remove();f.selectAll("path.francy-edge").style("fill", "none").style("stroke", "#ccc").style("stroke-width", "1px");l.forEach(function (e) {
              e.x0 = e.x, e.y0 = e.y;
            });function h(e, t) {
              return "M " + e.y + " " + e.x + "\n            C " + (e.y + t.y) / 2 + " " + e.x + ",\n              " + (e.y + t.y) / 2 + " " + t.x + ",\n              " + t.y + " " + t.x;
            }var y = this.element.selectAll("g.francy-nodes");y.node() || (y = this.element.append("g").attr("class", "francy-nodes"));var v = y.selectAll("g.francy-node").data(l, function (t) {
              return t.id || (t.id = ++e);
            });var b = v.enter().append("g").attr("class", "francy-node").attr("transform", function () {
              return "translate(" + n.y0 + "," + n.x0 + ")";
            });b.append("path").attr("d", d3.symbol().type(function (e) {
              return c.default.getSymbol(e.data.type);
            }).size(function (e) {
              return 100 * e.data.size;
            })).attr("class", "francy-symbol");b.append("text").attr("class", "francy-label").text(function (e) {
              return e.data.title;
            }).attr("x", function () {
              var e = this.getBBox();return -e.width / 2;
            }).style("cursor", function (e) {
              return e.children || e._children ? "pointer" : "default";
            });var g = b.merge(v);g.transition().duration(this.transitionDuration).attr("transform", function (e) {
              return "translate(" + e.y + "," + e.x + ")";
            });v.exit().transition().duration(this.transitionDuration).attr("transform", function () {
              return "translate(" + n.y + "," + n.x + ")";
            }).remove();y.selectAll("path.francy-symbol").style("fill", function (e) {
              return e.children || e._children ? "lightsteelblue" : c.default.colors(5 * e.data.layer);
            }).style("cursor", function (e) {
              return e.children || e._children ? "pointer" : "default";
            });v = y.selectAll("g.francy-node");if (v.node()) {
              this._applyEvents(v);var m = v.on("click");v.on("click", function (e) {
                m.call(r, e.data), function (e) {
                  e.children ? (e._children = e.children, e.children = null) : (e.children = e._children, e._children = null);o.call(w, e);
                }.call(r, e);
              });
            }var w = this;(0, s.RegisterMathJax)(this.SVGParent);setTimeout(function () {
              r.parent.zoomToFit();
            }, this.transitionDuration);
          }.call(this, t), this;
        } }, { key: "unrender", value: function value() {} }, { key: "treeData", get: function get() {
          var e = this.data.canvas.graph.nodes ? Object.values(this.data.canvas.graph.nodes) : [],
              t = e.reduce(function (e, t) {
            return e[t.id] = t, e;
          }, {}),
              n = [];return e.forEach(function (e) {
            var r = t[e.parent];r ? (r.children || (r.children = [])).push(e) : n.push(e);
          }), n[0];
        } }]), t;
    }(), u = a.prototype, f = "render", d = [r], p = Object.getOwnPropertyDescriptor(a.prototype, "render"), h = a.prototype, y = {}, Object.keys(p).forEach(function (e) {
      y[e] = p[e];
    }), y.enumerable = !!y.enumerable, y.configurable = !!y.configurable, ("value" in y || y.initializer) && (y.writable = !0), y = d.slice().reverse().reduce(function (e, t) {
      return t(u, f, e) || e;
    }, y), h && void 0 !== y.initializer && (y.value = y.initializer ? y.initializer.call(h) : void 0, y.initializer = void 0), void 0 === y.initializer && (Object.defineProperty(u, f, y), y = null), a);t.default = v;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(9),
        c = (o = l) && o.__esModule ? o : { default: o };var s,
        u,
        f,
        d,
        p,
        h,
        y = (r = (0, n(1).requires)("menus"), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          var e = this;d3.event.preventDefault(), this.element = this.HTMLParent.select("div.francy-context-menu-holder"), this.element.node() || (this.element = this.HTMLParent.append("div").attr("class", "francy-context-menu-holder"));var t = d3.mouse(this.SVGParent.node());if (this.element.style("left", t[0] + 5 + "px").style("top", t[1] + 5 + "px"), this.element.style("display", "block"), !this.element.selectAll("*").node()) {
            d3.select("body").on("click.francy-context-menu", function () {
              return e.unrender();
            });var n = this.element.append("div").attr("class", "francy-context-menu").append("ul"),
                r = this.iterator(Object.values(this.data.menus));return this.traverse(n, r), this;
          }
        } }, { key: "unrender", value: function value() {
          this.element && (this.element.selectAll("*").remove(), this.element.style("display", null));
        } }]), t;
    }(), s = a.prototype, u = "render", f = [r], d = Object.getOwnPropertyDescriptor(a.prototype, "render"), p = a.prototype, h = {}, Object.keys(d).forEach(function (e) {
      h[e] = d[e];
    }), h.enumerable = !!h.enumerable, h.configurable = !!h.configurable, ("value" in h || h.initializer) && (h.writable = !0), h = f.slice().reverse().reduce(function (e, t) {
      return t(s, u, e) || e;
    }, h), p && void 0 !== h.initializer && (h.value = h.initializer ? h.initializer.call(p) : void 0, h.initializer = void 0), void 0 === h.initializer && (Object.defineProperty(s, u, h), h = null), a);t.default = y;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(11),
        c = (o = l) && o.__esModule ? o : { default: o },
        s = n(3);var u,
        f,
        d,
        p,
        h,
        y,
        v = (r = (0, n(2).initialize)(), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          var e = this,
              t = this,
              n = this.data.callback.id;this.logger.debug("Creating Callback Modal [" + n + "]..."), this.element = this.holder.append("div").attr("id", n).attr("class", "francy-modal");var r = this.element.append("form"),
              a = r.append("div").attr("class", "francy-modal-header").append("span").html("Required arguments&nbsp;");this.data.title && a.append("span").attr("style", "font-weight: bold;").text("for " + this.data.title);var o = r.append("div").attr("class", "francy-modal-content").append("div").attr("class", "francy-table").append("div").attr("class", "francy-table-body"),
              i = !0,
              l = !1,
              c = void 0;try {
            for (var u, f = Object.values(this.data.callback.requiredArgs)[Symbol.iterator](); !(i = (u = f.next()).done); i = !0) {
              var d = u.value,
                  p = o.append("div").attr("class", "francy-table-row");p.append("div").attr("class", "francy-table-cell").append("label").attr("for", d.id).text(d.title);var h = p.append("div").attr("class", "francy-table-cell").append("input").attr("id", d.id).attr("class", "francy-arg").attr("required", "").attr("name", d.id).attr("type", d.type).attr("value", d.value).on("change", function () {
                t.data.callback.requiredArgs[this.id].value = this.value;
              }).on("input", this.onchange).on("keyup", this.onchange).on("paste", this.onchange);"boolean" === d.type && (d.value = d.value || !1, h.attr("type", "checkbox").attr("required", null).attr("value", d.value).on("change", function () {
                t.data.callback.requiredArgs[this.id].value = this.value = this.checked;
              })), p.append("span").attr("class", "validity");
            }
          } catch (e) {
            l = !0, c = e;
          } finally {
            try {
              !i && f.return && f.return();
            } finally {
              if (l) throw c;
            }
          }var y = r.append("div").attr("class", "francy-modal-footer");y.append("button").text("Ok").on("click", function () {
            return r.node().checkValidity() && (d3.event.preventDefault(), e.options.callbackHandler(e.data.callback), e.unrender.call(e)), !1;
          }), y.append("button").text("Cancel").on("click", function () {
            d3.event.preventDefault(), e.unrender.call(e);
          }), (0, s.RegisterJupyterKeyboardEvents)([".francy", ".francy-arg", ".francy-overlay", ".francy-modal"]);var v = o.selectAll(".francy-arg").node();return v && v.focus(), this.logger.debug("Callback Modal updated [" + n + "]..."), this;
        } }]), t;
    }(), u = a.prototype, f = "render", d = [r], p = Object.getOwnPropertyDescriptor(a.prototype, "render"), h = a.prototype, y = {}, Object.keys(p).forEach(function (e) {
      y[e] = p[e];
    }), y.enumerable = !!y.enumerable, y.configurable = !!y.configurable, ("value" in y || y.initializer) && (y.writable = !0), y = d.slice().reverse().reduce(function (e, t) {
      return t(u, f, e) || e;
    }, y), h && void 0 !== y.initializer && (y.value = y.initializer ? y.initializer.call(h) : void 0, y.initializer = void 0), void 0 === y.initializer && (Object.defineProperty(u, f, y), y = null), a);t.default = v;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(8),
        c = (o = l) && o.__esModule ? o : { default: o },
        s = n(3);var u,
        f,
        d,
        p,
        h,
        y,
        v = (r = (0, n(2).initialize)(), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          var e = this,
              t = this.data.canvas.graph.simulation,
              n = this.data.canvas.graph.nodes ? Object.values(this.data.canvas.graph.nodes) : [],
              r = this.data.canvas.graph.links ? Object.values(this.data.canvas.graph.links) : [],
              a = this.element.selectAll("g.francy-links");a.node() || (a = this.element.append("g").attr("class", "francy-links"));var o = a.selectAll("g.francy-link").data(),
              i = this._filterNewElements(r, o),
              l = a.selectAll("g.francy-link").data(i, function (e) {
            return e.id;
          }),
              u = this.element.selectAll("g.francy-nodes");u.node() || (u = this.element.append("g").attr("class", "francy-nodes"));var f = u.selectAll("g.francy-node").data(),
              d = this._filterNewElements(n, f),
              p = u.selectAll("g.francy-node").data(d, function (e) {
            return e.id;
          });if (0 !== p.exit().data().length || 0 !== p.enter().data().length || 0 !== l.enter().data().length || 0 !== l.exit().data().length) {
            l.enter().append("g").attr("class", "francy-link").append("line").attr("class", "francy-edge"), l.exit().remove(), l = a.selectAll("g.francy-link line.francy-edge"), "directed" === this.data.canvas.graph.type && (e.parent.append("defs").selectAll("marker").data(["arrow"]).enter().append("marker").attr("class", "francy-arrows").attr("id", function (e) {
              return e;
            }).attr("viewBox", "0 -5 10 10").attr("refX", 25).attr("refY", 0).attr("markerWidth", 10).attr("markerHeight", 10).attr("orient", "auto").append("path").attr("d", "M0,-5L10,0L0,5 L10,0 L0, -5"), l.style("marker-end", "url(#arrow)"));var h = p.enter().append("g").attr("class", "francy-node").attr("id", function (e) {
              return e.id;
            });if (h.append("path").attr("d", d3.symbol().type(function (e) {
              return c.default.getSymbol(e.type);
            }).size(function (e) {
              return 100 * e.size;
            })).style("fill", function (e) {
              return c.default.colors(5 * e.layer);
            }).attr("class", function (e) {
              return "francy-symbol" + (e.highlight ? " francy-highlight" : "") + (Object.values(e.menus).length ? " francy-context" : "");
            }), h.append("text").attr("class", "francy-label").text(function (e) {
              return e.title;
            }).attr("x", function () {
              return -this.getBBox().width / 2;
            }), p.exit().remove(), p = u.selectAll("g.francy-node"), this.data.canvas.graph.drag && p.call(d3.drag().on("start", function (e) {
              !d3.event.active && t && x.alphaTarget(.01).restart();e.fx = e.x, e.fy = e.y;
            }).on("drag", function (e) {
              e.fx = d3.event.x, e.fy = d3.event.y;
            }).on("end", function (e) {
              !d3.event.active && t && x.alphaTarget(0);e.fx = null, e.fy = null;
            })), p && !p.empty() && (this._applyEvents(p), this.data.canvas.graph.showNeighbours)) {
              var y = p.on("click");p.on("click", function (e) {
                (function () {
                  function e(e, t) {
                    return j[e.index + "," + t.index];
                  }if (d3.event.preventDefault(), 0 === k) {
                    var t = d3.select(this).node().__data__;p.style("opacity", function (n) {
                      return e(t, n) || e(n, t) ? 1 : .1;
                    }), l.style("opacity", function (e) {
                      return t.index === e.source.index || t.index === e.target.index ? 1 : .1;
                    }), k = 1;
                  } else p.style("opacity", 1), l.style("opacity", 1), k = 0;
                }).call(this), y.call(this, e);
              });
            }if (t) {
              var v = 0;p.each(function () {
                var e = this.getBBox();v < e.width && (v = e.width);
              });var b = d3.forceCenter().x(this.width / 2).y(this.height / 2),
                  g = d3.forceManyBody().strength(50 * -n.length),
                  m = d3.forceLink(r).id(function (e) {
                return e.id;
              }).distance(50),
                  w = d3.forceCollide().radius(v / 2).iterations(3),
                  _ = d3.forceX(this.width / 2).strength(.05),
                  O = d3.forceY(this.height / 2).strength(.25);"hasse" === this.data.canvas.graph.type && (_ = d3.forceX(this.width / 2).strength(.3), O = d3.forceY(function (e) {
                return 75 * e.layer;
              }).strength(.7));var x = d3.forceSimulation().nodes(d).force("charge", g).force("link", m).force("center", b).force("x", _).force("y", O).force("collide", w).on("tick", T).on("end", function () {
                e.parent.zoomToFit();
              });x.alpha(.5).restart();
            } else T(), e.parent.zoomToFit();for (var k = 0, j = {}, P = 0; P < n.length; P++) {
              j[P + "," + P] = 1;
            }return r.forEach(function (e) {
              j[e.source.index + "," + e.target.index] = 1;
            }), (0, s.RegisterMathJax)(this.SVGParent), this;
          }function T() {
            l.attr("x1", function (e) {
              return e.source.x;
            }).attr("y1", function (e) {
              return e.source.y;
            }).attr("x2", function (e) {
              return e.target.x;
            }).attr("y2", function (e) {
              return e.target.y;
            }), p.attr("transform", function (e) {
              return "translate(" + e.x + "," + e.y + ")";
            });
          }
        } }, { key: "unrender", value: function value() {} }, { key: "_filterNewElements", value: function value(e, t) {
          var n = [];return e.forEach(function (e) {
            var r = t.find(function (t) {
              return t.id === e.id;
            });r ? n.push(r) : n.push(e);
          }), n;
        } }]), t;
    }(), u = a.prototype, f = "render", d = [r], p = Object.getOwnPropertyDescriptor(a.prototype, "render"), h = a.prototype, y = {}, Object.keys(p).forEach(function (e) {
      y[e] = p[e];
    }), y.enumerable = !!y.enumerable, y.configurable = !!y.configurable, ("value" in y || y.initializer) && (y.writable = !0), y = d.slice().reverse().reduce(function (e, t) {
      return t(u, f, e) || e;
    }, y), h && void 0 !== y.initializer && (y.value = y.initializer ? y.initializer.call(h) : void 0, y.initializer = void 0), void 0 === y.initializer && (Object.defineProperty(u, f, y), y = null), a);t.default = v;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        i = u(n(0)),
        l = u(n(23)),
        c = u(n(24)),
        s = u(n(25));function u(e) {
      return e && e.__esModule ? e : { default: e };
    }var f,
        d,
        p,
        h,
        y,
        v,
        b = (r = (0, n(1).requires)("canvas.chart"), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, i.default), o(t, [{ key: "render", value: function value() {
          var e = void 0;switch (this.data.canvas.chart.type) {case "bar":
              e = new l.default(this.options).load(this.data).render();break;case "line":
              e = new c.default(this.options).load(this.data).render();break;case "scatter":
              e = new s.default(this.options).load(this.data).render();}return e;
        } }, { key: "unrender", value: function value() {} }]), t;
    }(), f = a.prototype, d = "render", p = [r], h = Object.getOwnPropertyDescriptor(a.prototype, "render"), y = a.prototype, v = {}, Object.keys(h).forEach(function (e) {
      v[e] = h[e];
    }), v.enumerable = !!v.enumerable, v.configurable = !!v.configurable, ("value" in v || v.initializer) && (v.writable = !0), v = p.slice().reverse().reduce(function (e, t) {
      return t(f, d, e) || e;
    }, v), y && void 0 !== v.initializer && (v.value = v.initializer ? v.initializer.call(y) : void 0, v.initializer = void 0), void 0 === v.initializer && (Object.defineProperty(f, d, v), v = null), a);t.default = b;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(4),
        c = (o = l) && o.__esModule ? o : { default: o };var s,
        u,
        f,
        d,
        p,
        h,
        y = (r = (0, n(2).initialize)(), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          this.xScale = d3.scaleBand().range([0, this.width]).padding(.1).domain(this.axis.x.domain), this.axis.x.domain.length || (this.axis.x.domain = c.default.domainRange(this.allValues.length / this.datasetNames.length), this.xScale.domain(this.axis.x.domain));var e = this.element.selectAll("g.francy-bars");e.node() || (e = this.element.append("g").attr("class", "francy-bars"));var t = this;return this.datasetNames.forEach(function (n, r) {
            var a = e.selectAll(".francy-bar-" + r).data(t.datasets[n]);a.exit().transition().duration(750).style("fill-opacity", 1e-6).remove(), a.enter().append("rect").style("fill", function () {
              return c.default.colors(5 * r);
            }).attr("class", "francy-bar-" + r).attr("x", function (e, n) {
              return t.xScale(t.axis.x.domain[n]) + r * (t.xScale.bandwidth() / t.datasetNames.length);
            }).attr("width", t.xScale.bandwidth() / t.datasetNames.length - 1).attr("y", function (e) {
              return t.yScale(e);
            }).attr("height", function (e) {
              return t.height - t.yScale(e);
            }).on("mouseenter", function (e) {
              d3.select(this).transition().duration(250).style("fill-opacity", .5), t.tooltip.load(c.default.tooltip(n, e), !0).render();
            }).on("mouseleave", function () {
              d3.select(this).transition().duration(250).style("fill-opacity", 1), t.tooltip.unrender();
            }).merge(a).attr("x", function (e, n) {
              return t.xScale(t.axis.x.domain[n]) + r * (t.xScale.bandwidth() / t.datasetNames.length);
            }).attr("width", t.xScale.bandwidth() / t.datasetNames.length - 1).attr("y", function (e) {
              return t.yScale(e);
            }).attr("height", function (e) {
              return t.height - t.yScale(e);
            });
          }), this._renderAxis(), this._renderLegend(), this;
        } }, { key: "unrender", value: function value() {} }]), t;
    }(), s = a.prototype, u = "render", f = [r], d = Object.getOwnPropertyDescriptor(a.prototype, "render"), p = a.prototype, h = {}, Object.keys(d).forEach(function (e) {
      h[e] = d[e];
    }), h.enumerable = !!h.enumerable, h.configurable = !!h.configurable, ("value" in h || h.initializer) && (h.writable = !0), h = f.slice().reverse().reduce(function (e, t) {
      return t(s, u, e) || e;
    }, h), p && void 0 !== h.initializer && (h.value = h.initializer ? h.initializer.call(p) : void 0, h.initializer = void 0), void 0 === h.initializer && (Object.defineProperty(s, u, h), h = null), a);t.default = y;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(4),
        c = (o = l) && o.__esModule ? o : { default: o };var s,
        u,
        f,
        d,
        p,
        h,
        y = (r = (0, n(2).initialize)(), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          var e = this.element.selectAll("g.francy-lines");e.node() || (e = this.element.append("g").attr("class", "francy-lines"));var t = this;return this.datasetNames.forEach(function (n, r) {
            var a = d3.line().x(function (e, n) {
              return t.xScale(n);
            }).y(function (e) {
              return t.yScale(e);
            }),
                o = e.selectAll(".francy-line-" + r).data([t.datasets[n]]);o.exit().transition().duration(750).style("fill-opacity", 1e-6).remove(), o.enter().append("path").style("stroke", function () {
              return c.default.colors(5 * r);
            }).style("stroke-width", "5px").attr("class", "francy-line-" + r).attr("d", a).on("mouseenter", function (e) {
              d3.select(this).transition().duration(250).style("stroke-opacity", .5).style("stroke-width", "10px"), t.tooltip.load(c.default.tooltip(n, e), !0).render();
            }).on("mouseleave", function () {
              d3.select(this).transition().duration(250).style("stroke-opacity", 1).style("stroke-width", "5px"), t.tooltip.unrender();
            }).merge(o);
          }), this._renderAxis(), this._renderLegend(), this;
        } }, { key: "unrender", value: function value() {} }]), t;
    }(), s = a.prototype, u = "render", f = [r], d = Object.getOwnPropertyDescriptor(a.prototype, "render"), p = a.prototype, h = {}, Object.keys(d).forEach(function (e) {
      h[e] = d[e];
    }), h.enumerable = !!h.enumerable, h.configurable = !!h.configurable, ("value" in h || h.initializer) && (h.writable = !0), h = f.slice().reverse().reduce(function (e, t) {
      return t(s, u, e) || e;
    }, h), p && void 0 !== h.initializer && (h.value = h.initializer ? h.initializer.call(p) : void 0, h.initializer = void 0), void 0 === h.initializer && (Object.defineProperty(s, u, h), h = null), a);t.default = y;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(4),
        c = (o = l) && o.__esModule ? o : { default: o };var s,
        u,
        f,
        d,
        p,
        h,
        y = (r = (0, n(2).initialize)(), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          var e = this.element.selectAll("g.francy-scatters");e.node() || (e = this.element.append("g").attr("class", "francy-scatters"));var t = this;return this.datasetNames.forEach(function (n, r) {
            var a = e.selectAll(".francy-scatter-" + r).data(t.datasets[n]);a.exit().transition().duration(750).style("fill-opacity", 1e-6).remove(), a.enter().append("circle").style("fill", function () {
              return c.default.colors(5 * r);
            }).attr("class", "francy-scatter-" + r).attr("r", 5).attr("cx", function (e, n) {
              return t.xScale(n);
            }).attr("cy", function (e) {
              return t.yScale(e);
            }).on("mouseenter", function (e) {
              d3.select(this).transition().duration(250).style("fill-opacity", .5).attr("r", 10), t.tooltip.load(c.default.tooltip(n, e), !0).render();
            }).on("mouseleave", function () {
              d3.select(this).transition().duration(250).style("fill-opacity", 1).attr("r", 5), t.tooltip.unrender();
            }).merge(a);
          }), this._renderAxis(), this._renderLegend(), this;
        } }, { key: "unrender", value: function value() {} }]), t;
    }(), s = a.prototype, u = "render", f = [r], d = Object.getOwnPropertyDescriptor(a.prototype, "render"), p = a.prototype, h = {}, Object.keys(d).forEach(function (e) {
      h[e] = d[e];
    }), h.enumerable = !!h.enumerable, h.configurable = !!h.configurable, ("value" in h || h.initializer) && (h.writable = !0), h = f.slice().reverse().reduce(function (e, t) {
      return t(s, u, e) || e;
    }, h), p && void 0 !== h.initializer && (h.value = h.initializer ? h.initializer.call(p) : void 0, h.initializer = void 0), void 0 === h.initializer && (Object.defineProperty(s, u, h), h = null), a);t.default = y;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        a = l(n(9)),
        o = l(n(27)),
        i = function (e) {
      if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) {
        Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
      }return t.default = e, t;
    }(n(28));function l(e) {
      return e && e.__esModule ? e : { default: e };
    }var c = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, a.default), r(t, [{ key: "render", value: function value() {
          var e = this,
              t = new o.default(this.options),
              n = "MainMenu-" + this.data.canvas.id;this.element = d3.select("#" + n), this.element.node() || (this.logger.debug("Creating Main Menu [" + n + "]..."), this.element = this.parent.append("div").attr("class", "francy-main-menu-holder").attr("id", n)), this.element.selectAll("*").remove(), this.element = this.element.append("ul").attr("class", "francy-main-menu"), this.data.canvas.title && this.element.append("li").attr("class", "francy-title").append("a").html(this.data.canvas.title);var r = this.element.append("li");r.append("a").html("Francy");var a = r.append("ul");a.append("li").append("a").on("click", function () {
            return e.options.appendTo.canvas.zoomToFit();
          }).attr("title", "Zoom to Fit").html("Zoom to Fit"), a.append("li").append("a").on("click", function () {
            return i.saveSvgAsPng(e.SVGParent.node(), "diagram.png");
          }).attr("title", "Save to PNG").html("Save to PNG"), a.append("li").append("a").on("click", function () {
            return t.load(e.data).render();
          }).attr("title", "About").html("About");var l = this.iterator(Object.values(this.data.canvas.menus));return this.traverse(this.element, l), this.logger.debug("Main Menu updated [" + n + "]..."), this;
        } }, { key: "unrender", value: function value() {} }]), t;
    }();t.default = c;
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(11),
        c = (o = l) && o.__esModule ? o : { default: o },
        s = n(3);var u,
        f,
        d,
        p,
        h,
        y,
        v = (r = (0, n(2).initialize)(), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          var e = this,
              t = "AboutModalWindow";this.logger.debug("Creating About Modal [" + t + "]..."), this.element = this.holder.append("div").attr("id", t).attr("class", "francy-modal");var n = this.element.append("form");n.append("div").attr("class", "francy-modal-header").append("span").html("About Francy v" + (this.data.version || "N/A"));var r = n.append("div").attr("class", "francy-modal-content").append("div").attr("class", "francy-table").append("div").attr("class", "francy-table-body");return r.append("span").text("Loaded Object:"), r.append("pre").attr("class", "francy").html((0, s.syntaxHighlight)(JSON.stringify(this.data.canvas, null, 2))), r.append("span").append("a").attr("href", "https://github.com/mcmartins/francy").text("Francy on Github"), n.append("div").attr("class", "francy-modal-footer").append("button").text("Ok").on("click", function () {
            d3.event.preventDefault(), e.unrender.call(e);
          }), (0, s.RegisterJupyterKeyboardEvents)([".francy", ".francy-arg", ".francy-overlay", ".francy-modal"]), this.logger.debug("Callback About updated [" + t + "]..."), this;
        } }]), t;
    }(), u = a.prototype, f = "render", d = [r], p = Object.getOwnPropertyDescriptor(a.prototype, "render"), h = a.prototype, y = {}, Object.keys(p).forEach(function (e) {
      y[e] = p[e];
    }), y.enumerable = !!y.enumerable, y.configurable = !!y.configurable, ("value" in y || y.initializer) && (y.writable = !0), y = d.slice().reverse().reduce(function (e, t) {
      return t(u, f, e) || e;
    }, y), h && void 0 !== y.initializer && (y.value = y.initializer ? y.initializer.call(h) : void 0, y.initializer = void 0), void 0 === y.initializer && (Object.defineProperty(u, f, y), y = null), a);t.default = v;
  }, function (e, t, n) {
    "use strict";
    var r;!function () {
      var a = void 0 !== t && t || {} || this;function o(e) {
        if (!((t = e) instanceof HTMLElement || t instanceof SVGElement)) throw new Error("an HTMLElement or SVGElement is required; got " + e);var t;
      }function i(e, t, n) {
        for (var r = t.selectorRemap, a = t.modifyStyle, o = "", i = [], l = document.styleSheets, c = 0; c < l.length; c++) {
          try {
            var s = l[c].cssRules;
          } catch (e) {
            console.warn("Stylesheet could not be loaded: " + l[c].href);continue;
          }if (null != s) for (var u, f = 0; f < s.length; f++, u = null) {
            var d = s[f];if (void 0 !== d.style) {
              var p;try {
                p = d.selectorText;
              } catch (e) {
                console.warn('The following CSS rule has an invalid selector: "' + d + '"', e);
              }try {
                p && (u = e.querySelector(p) || e.parentNode.querySelector(p));
              } catch (e) {
                console.warn('Invalid CSS selector "' + p + '"', e);
              }if (u) {
                var h = r ? r(d.selectorText) : d.selectorText,
                    y = a ? a(d.style.cssText) : d.style.cssText;o += h + " { " + y + " }\n";
              } else if (d.cssText.match(/^@font-face/)) {
                var v = /url\(["']?(.+?)["']?\)/,
                    b = d.cssText.match(v),
                    g = b && b[1] || "";g.match(/^data:/) && (g = ""), g ? (g.startsWith("../") ? g = l[c].href + "/../" + g : g.startsWith("./") && (g = l[c].href + "/." + g), i.push({ text: d.cssText, fontUrlRegexp: v, format: m(g), url: g })) : o += d.cssText + "\n";
              }
            }
          }
        }function m(e) {
          for (var t = { woff2: "font/woff2", woff: "font/woff", otf: "application/x-font-opentype", ttf: "application/x-font-ttf", eot: "application/vnd.ms-fontobject", sfnt: "application/font-sfnt", svg: "image/svg+xml" }, n = Object.keys(t), r = 0; r < n.length; ++r) {
            var a = n[r];if (e.indexOf("." + a) > 0) return t[a];
          }return console.error("Unknown font format for " + e + "; Fonts may not be working correctly"), "application/octet-stream";
        }function w(e) {
          if (e.length > 0) {
            var t = e.pop();r(t);
          } else {
            n(o);
          }function r(t) {
            var n = new XMLHttpRequest();function r() {
              var e,
                  r = _(n.response);i(t, r);
            }function a(e) {
              console.warn("Failed to load font from: " + t.url);console.warn(e);o += t.text + "\n";w();
            }function i(t, n) {
              var r = 'url("data:' + t.format + ";base64," + n + '")';o += t.text.replace(t.fontUrlRegexp, r) + "\n", setTimeout(function () {
                w(e);
              }, 0);
            }n.addEventListener("load", r), n.addEventListener("error", a), n.addEventListener("abort", a), n.open("GET", t.url), n.responseType = "arraybuffer", n.send();
          }
        }function _(e) {
          for (var t = "", n = new Uint8Array(e), r = n.byteLength, a = 0; a < r; a++) {
            t += String.fromCharCode(n[a]);
          }return window.btoa(t);
        }!function (e) {
          if (e.length > 0) {
            var t = e.pop();!function (t) {
              var n = new XMLHttpRequest();function r(e) {
                console.warn("Failed to load font from: " + t.url), console.warn(e), o += t.text + "\n", w();
              }n.addEventListener("load", function () {
                var r = function (e) {
                  for (var t = "", n = new Uint8Array(e), r = n.byteLength, a = 0; a < r; a++) {
                    t += String.fromCharCode(n[a]);
                  }return window.btoa(t);
                }(n.response);!function (t, n) {
                  var r = 'url("data:' + t.format + ";base64," + n + '")';o += t.text.replace(t.fontUrlRegexp, r) + "\n", setTimeout(function () {
                    w(e);
                  }, 0);
                }(t, r);
              }), n.addEventListener("error", r), n.addEventListener("abort", r), n.open("GET", t.url), n.responseType = "arraybuffer", n.send();
            }(t);
          } else n(o);
        }(i);
      }function l(e, t, n) {
        var r = e.viewBox && e.viewBox.baseVal && e.viewBox.baseVal[n] || null !== t.getAttribute(n) && !t.getAttribute(n).match(/%$/) && parseInt(t.getAttribute(n)) || e.getBoundingClientRect()[n] || parseInt(t.style[n]) || parseInt(window.getComputedStyle(e).getPropertyValue(n));return void 0 === r || null === r || isNaN(parseFloat(r)) ? 0 : r;
      }function c(e) {
        for (var t = window.atob(e.split(",")[1]), n = e.split(",")[0].split(":")[1].split(";")[0], r = new ArrayBuffer(t.length), a = new Uint8Array(r), o = 0; o < t.length; o++) {
          a[o] = t.charCodeAt(o);
        }return new Blob([r], { type: n });
      }a.prepareSvg = function (e, t, n) {
        o(e), (t = t || {}).scale = t.scale || 1, t.responsive = t.responsive || !1;var r = "http://www.w3.org/2000/xmlns/";!function (e, t) {
          o(e);var n = e.querySelectorAll("image"),
              r = n.length,
              a = function a() {
            0 === r && t();
          };a();for (var i = 0; i < n.length; i++) {
            !function (e) {
              var t = e.getAttributeNS("http://www.w3.org/1999/xlink", "href");if (t && (n = t.value) && 0 == n.lastIndexOf("http", 0) && -1 == n.lastIndexOf(window.location.host)) console.warn("Cannot render embedded images linking to external hosts: " + t.value);else {
                var n,
                    o = document.createElement("canvas"),
                    i = o.getContext("2d"),
                    l = new Image();l.crossOrigin = "anonymous", (t = t || e.getAttribute("href")) ? (l.src = t, l.onload = function () {
                  o.width = l.width, o.height = l.height, i.drawImage(l, 0, 0), e.setAttributeNS("http://www.w3.org/1999/xlink", "href", o.toDataURL("image/png")), r--, a();
                }, l.onerror = function () {
                  console.log("Could not load " + t), r--, a();
                }) : (r--, a());
              }
            }(n[i]);
          }
        }(e, function () {
          var a,
              o,
              c = document.createElement("div"),
              s = e.cloneNode(!0);if ("svg" == e.tagName) a = t.width || l(e, s, "width"), o = t.height || l(e, s, "height");else {
            if (!e.getBBox) return void console.error("Attempted to render non-SVG element", e);var u = e.getBBox();a = u.x + u.width, o = u.y + u.height, s.setAttribute("transform", s.getAttribute("transform").replace(/translate\(.*?\)/, ""));var f = document.createElementNS("http://www.w3.org/2000/svg", "svg");f.appendChild(s), s = f;
          }s.setAttribute("version", "1.1"), s.getAttribute("xmlns") || s.setAttributeNS(r, "xmlns", "http://www.w3.org/2000/svg"), s.getAttribute("xmlns:xlink") || s.setAttributeNS(r, "xmlns:xlink", "http://www.w3.org/1999/xlink"), t.responsive ? (s.removeAttribute("width"), s.removeAttribute("height"), s.setAttribute("preserveAspectRatio", "xMinYMin meet")) : (s.setAttribute("width", a * t.scale), s.setAttribute("height", o * t.scale)), s.setAttribute("viewBox", [t.left || 0, t.top || 0, a, o].join(" "));for (var d = s.querySelectorAll("foreignObject > *"), p = 0; p < d.length; p++) {
            d[p].getAttribute("xmlns") || d[p].setAttributeNS(r, "xmlns", "http://www.w3.org/1999/xhtml");
          }c.appendChild(s), i(e, t, function (e) {
            var t = document.createElement("style");t.setAttribute("type", "text/css"), t.innerHTML = "<![CDATA[\n" + e + "\n]]>";var r = document.createElement("defs");if (r.appendChild(t), s.insertBefore(r, s.firstChild), n) {
              var i = c.innerHTML;i = i.replace(/NS\d+:href/gi, 'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href'), n(i, a, o);
            }
          });
        });
      }, a.svgAsDataUri = function (e, t, n) {
        a.prepareSvg(e, t, function (e) {
          var t,
              r = "data:image/svg+xml;base64," + window.btoa((t = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [<!ENTITY nbsp "&#160;">]>' + e, t = (t = encodeURIComponent(t)).replace(/%([0-9A-F]{2})/g, function (e, t) {
            var n = String.fromCharCode("0x" + t);return "%" === n ? "%25" : n;
          }), decodeURIComponent(t)));n && n(r);
        });
      }, a.svgAsPngUri = function (e, t, n) {
        o(e), (t = t || {}).encoderType = t.encoderType || "image/png", t.encoderOptions = t.encoderOptions || .8;var r = function r(e, _r, a) {
          var o,
              i = document.createElement("canvas"),
              l = i.getContext("2d");i.width = _r, i.height = a, t.canvg ? t.canvg(i, e) : l.drawImage(e, 0, 0), t.backgroundColor && (l.globalCompositeOperation = "destination-over", l.fillStyle = t.backgroundColor, l.fillRect(0, 0, i.width, i.height));try {
            o = i.toDataURL(t.encoderType, t.encoderOptions);
          } catch (e) {
            if ("undefined" != typeof SecurityError && e instanceof SecurityError || "SecurityError" == e.name) return void console.error("Rendered SVG images cannot be downloaded in this browser.");throw e;
          }n(o);
        };t.canvg ? a.prepareSvg(e, t, r) : a.svgAsDataUri(e, t, function (e) {
          var t = new Image();t.onload = function () {
            r(t, t.width, t.height);
          }, t.onerror = function () {
            console.error("There was an error loading the data URI as an image on the following SVG\n", window.atob(e.slice(26)), "\n", "Open the following link to see browser's diagnosis\n", e);
          }, t.src = e;
        });
      }, a.download = function (e, t) {
        if (navigator.msSaveOrOpenBlob) navigator.msSaveOrOpenBlob(c(t), e);else {
          var n = document.createElement("a");if ("download" in n) {
            n.download = e, n.style.display = "none", document.body.appendChild(n);try {
              var r = c(t),
                  a = URL.createObjectURL(r);n.href = a, n.onclick = function () {
                requestAnimationFrame(function () {
                  URL.revokeObjectURL(a);
                });
              };
            } catch (e) {
              console.warn("This browser does not support object URLs. Falling back to string URL."), n.href = t;
            }n.click(), document.body.removeChild(n);
          } else window.open(t, "_temp", "menubar=no,toolbar=no,status=no");
        }
      }, a.saveSvg = function (e, t, n) {
        o(e), n = n || {}, a.svgAsDataUri(e, n, function (e) {
          a.download(t, e);
        });
      }, a.saveSvgAsPng = function (e, t, n) {
        o(e), n = n || {}, a.svgAsPngUri(e, n, function (e) {
          a.download(t, e);
        });
      }, void 0 === (r = function () {
        return a;
      }.call(t, n, t, e)) || (e.exports = r);
    }();
  }, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0;var r,
        a,
        o,
        i = function () {
      function e(e, t) {
        for (var n = 0; n < t.length; n++) {
          var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
        }
      }return function (t, n, r) {
        return n && e(t.prototype, n), r && e(t, r), t;
      };
    }(),
        l = n(0),
        c = (o = l) && o.__esModule ? o : { default: o };var s,
        u,
        f,
        d,
        p,
        h,
        y = (r = (0, n(1).requires)("canvas.messages"), a = function (e) {
      function t(e) {
        var n = e.verbose,
            r = void 0 !== n && n,
            a = e.appendTo,
            o = e.callbackHandler;return function (e, t) {
          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        }(this, t), function (e, t) {
          if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) && "function" != typeof t ? e : t;
        }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, { verbose: r, appendTo: a, callbackHandler: o }));
      }return function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (typeof t === "undefined" ? "undefined" : _typeof(t)));e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);
      }(t, c.default), i(t, [{ key: "render", value: function value() {
          var e = this,
              t = Object.keys(this.data.canvas.messages).map(function (t) {
            return { id: t, type: e.data.canvas.messages[t].type, title: e.data.canvas.messages[t].title, text: e.data.canvas.messages[t].text };
          }),
              n = "Messages-" + this.data.canvas.id;this.element = d3.select("#" + n), this.element.node() || (this.element = this.parent.append("div").attr("class", "francy-message-holder").attr("id", n));var r = this.element.selectAll("div.francy-alert").data(t, function (e) {
            return e.id;
          }),
              a = r.enter().append("div").attr("id", function (e) {
            return e.id;
          }).attr("class", function (e) {
            return "francy-alert alert-" + e.type;
          }).on("click", function () {
            d3.select(this).style("display", "none");
          });return a.append("span").attr("class", "strong").text(function (e) {
            return e.title;
          }), a.append("span").text(function (e) {
            return e.text;
          }), a.append("span").attr("class", "strong").style("display", "none").text("x"), a.merge(r), r.exit().remove(), this.element.style("display", "block"), this;
        } }, { key: "unrender", value: function value() {} }]), t;
    }(), s = a.prototype, u = "render", f = [r], d = Object.getOwnPropertyDescriptor(a.prototype, "render"), p = a.prototype, h = {}, Object.keys(d).forEach(function (e) {
      h[e] = d[e];
    }), h.enumerable = !!h.enumerable, h.configurable = !!h.configurable, ("value" in h || h.initializer) && (h.writable = !0), h = f.slice().reverse().reduce(function (e, t) {
      return t(s, u, e) || e;
    }, h), p && void 0 !== h.initializer && (h.value = h.initializer ? h.initializer.call(p) : void 0, h.initializer = void 0), void 0 === h.initializer && (Object.defineProperty(s, u, h), h = null), a);t.default = y;
  }]);
}.call(exports, __webpack_require__, exports, module),
				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));

/***/ })
/******/ ])});;
//# sourceMappingURL=francy.js.map