Add highcharter example to Readme.md
Change-Id: I2b0d821f5c139cfe8da6f33c11158ae739747098
diff --git a/Readme.md b/Readme.md
index 1d845f8..0b87aec 100644
--- a/Readme.md
+++ b/Readme.md
@@ -28,7 +28,8 @@
new("KorAPConnection", verbose=TRUE) %>% corpusQuery("Hello world") %>% fetchAll()
```
-## Example
+## Examples
+### Frequencies over time and domains using ggplot2
```r
library(RKorAPClient)
library(ggplot2)
@@ -42,6 +43,19 @@
```
![](man/figures/Readme-Example-1.png)<!-- -->
+### Percentages over time using [highcharter](http://jkunst.com/highcharter/)
+```r
+library(RKorAPClient)
+query = c("macht []{0,3} Sinn", "ergibt []{0,3} Sinn")
+years = c(1980:2010)
+as.alternatives = TRUE
+vc = "textType = /Zeit.*/ & pubDate in"
+new("KorAPConnection", verbose=T) %>%
+ frequencyQuery(query, paste(vc, years), as.alternatives = as.alternatives) %>%
+ hc_freq_by_year_ci(as.alternatives)
+```
+[![Proportion of "ergibt … Sinn" versus "macht … Sinn" between 1980 and 2010 in newspapers and magazines](man/figures/Readme-Example-2.png)<!-- -->](https://raw.githubusercontent.com/KorAP/RKorAPClient/master/man/figures/Readme-Example-2.html)
+
## Demos
More elaborate R scripts demonstrating the use of the package can be found in the [demo](demo) folder.
diff --git a/man/figures/Readme-Example-2.html b/man/figures/Readme-Example-2.html
new file mode 100644
index 0000000..5048531
--- /dev/null
+++ b/man/figures/Readme-Example-2.html
@@ -0,0 +1,4306 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<style>body{background-color:white;}</style>
+<script>(function() {
+ // If window.HTMLWidgets is already defined, then use it; otherwise create a
+ // new object. This allows preceding code to set options that affect the
+ // initialization process (though none currently exist).
+ window.HTMLWidgets = window.HTMLWidgets || {};
+
+ // See if we're running in a viewer pane. If not, we're in a web browser.
+ var viewerMode = window.HTMLWidgets.viewerMode =
+ /\bviewer_pane=1\b/.test(window.location);
+
+ // See if we're running in Shiny mode. If not, it's a static document.
+ // Note that static widgets can appear in both Shiny and static modes, but
+ // obviously, Shiny widgets can only appear in Shiny apps/documents.
+ var shinyMode = window.HTMLWidgets.shinyMode =
+ typeof(window.Shiny) !== "undefined" && !!window.Shiny.outputBindings;
+
+ // We can't count on jQuery being available, so we implement our own
+ // version if necessary.
+ function querySelectorAll(scope, selector) {
+ if (typeof(jQuery) !== "undefined" && scope instanceof jQuery) {
+ return scope.find(selector);
+ }
+ if (scope.querySelectorAll) {
+ return scope.querySelectorAll(selector);
+ }
+ }
+
+ function asArray(value) {
+ if (value === null)
+ return [];
+ if ($.isArray(value))
+ return value;
+ return [value];
+ }
+
+ // Implement jQuery's extend
+ function extend(target /*, ... */) {
+ if (arguments.length == 1) {
+ return target;
+ }
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+ for (var prop in source) {
+ if (source.hasOwnProperty(prop)) {
+ target[prop] = source[prop];
+ }
+ }
+ }
+ return target;
+ }
+
+ // IE8 doesn't support Array.forEach.
+ function forEach(values, callback, thisArg) {
+ if (values.forEach) {
+ values.forEach(callback, thisArg);
+ } else {
+ for (var i = 0; i < values.length; i++) {
+ callback.call(thisArg, values[i], i, values);
+ }
+ }
+ }
+
+ // Replaces the specified method with the return value of funcSource.
+ //
+ // Note that funcSource should not BE the new method, it should be a function
+ // that RETURNS the new method. funcSource receives a single argument that is
+ // the overridden method, it can be called from the new method. The overridden
+ // method can be called like a regular function, it has the target permanently
+ // bound to it so "this" will work correctly.
+ function overrideMethod(target, methodName, funcSource) {
+ var superFunc = target[methodName] || function() {};
+ var superFuncBound = function() {
+ return superFunc.apply(target, arguments);
+ };
+ target[methodName] = funcSource(superFuncBound);
+ }
+
+ // Add a method to delegator that, when invoked, calls
+ // delegatee.methodName. If there is no such method on
+ // the delegatee, but there was one on delegator before
+ // delegateMethod was called, then the original version
+ // is invoked instead.
+ // For example:
+ //
+ // var a = {
+ // method1: function() { console.log('a1'); }
+ // method2: function() { console.log('a2'); }
+ // };
+ // var b = {
+ // method1: function() { console.log('b1'); }
+ // };
+ // delegateMethod(a, b, "method1");
+ // delegateMethod(a, b, "method2");
+ // a.method1();
+ // a.method2();
+ //
+ // The output would be "b1", "a2".
+ function delegateMethod(delegator, delegatee, methodName) {
+ var inherited = delegator[methodName];
+ delegator[methodName] = function() {
+ var target = delegatee;
+ var method = delegatee[methodName];
+
+ // The method doesn't exist on the delegatee. Instead,
+ // call the method on the delegator, if it exists.
+ if (!method) {
+ target = delegator;
+ method = inherited;
+ }
+
+ if (method) {
+ return method.apply(target, arguments);
+ }
+ };
+ }
+
+ // Implement a vague facsimilie of jQuery's data method
+ function elementData(el, name, value) {
+ if (arguments.length == 2) {
+ return el["htmlwidget_data_" + name];
+ } else if (arguments.length == 3) {
+ el["htmlwidget_data_" + name] = value;
+ return el;
+ } else {
+ throw new Error("Wrong number of arguments for elementData: " +
+ arguments.length);
+ }
+ }
+
+ // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex
+ function escapeRegExp(str) {
+ return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
+ }
+
+ function hasClass(el, className) {
+ var re = new RegExp("\\b" + escapeRegExp(className) + "\\b");
+ return re.test(el.className);
+ }
+
+ // elements - array (or array-like object) of HTML elements
+ // className - class name to test for
+ // include - if true, only return elements with given className;
+ // if false, only return elements *without* given className
+ function filterByClass(elements, className, include) {
+ var results = [];
+ for (var i = 0; i < elements.length; i++) {
+ if (hasClass(elements[i], className) == include)
+ results.push(elements[i]);
+ }
+ return results;
+ }
+
+ function on(obj, eventName, func) {
+ if (obj.addEventListener) {
+ obj.addEventListener(eventName, func, false);
+ } else if (obj.attachEvent) {
+ obj.attachEvent(eventName, func);
+ }
+ }
+
+ function off(obj, eventName, func) {
+ if (obj.removeEventListener)
+ obj.removeEventListener(eventName, func, false);
+ else if (obj.detachEvent) {
+ obj.detachEvent(eventName, func);
+ }
+ }
+
+ // Translate array of values to top/right/bottom/left, as usual with
+ // the "padding" CSS property
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/padding
+ function unpackPadding(value) {
+ if (typeof(value) === "number")
+ value = [value];
+ if (value.length === 1) {
+ return {top: value[0], right: value[0], bottom: value[0], left: value[0]};
+ }
+ if (value.length === 2) {
+ return {top: value[0], right: value[1], bottom: value[0], left: value[1]};
+ }
+ if (value.length === 3) {
+ return {top: value[0], right: value[1], bottom: value[2], left: value[1]};
+ }
+ if (value.length === 4) {
+ return {top: value[0], right: value[1], bottom: value[2], left: value[3]};
+ }
+ }
+
+ // Convert an unpacked padding object to a CSS value
+ function paddingToCss(paddingObj) {
+ return paddingObj.top + "px " + paddingObj.right + "px " + paddingObj.bottom + "px " + paddingObj.left + "px";
+ }
+
+ // Makes a number suitable for CSS
+ function px(x) {
+ if (typeof(x) === "number")
+ return x + "px";
+ else
+ return x;
+ }
+
+ // Retrieves runtime widget sizing information for an element.
+ // The return value is either null, or an object with fill, padding,
+ // defaultWidth, defaultHeight fields.
+ function sizingPolicy(el) {
+ var sizingEl = document.querySelector("script[data-for='" + el.id + "'][type='application/htmlwidget-sizing']");
+ if (!sizingEl)
+ return null;
+ var sp = JSON.parse(sizingEl.textContent || sizingEl.text || "{}");
+ if (viewerMode) {
+ return sp.viewer;
+ } else {
+ return sp.browser;
+ }
+ }
+
+ // @param tasks Array of strings (or falsy value, in which case no-op).
+ // Each element must be a valid JavaScript expression that yields a
+ // function. Or, can be an array of objects with "code" and "data"
+ // properties; in this case, the "code" property should be a string
+ // of JS that's an expr that yields a function, and "data" should be
+ // an object that will be added as an additional argument when that
+ // function is called.
+ // @param target The object that will be "this" for each function
+ // execution.
+ // @param args Array of arguments to be passed to the functions. (The
+ // same arguments will be passed to all functions.)
+ function evalAndRun(tasks, target, args) {
+ if (tasks) {
+ forEach(tasks, function(task) {
+ var theseArgs = args;
+ if (typeof(task) === "object") {
+ theseArgs = theseArgs.concat([task.data]);
+ task = task.code;
+ }
+ var taskFunc = tryEval(task);
+ if (typeof(taskFunc) !== "function") {
+ throw new Error("Task must be a function! Source:\n" + task);
+ }
+ taskFunc.apply(target, theseArgs);
+ });
+ }
+ }
+
+ // Attempt eval() both with and without enclosing in parentheses.
+ // Note that enclosing coerces a function declaration into
+ // an expression that eval() can parse
+ // (otherwise, a SyntaxError is thrown)
+ function tryEval(code) {
+ var result = null;
+ try {
+ result = eval(code);
+ } catch(error) {
+ if (!error instanceof SyntaxError) {
+ throw error;
+ }
+ try {
+ result = eval("(" + code + ")");
+ } catch(e) {
+ if (e instanceof SyntaxError) {
+ throw error;
+ } else {
+ throw e;
+ }
+ }
+ }
+ return result;
+ }
+
+ function initSizing(el) {
+ var sizing = sizingPolicy(el);
+ if (!sizing)
+ return;
+
+ var cel = document.getElementById("htmlwidget_container");
+ if (!cel)
+ return;
+
+ if (typeof(sizing.padding) !== "undefined") {
+ document.body.style.margin = "0";
+ document.body.style.padding = paddingToCss(unpackPadding(sizing.padding));
+ }
+
+ if (sizing.fill) {
+ document.body.style.overflow = "hidden";
+ document.body.style.width = "100%";
+ document.body.style.height = "100%";
+ document.documentElement.style.width = "100%";
+ document.documentElement.style.height = "100%";
+ if (cel) {
+ cel.style.position = "absolute";
+ var pad = unpackPadding(sizing.padding);
+ cel.style.top = pad.top + "px";
+ cel.style.right = pad.right + "px";
+ cel.style.bottom = pad.bottom + "px";
+ cel.style.left = pad.left + "px";
+ el.style.width = "100%";
+ el.style.height = "100%";
+ }
+
+ return {
+ getWidth: function() { return cel.offsetWidth; },
+ getHeight: function() { return cel.offsetHeight; }
+ };
+
+ } else {
+ el.style.width = px(sizing.width);
+ el.style.height = px(sizing.height);
+
+ return {
+ getWidth: function() { return el.offsetWidth; },
+ getHeight: function() { return el.offsetHeight; }
+ };
+ }
+ }
+
+ // Default implementations for methods
+ var defaults = {
+ find: function(scope) {
+ return querySelectorAll(scope, "." + this.name);
+ },
+ renderError: function(el, err) {
+ var $el = $(el);
+
+ this.clearError(el);
+
+ // Add all these error classes, as Shiny does
+ var errClass = "shiny-output-error";
+ if (err.type !== null) {
+ // use the classes of the error condition as CSS class names
+ errClass = errClass + " " + $.map(asArray(err.type), function(type) {
+ return errClass + "-" + type;
+ }).join(" ");
+ }
+ errClass = errClass + " htmlwidgets-error";
+
+ // Is el inline or block? If inline or inline-block, just display:none it
+ // and add an inline error.
+ var display = $el.css("display");
+ $el.data("restore-display-mode", display);
+
+ if (display === "inline" || display === "inline-block") {
+ $el.hide();
+ if (err.message !== "") {
+ var errorSpan = $("<span>").addClass(errClass);
+ errorSpan.text(err.message);
+ $el.after(errorSpan);
+ }
+ } else if (display === "block") {
+ // If block, add an error just after the el, set visibility:none on the
+ // el, and position the error to be on top of the el.
+ // Mark it with a unique ID and CSS class so we can remove it later.
+ $el.css("visibility", "hidden");
+ if (err.message !== "") {
+ var errorDiv = $("<div>").addClass(errClass).css("position", "absolute")
+ .css("top", el.offsetTop)
+ .css("left", el.offsetLeft)
+ // setting width can push out the page size, forcing otherwise
+ // unnecessary scrollbars to appear and making it impossible for
+ // the element to shrink; so use max-width instead
+ .css("maxWidth", el.offsetWidth)
+ .css("height", el.offsetHeight);
+ errorDiv.text(err.message);
+ $el.after(errorDiv);
+
+ // Really dumb way to keep the size/position of the error in sync with
+ // the parent element as the window is resized or whatever.
+ var intId = setInterval(function() {
+ if (!errorDiv[0].parentElement) {
+ clearInterval(intId);
+ return;
+ }
+ errorDiv
+ .css("top", el.offsetTop)
+ .css("left", el.offsetLeft)
+ .css("maxWidth", el.offsetWidth)
+ .css("height", el.offsetHeight);
+ }, 500);
+ }
+ }
+ },
+ clearError: function(el) {
+ var $el = $(el);
+ var display = $el.data("restore-display-mode");
+ $el.data("restore-display-mode", null);
+
+ if (display === "inline" || display === "inline-block") {
+ if (display)
+ $el.css("display", display);
+ $(el.nextSibling).filter(".htmlwidgets-error").remove();
+ } else if (display === "block"){
+ $el.css("visibility", "inherit");
+ $(el.nextSibling).filter(".htmlwidgets-error").remove();
+ }
+ },
+ sizing: {}
+ };
+
+ // Called by widget bindings to register a new type of widget. The definition
+ // object can contain the following properties:
+ // - name (required) - A string indicating the binding name, which will be
+ // used by default as the CSS classname to look for.
+ // - initialize (optional) - A function(el) that will be called once per
+ // widget element; if a value is returned, it will be passed as the third
+ // value to renderValue.
+ // - renderValue (required) - A function(el, data, initValue) that will be
+ // called with data. Static contexts will cause this to be called once per
+ // element; Shiny apps will cause this to be called multiple times per
+ // element, as the data changes.
+ window.HTMLWidgets.widget = function(definition) {
+ if (!definition.name) {
+ throw new Error("Widget must have a name");
+ }
+ if (!definition.type) {
+ throw new Error("Widget must have a type");
+ }
+ // Currently we only support output widgets
+ if (definition.type !== "output") {
+ throw new Error("Unrecognized widget type '" + definition.type + "'");
+ }
+ // TODO: Verify that .name is a valid CSS classname
+
+ // Support new-style instance-bound definitions. Old-style class-bound
+ // definitions have one widget "object" per widget per type/class of
+ // widget; the renderValue and resize methods on such widget objects
+ // take el and instance arguments, because the widget object can't
+ // store them. New-style instance-bound definitions have one widget
+ // object per widget instance; the definition that's passed in doesn't
+ // provide renderValue or resize methods at all, just the single method
+ // factory(el, width, height)
+ // which returns an object that has renderValue(x) and resize(w, h).
+ // This enables a far more natural programming style for the widget
+ // author, who can store per-instance state using either OO-style
+ // instance fields or functional-style closure variables (I guess this
+ // is in contrast to what can only be called C-style pseudo-OO which is
+ // what we required before).
+ if (definition.factory) {
+ definition = createLegacyDefinitionAdapter(definition);
+ }
+
+ if (!definition.renderValue) {
+ throw new Error("Widget must have a renderValue function");
+ }
+
+ // For static rendering (non-Shiny), use a simple widget registration
+ // scheme. We also use this scheme for Shiny apps/documents that also
+ // contain static widgets.
+ window.HTMLWidgets.widgets = window.HTMLWidgets.widgets || [];
+ // Merge defaults into the definition; don't mutate the original definition.
+ var staticBinding = extend({}, defaults, definition);
+ overrideMethod(staticBinding, "find", function(superfunc) {
+ return function(scope) {
+ var results = superfunc(scope);
+ // Filter out Shiny outputs, we only want the static kind
+ return filterByClass(results, "html-widget-output", false);
+ };
+ });
+ window.HTMLWidgets.widgets.push(staticBinding);
+
+ if (shinyMode) {
+ // Shiny is running. Register the definition with an output binding.
+ // The definition itself will not be the output binding, instead
+ // we will make an output binding object that delegates to the
+ // definition. This is because we foolishly used the same method
+ // name (renderValue) for htmlwidgets definition and Shiny bindings
+ // but they actually have quite different semantics (the Shiny
+ // bindings receive data that includes lots of metadata that it
+ // strips off before calling htmlwidgets renderValue). We can't
+ // just ignore the difference because in some widgets it's helpful
+ // to call this.renderValue() from inside of resize(), and if
+ // we're not delegating, then that call will go to the Shiny
+ // version instead of the htmlwidgets version.
+
+ // Merge defaults with definition, without mutating either.
+ var bindingDef = extend({}, defaults, definition);
+
+ // This object will be our actual Shiny binding.
+ var shinyBinding = new Shiny.OutputBinding();
+
+ // With a few exceptions, we'll want to simply use the bindingDef's
+ // version of methods if they are available, otherwise fall back to
+ // Shiny's defaults. NOTE: If Shiny's output bindings gain additional
+ // methods in the future, and we want them to be overrideable by
+ // HTMLWidget binding definitions, then we'll need to add them to this
+ // list.
+ delegateMethod(shinyBinding, bindingDef, "getId");
+ delegateMethod(shinyBinding, bindingDef, "onValueChange");
+ delegateMethod(shinyBinding, bindingDef, "onValueError");
+ delegateMethod(shinyBinding, bindingDef, "renderError");
+ delegateMethod(shinyBinding, bindingDef, "clearError");
+ delegateMethod(shinyBinding, bindingDef, "showProgress");
+
+ // The find, renderValue, and resize are handled differently, because we
+ // want to actually decorate the behavior of the bindingDef methods.
+
+ shinyBinding.find = function(scope) {
+ var results = bindingDef.find(scope);
+
+ // Only return elements that are Shiny outputs, not static ones
+ var dynamicResults = results.filter(".html-widget-output");
+
+ // It's possible that whatever caused Shiny to think there might be
+ // new dynamic outputs, also caused there to be new static outputs.
+ // Since there might be lots of different htmlwidgets bindings, we
+ // schedule execution for later--no need to staticRender multiple
+ // times.
+ if (results.length !== dynamicResults.length)
+ scheduleStaticRender();
+
+ return dynamicResults;
+ };
+
+ // Wrap renderValue to handle initialization, which unfortunately isn't
+ // supported natively by Shiny at the time of this writing.
+
+ shinyBinding.renderValue = function(el, data) {
+ Shiny.renderDependencies(data.deps);
+ // Resolve strings marked as javascript literals to objects
+ if (!(data.evals instanceof Array)) data.evals = [data.evals];
+ for (var i = 0; data.evals && i < data.evals.length; i++) {
+ window.HTMLWidgets.evaluateStringMember(data.x, data.evals[i]);
+ }
+ if (!bindingDef.renderOnNullValue) {
+ if (data.x === null) {
+ el.style.visibility = "hidden";
+ return;
+ } else {
+ el.style.visibility = "inherit";
+ }
+ }
+ if (!elementData(el, "initialized")) {
+ initSizing(el);
+
+ elementData(el, "initialized", true);
+ if (bindingDef.initialize) {
+ var result = bindingDef.initialize(el, el.offsetWidth,
+ el.offsetHeight);
+ elementData(el, "init_result", result);
+ }
+ }
+ bindingDef.renderValue(el, data.x, elementData(el, "init_result"));
+ evalAndRun(data.jsHooks.render, elementData(el, "init_result"), [el, data.x]);
+ };
+
+ // Only override resize if bindingDef implements it
+ if (bindingDef.resize) {
+ shinyBinding.resize = function(el, width, height) {
+ // Shiny can call resize before initialize/renderValue have been
+ // called, which doesn't make sense for widgets.
+ if (elementData(el, "initialized")) {
+ bindingDef.resize(el, width, height, elementData(el, "init_result"));
+ }
+ };
+ }
+
+ Shiny.outputBindings.register(shinyBinding, bindingDef.name);
+ }
+ };
+
+ var scheduleStaticRenderTimerId = null;
+ function scheduleStaticRender() {
+ if (!scheduleStaticRenderTimerId) {
+ scheduleStaticRenderTimerId = setTimeout(function() {
+ scheduleStaticRenderTimerId = null;
+ window.HTMLWidgets.staticRender();
+ }, 1);
+ }
+ }
+
+ // Render static widgets after the document finishes loading
+ // Statically render all elements that are of this widget's class
+ window.HTMLWidgets.staticRender = function() {
+ var bindings = window.HTMLWidgets.widgets || [];
+ forEach(bindings, function(binding) {
+ var matches = binding.find(document.documentElement);
+ forEach(matches, function(el) {
+ var sizeObj = initSizing(el, binding);
+
+ if (hasClass(el, "html-widget-static-bound"))
+ return;
+ el.className = el.className + " html-widget-static-bound";
+
+ var initResult;
+ if (binding.initialize) {
+ initResult = binding.initialize(el,
+ sizeObj ? sizeObj.getWidth() : el.offsetWidth,
+ sizeObj ? sizeObj.getHeight() : el.offsetHeight
+ );
+ elementData(el, "init_result", initResult);
+ }
+
+ if (binding.resize) {
+ var lastSize = {
+ w: sizeObj ? sizeObj.getWidth() : el.offsetWidth,
+ h: sizeObj ? sizeObj.getHeight() : el.offsetHeight
+ };
+ var resizeHandler = function(e) {
+ var size = {
+ w: sizeObj ? sizeObj.getWidth() : el.offsetWidth,
+ h: sizeObj ? sizeObj.getHeight() : el.offsetHeight
+ };
+ if (size.w === 0 && size.h === 0)
+ return;
+ if (size.w === lastSize.w && size.h === lastSize.h)
+ return;
+ lastSize = size;
+ binding.resize(el, size.w, size.h, initResult);
+ };
+
+ on(window, "resize", resizeHandler);
+
+ // This is needed for cases where we're running in a Shiny
+ // app, but the widget itself is not a Shiny output, but
+ // rather a simple static widget. One example of this is
+ // an rmarkdown document that has runtime:shiny and widget
+ // that isn't in a render function. Shiny only knows to
+ // call resize handlers for Shiny outputs, not for static
+ // widgets, so we do it ourselves.
+ if (window.jQuery) {
+ window.jQuery(document).on(
+ "shown.htmlwidgets shown.bs.tab.htmlwidgets shown.bs.collapse.htmlwidgets",
+ resizeHandler
+ );
+ window.jQuery(document).on(
+ "hidden.htmlwidgets hidden.bs.tab.htmlwidgets hidden.bs.collapse.htmlwidgets",
+ resizeHandler
+ );
+ }
+
+ // This is needed for the specific case of ioslides, which
+ // flips slides between display:none and display:block.
+ // Ideally we would not have to have ioslide-specific code
+ // here, but rather have ioslides raise a generic event,
+ // but the rmarkdown package just went to CRAN so the
+ // window to getting that fixed may be long.
+ if (window.addEventListener) {
+ // It's OK to limit this to window.addEventListener
+ // browsers because ioslides itself only supports
+ // such browsers.
+ on(document, "slideenter", resizeHandler);
+ on(document, "slideleave", resizeHandler);
+ }
+ }
+
+ var scriptData = document.querySelector("script[data-for='" + el.id + "'][type='application/json']");
+ if (scriptData) {
+ var data = JSON.parse(scriptData.textContent || scriptData.text);
+ // Resolve strings marked as javascript literals to objects
+ if (!(data.evals instanceof Array)) data.evals = [data.evals];
+ for (var k = 0; data.evals && k < data.evals.length; k++) {
+ window.HTMLWidgets.evaluateStringMember(data.x, data.evals[k]);
+ }
+ binding.renderValue(el, data.x, initResult);
+ evalAndRun(data.jsHooks.render, initResult, [el, data.x]);
+ }
+ });
+ });
+
+ invokePostRenderHandlers();
+ }
+
+
+ function has_jQuery3() {
+ if (!window.jQuery) {
+ return false;
+ }
+ var $version = window.jQuery.fn.jquery;
+ var $major_version = parseInt($version.split(".")[0]);
+ return $major_version >= 3;
+ }
+
+ /*
+ / Shiny 1.4 bumped jQuery from 1.x to 3.x which means jQuery's
+ / on-ready handler (i.e., $(fn)) is now asyncronous (i.e., it now
+ / really means $(setTimeout(fn)).
+ / https://jquery.com/upgrade-guide/3.0/#breaking-change-document-ready-handlers-are-now-asynchronous
+ /
+ / Since Shiny uses $() to schedule initShiny, shiny>=1.4 calls initShiny
+ / one tick later than it did before, which means staticRender() is
+ / called renderValue() earlier than (advanced) widget authors might be expecting.
+ / https://github.com/rstudio/shiny/issues/2630
+ /
+ / For a concrete example, leaflet has some methods (e.g., updateBounds)
+ / which reference Shiny methods registered in initShiny (e.g., setInputValue).
+ / Since leaflet is privy to this life-cycle, it knows to use setTimeout() to
+ / delay execution of those methods (until Shiny methods are ready)
+ / https://github.com/rstudio/leaflet/blob/18ec981/javascript/src/index.js#L266-L268
+ /
+ / Ideally widget authors wouldn't need to use this setTimeout() hack that
+ / leaflet uses to call Shiny methods on a staticRender(). In the long run,
+ / the logic initShiny should be broken up so that method registration happens
+ / right away, but binding happens later.
+ */
+ function maybeStaticRenderLater() {
+ if (shinyMode && has_jQuery3()) {
+ window.jQuery(window.HTMLWidgets.staticRender);
+ } else {
+ window.HTMLWidgets.staticRender();
+ }
+ }
+
+ if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", function() {
+ document.removeEventListener("DOMContentLoaded", arguments.callee, false);
+ maybeStaticRenderLater();
+ }, false);
+ } else if (document.attachEvent) {
+ document.attachEvent("onreadystatechange", function() {
+ if (document.readyState === "complete") {
+ document.detachEvent("onreadystatechange", arguments.callee);
+ maybeStaticRenderLater();
+ }
+ });
+ }
+
+
+ window.HTMLWidgets.getAttachmentUrl = function(depname, key) {
+ // If no key, default to the first item
+ if (typeof(key) === "undefined")
+ key = 1;
+
+ var link = document.getElementById(depname + "-" + key + "-attachment");
+ if (!link) {
+ throw new Error("Attachment " + depname + "/" + key + " not found in document");
+ }
+ return link.getAttribute("href");
+ };
+
+ window.HTMLWidgets.dataframeToD3 = function(df) {
+ var names = [];
+ var length;
+ for (var name in df) {
+ if (df.hasOwnProperty(name))
+ names.push(name);
+ if (typeof(df[name]) !== "object" || typeof(df[name].length) === "undefined") {
+ throw new Error("All fields must be arrays");
+ } else if (typeof(length) !== "undefined" && length !== df[name].length) {
+ throw new Error("All fields must be arrays of the same length");
+ }
+ length = df[name].length;
+ }
+ var results = [];
+ var item;
+ for (var row = 0; row < length; row++) {
+ item = {};
+ for (var col = 0; col < names.length; col++) {
+ item[names[col]] = df[names[col]][row];
+ }
+ results.push(item);
+ }
+ return results;
+ };
+
+ window.HTMLWidgets.transposeArray2D = function(array) {
+ if (array.length === 0) return array;
+ var newArray = array[0].map(function(col, i) {
+ return array.map(function(row) {
+ return row[i]
+ })
+ });
+ return newArray;
+ };
+ // Split value at splitChar, but allow splitChar to be escaped
+ // using escapeChar. Any other characters escaped by escapeChar
+ // will be included as usual (including escapeChar itself).
+ function splitWithEscape(value, splitChar, escapeChar) {
+ var results = [];
+ var escapeMode = false;
+ var currentResult = "";
+ for (var pos = 0; pos < value.length; pos++) {
+ if (!escapeMode) {
+ if (value[pos] === splitChar) {
+ results.push(currentResult);
+ currentResult = "";
+ } else if (value[pos] === escapeChar) {
+ escapeMode = true;
+ } else {
+ currentResult += value[pos];
+ }
+ } else {
+ currentResult += value[pos];
+ escapeMode = false;
+ }
+ }
+ if (currentResult !== "") {
+ results.push(currentResult);
+ }
+ return results;
+ }
+ // Function authored by Yihui/JJ Allaire
+ window.HTMLWidgets.evaluateStringMember = function(o, member) {
+ var parts = splitWithEscape(member, '.', '\\');
+ for (var i = 0, l = parts.length; i < l; i++) {
+ var part = parts[i];
+ // part may be a character or 'numeric' member name
+ if (o !== null && typeof o === "object" && part in o) {
+ if (i == (l - 1)) { // if we are at the end of the line then evalulate
+ if (typeof o[part] === "string")
+ o[part] = tryEval(o[part]);
+ } else { // otherwise continue to next embedded object
+ o = o[part];
+ }
+ }
+ }
+ };
+
+ // Retrieve the HTMLWidget instance (i.e. the return value of an
+ // HTMLWidget binding's initialize() or factory() function)
+ // associated with an element, or null if none.
+ window.HTMLWidgets.getInstance = function(el) {
+ return elementData(el, "init_result");
+ };
+
+ // Finds the first element in the scope that matches the selector,
+ // and returns the HTMLWidget instance (i.e. the return value of
+ // an HTMLWidget binding's initialize() or factory() function)
+ // associated with that element, if any. If no element matches the
+ // selector, or the first matching element has no HTMLWidget
+ // instance associated with it, then null is returned.
+ //
+ // The scope argument is optional, and defaults to window.document.
+ window.HTMLWidgets.find = function(scope, selector) {
+ if (arguments.length == 1) {
+ selector = scope;
+ scope = document;
+ }
+
+ var el = scope.querySelector(selector);
+ if (el === null) {
+ return null;
+ } else {
+ return window.HTMLWidgets.getInstance(el);
+ }
+ };
+
+ // Finds all elements in the scope that match the selector, and
+ // returns the HTMLWidget instances (i.e. the return values of
+ // an HTMLWidget binding's initialize() or factory() function)
+ // associated with the elements, in an array. If elements that
+ // match the selector don't have an associated HTMLWidget
+ // instance, the returned array will contain nulls.
+ //
+ // The scope argument is optional, and defaults to window.document.
+ window.HTMLWidgets.findAll = function(scope, selector) {
+ if (arguments.length == 1) {
+ selector = scope;
+ scope = document;
+ }
+
+ var nodes = scope.querySelectorAll(selector);
+ var results = [];
+ for (var i = 0; i < nodes.length; i++) {
+ results.push(window.HTMLWidgets.getInstance(nodes[i]));
+ }
+ return results;
+ };
+
+ var postRenderHandlers = [];
+ function invokePostRenderHandlers() {
+ while (postRenderHandlers.length) {
+ var handler = postRenderHandlers.shift();
+ if (handler) {
+ handler();
+ }
+ }
+ }
+
+ // Register the given callback function to be invoked after the
+ // next time static widgets are rendered.
+ window.HTMLWidgets.addPostRenderHandler = function(callback) {
+ postRenderHandlers.push(callback);
+ };
+
+ // Takes a new-style instance-bound definition, and returns an
+ // old-style class-bound definition. This saves us from having
+ // to rewrite all the logic in this file to accomodate both
+ // types of definitions.
+ function createLegacyDefinitionAdapter(defn) {
+ var result = {
+ name: defn.name,
+ type: defn.type,
+ initialize: function(el, width, height) {
+ return defn.factory(el, width, height);
+ },
+ renderValue: function(el, x, instance) {
+ return instance.renderValue(x);
+ },
+ resize: function(el, width, height, instance) {
+ return instance.resize(width, height);
+ }
+ };
+
+ if (defn.find)
+ result.find = defn.find;
+ if (defn.renderError)
+ result.renderError = defn.renderError;
+ if (defn.clearError)
+ result.clearError = defn.clearError;
+
+ return result;
+ }
+})();
+
+</script>
+<script>/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;
+if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")
+},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
+</script>
+<script>!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.proj4=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({"./includedProjections":[function(a,b,c){var d=[a("./lib/projections/tmerc"),a("./lib/projections/utm"),a("./lib/projections/sterea"),a("./lib/projections/stere"),a("./lib/projections/somerc"),a("./lib/projections/omerc"),a("./lib/projections/lcc"),a("./lib/projections/krovak"),a("./lib/projections/cass"),a("./lib/projections/laea"),a("./lib/projections/aea"),a("./lib/projections/gnom"),a("./lib/projections/cea"),a("./lib/projections/eqc"),a("./lib/projections/poly"),a("./lib/projections/nzmg"),a("./lib/projections/mill"),a("./lib/projections/sinu"),a("./lib/projections/moll"),a("./lib/projections/eqdc"),a("./lib/projections/vandg"),a("./lib/projections/aeqd"),a("./lib/projections/ortho")];b.exports=function(proj4){d.forEach(function(a){proj4.Proj.projections.add(a)})}},{"./lib/projections/aea":40,"./lib/projections/aeqd":41,"./lib/projections/cass":42,"./lib/projections/cea":43,"./lib/projections/eqc":44,"./lib/projections/eqdc":45,"./lib/projections/gnom":47,"./lib/projections/krovak":48,"./lib/projections/laea":49,"./lib/projections/lcc":50,"./lib/projections/mill":53,"./lib/projections/moll":54,"./lib/projections/nzmg":55,"./lib/projections/omerc":56,"./lib/projections/ortho":57,"./lib/projections/poly":58,"./lib/projections/sinu":59,"./lib/projections/somerc":60,"./lib/projections/stere":61,"./lib/projections/sterea":62,"./lib/projections/tmerc":63,"./lib/projections/utm":64,"./lib/projections/vandg":65}],1:[function(a,b,c){function Point(a,b,c){if(!(this instanceof Point))return new Point(a,b,c);if(Array.isArray(a))this.x=a[0],this.y=a[1],this.z=a[2]||0;else if("object"==typeof a)this.x=a.x,this.y=a.y,this.z=a.z||0;else if("string"==typeof a&&"undefined"==typeof b){var d=a.split(",");this.x=parseFloat(d[0],10),this.y=parseFloat(d[1],10),this.z=parseFloat(d[2],10)||0}else this.x=a,this.y=b,this.z=c||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}var d=a("mgrs");Point.fromMGRS=function(a){return new Point(d.toPoint(a))},Point.prototype.toMGRS=function(a){return d.forward([this.x,this.y],a)},b.exports=Point},{mgrs:68}],2:[function(a,b,c){function Projection(a,b){if(!(this instanceof Projection))return new Projection(a);b=b||function(a){if(a)throw a};var c=d(a);if("object"!=typeof c)return void b(a);var f=g(c),h=Projection.projections.get(f.projName);h?(e(this,f),e(this,h),this.init(),b(null,this)):b(a)}var d=a("./parseCode"),e=a("./extend"),f=a("./projections"),g=a("./deriveConstants");Projection.projections=f,Projection.projections.start(),b.exports=Projection},{"./deriveConstants":33,"./extend":34,"./parseCode":37,"./projections":39}],3:[function(a,b,c){b.exports=function(a,b,c){var d,e,f,g=c.x,h=c.y,i=c.z||0;for(f=0;3>f;f++)if(!b||2!==f||void 0!==c.z)switch(0===f?(d=g,e="x"):1===f?(d=h,e="y"):(d=i,e="z"),a.axis[f]){case"e":c[e]=d;break;case"w":c[e]=-d;break;case"n":c[e]=d;break;case"s":c[e]=-d;break;case"u":void 0!==c[e]&&(c.z=d);break;case"d":void 0!==c[e]&&(c.z=-d);break;default:return null}return c}},{}],4:[function(a,b,c){var d=Math.PI/2,e=a("./sign");b.exports=function(a){return Math.abs(a)<d?a:a-e(a)*Math.PI}},{"./sign":21}],5:[function(a,b,c){var d=2*Math.PI,e=3.14159265359,f=a("./sign");b.exports=function(a){return Math.abs(a)<=e?a:a-f(a)*d}},{"./sign":21}],6:[function(a,b,c){b.exports=function(a){return Math.abs(a)>1&&(a=a>1?1:-1),Math.asin(a)}},{}],7:[function(a,b,c){b.exports=function(a){return 1-.25*a*(1+a/16*(3+1.25*a))}},{}],8:[function(a,b,c){b.exports=function(a){return.375*a*(1+.25*a*(1+.46875*a))}},{}],9:[function(a,b,c){b.exports=function(a){return.05859375*a*a*(1+.75*a)}},{}],10:[function(a,b,c){b.exports=function(a){return a*a*a*(35/3072)}},{}],11:[function(a,b,c){b.exports=function(a,b,c){var d=b*c;return a/Math.sqrt(1-d*d)}},{}],12:[function(a,b,c){b.exports=function(a,b,c,d,e){var f,g;f=a/b;for(var h=0;15>h;h++)if(g=(a-(b*f-c*Math.sin(2*f)+d*Math.sin(4*f)-e*Math.sin(6*f)))/(b-2*c*Math.cos(2*f)+4*d*Math.cos(4*f)-6*e*Math.cos(6*f)),f+=g,Math.abs(g)<=1e-10)return f;return NaN}},{}],13:[function(a,b,c){var d=Math.PI/2;b.exports=function(a,b){var c=1-(1-a*a)/(2*a)*Math.log((1-a)/(1+a));if(Math.abs(Math.abs(b)-c)<1e-6)return 0>b?-1*d:d;for(var e,f,g,h,i=Math.asin(.5*b),j=0;30>j;j++)if(f=Math.sin(i),g=Math.cos(i),h=a*f,e=Math.pow(1-h*h,2)/(2*g)*(b/(1-a*a)-f/(1-h*h)+.5/a*Math.log((1-h)/(1+h))),i+=e,Math.abs(e)<=1e-10)return i;return NaN}},{}],14:[function(a,b,c){b.exports=function(a,b,c,d,e){return a*e-b*Math.sin(2*e)+c*Math.sin(4*e)-d*Math.sin(6*e)}},{}],15:[function(a,b,c){b.exports=function(a,b,c){var d=a*b;return c/Math.sqrt(1-d*d)}},{}],16:[function(a,b,c){var d=Math.PI/2;b.exports=function(a,b){for(var c,e,f=.5*a,g=d-2*Math.atan(b),h=0;15>=h;h++)if(c=a*Math.sin(g),e=d-2*Math.atan(b*Math.pow((1-c)/(1+c),f))-g,g+=e,Math.abs(e)<=1e-10)return g;return-9999}},{}],17:[function(a,b,c){var d=1,e=.25,f=.046875,g=.01953125,h=.01068115234375,i=.75,j=.46875,k=.013020833333333334,l=.007120768229166667,m=.3645833333333333,n=.005696614583333333,o=.3076171875;b.exports=function(a){var b=[];b[0]=d-a*(e+a*(f+a*(g+a*h))),b[1]=a*(i-a*(f+a*(g+a*h)));var c=a*a;return b[2]=c*(j-a*(k+a*l)),c*=a,b[3]=c*(m-a*n),b[4]=c*a*o,b}},{}],18:[function(a,b,c){var d=a("./pj_mlfn"),e=1e-10,f=20;b.exports=function(a,b,c){for(var g=1/(1-b),h=a,i=f;i;--i){var j=Math.sin(h),k=1-b*j*j;if(k=(d(h,j,Math.cos(h),c)-a)*(k*Math.sqrt(k))*g,h-=k,Math.abs(k)<e)return h}return h}},{"./pj_mlfn":19}],19:[function(a,b,c){b.exports=function(a,b,c,d){return c*=b,b*=b,d[0]*a-c*(d[1]+b*(d[2]+b*(d[3]+b*d[4])))}},{}],20:[function(a,b,c){b.exports=function(a,b){var c;return a>1e-7?(c=a*b,(1-a*a)*(b/(1-c*c)-.5/a*Math.log((1-c)/(1+c)))):2*b}},{}],21:[function(a,b,c){b.exports=function(a){return 0>a?-1:1}},{}],22:[function(a,b,c){b.exports=function(a,b){return Math.pow((1-a)/(1+a),b)}},{}],23:[function(a,b,c){b.exports=function(a){var b={x:a[0],y:a[1]};return a.length>2&&(b.z=a[2]),a.length>3&&(b.m=a[3]),b}},{}],24:[function(a,b,c){var d=Math.PI/2;b.exports=function(a,b,c){var e=a*c,f=.5*a;return e=Math.pow((1-e)/(1+e),f),Math.tan(.5*(d-b))/e}},{}],25:[function(a,b,c){c.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},c.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},c.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},c.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},c.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},c.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},c.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},c.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},c.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},c.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},c.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},c.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},c.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},c.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},c.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},c.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},{}],26:[function(a,b,c){c.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},c.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},c.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},c.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},c.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},c.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},c.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},c.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},c.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},c.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},c.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},c.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},c.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},c.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},c.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},c.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},c.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},c.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},c.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},c.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},c.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},c.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},c.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},c.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},c.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},c.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},c.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},c.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},c.hough={a:6378270,rf:297,ellipseName:"Hough"},c.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},c.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},c.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},c.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},c.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},c.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},c.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},c.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},c.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},c.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},c.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},c.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"},c.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"},c.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},{}],27:[function(a,b,c){c.greenwich=0,c.lisbon=-9.131906111111,c.paris=2.337229166667,c.bogota=-74.080916666667,c.madrid=-3.687938888889,c.rome=12.452333333333,c.bern=7.439583333333,c.jakarta=106.807719444444,c.ferro=-17.666666666667,c.brussels=4.367975,c.stockholm=18.058277777778,c.athens=23.7163375,c.oslo=10.722916666667},{}],28:[function(a,b,c){c.ft={to_meter:.3048},c["us-ft"]={to_meter:1200/3937}},{}],29:[function(a,b,c){function d(a,b,c){var d;return Array.isArray(c)?(d=g(a,b,c),3===c.length?[d.x,d.y,d.z]:[d.x,d.y]):g(a,b,c)}function e(a){return a instanceof f?a:a.oProj?a.oProj:f(a)}function proj4(a,b,c){a=e(a);var f,g=!1;return"undefined"==typeof b?(b=a,a=h,g=!0):("undefined"!=typeof b.x||Array.isArray(b))&&(c=b,b=a,a=h,g=!0),b=e(b),c?d(a,b,c):(f={forward:function(c){return d(a,b,c)},inverse:function(c){return d(b,a,c)}},g&&(f.oProj=b),f)}var f=a("./Proj"),g=a("./transform"),h=f("WGS84");b.exports=proj4},{"./Proj":2,"./transform":66}],30:[function(a,b,c){var d=Math.PI/2,e=1,f=2,g=3,h=4,i=5,j=484813681109536e-20,k=1.0026,l=.3826834323650898,m=function(a){return this instanceof m?(this.datum_type=h,void(a&&(a.datumCode&&"none"===a.datumCode&&(this.datum_type=i),a.datum_params&&(this.datum_params=a.datum_params.map(parseFloat),0===this.datum_params[0]&&0===this.datum_params[1]&&0===this.datum_params[2]||(this.datum_type=e),this.datum_params.length>3&&(0===this.datum_params[3]&&0===this.datum_params[4]&&0===this.datum_params[5]&&0===this.datum_params[6]||(this.datum_type=f,this.datum_params[3]*=j,this.datum_params[4]*=j,this.datum_params[5]*=j,this.datum_params[6]=this.datum_params[6]/1e6+1))),this.datum_type=a.grids?g:this.datum_type,this.a=a.a,this.b=a.b,this.es=a.es,this.ep2=a.ep2,this.datum_type===g&&(this.grids=a.grids)))):new m(a)};m.prototype={compare_datums:function(a){return this.datum_type!==a.datum_type?!1:this.a!==a.a||Math.abs(this.es-a.es)>5e-11?!1:this.datum_type===e?this.datum_params[0]===a.datum_params[0]&&this.datum_params[1]===a.datum_params[1]&&this.datum_params[2]===a.datum_params[2]:this.datum_type===f?this.datum_params[0]===a.datum_params[0]&&this.datum_params[1]===a.datum_params[1]&&this.datum_params[2]===a.datum_params[2]&&this.datum_params[3]===a.datum_params[3]&&this.datum_params[4]===a.datum_params[4]&&this.datum_params[5]===a.datum_params[5]&&this.datum_params[6]===a.datum_params[6]:this.datum_type===g||a.datum_type===g?this.nadgrids===a.nadgrids:!0},geodetic_to_geocentric:function(a){var b,c,e,f,g,h,i,j=a.x,k=a.y,l=a.z?a.z:0,m=0;if(-d>k&&k>-1.001*d)k=-d;else if(k>d&&1.001*d>k)k=d;else if(-d>k||k>d)return null;return j>Math.PI&&(j-=2*Math.PI),g=Math.sin(k),i=Math.cos(k),h=g*g,f=this.a/Math.sqrt(1-this.es*h),b=(f+l)*i*Math.cos(j),c=(f+l)*i*Math.sin(j),e=(f*(1-this.es)+l)*g,a.x=b,a.y=c,a.z=e,m},geocentric_to_geodetic:function(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t=1e-12,u=t*t,v=30,w=a.x,x=a.y,y=a.z?a.z:0;if(o=!1,b=Math.sqrt(w*w+x*x),c=Math.sqrt(w*w+x*x+y*y),b/this.a<t){if(o=!0,q=0,c/this.a<t)return r=d,void(s=-this.b)}else q=Math.atan2(x,w);e=y/c,f=b/c,g=1/Math.sqrt(1-this.es*(2-this.es)*f*f),j=f*(1-this.es)*g,k=e*g,p=0;do p++,i=this.a/Math.sqrt(1-this.es*k*k),s=b*j+y*k-i*(1-this.es*k*k),h=this.es*i/(i+s),g=1/Math.sqrt(1-h*(2-h)*f*f),l=f*(1-h)*g,m=e*g,n=m*j-l*k,j=l,k=m;while(n*n>u&&v>p);return r=Math.atan(m/Math.abs(l)),a.x=q,a.y=r,a.z=s,a},geocentric_to_geodetic_noniter:function(a){var b,c,e,f,g,h,i,j,m,n,o,p,q,r,s,t,u,v=a.x,w=a.y,x=a.z?a.z:0;if(v=parseFloat(v),w=parseFloat(w),x=parseFloat(x),u=!1,0!==v)b=Math.atan2(w,v);else if(w>0)b=d;else if(0>w)b=-d;else if(u=!0,b=0,x>0)c=d;else{if(!(0>x))return c=d,void(e=-this.b);c=-d}return g=v*v+w*w,f=Math.sqrt(g),h=x*k,j=Math.sqrt(h*h+g),n=h/j,p=f/j,o=n*n*n,i=x+this.b*this.ep2*o,t=f-this.a*this.es*p*p*p,m=Math.sqrt(i*i+t*t),q=i/m,r=t/m,s=this.a/Math.sqrt(1-this.es*q*q),e=r>=l?f/r-s:-l>=r?f/-r-s:x/q+s*(this.es-1),u===!1&&(c=Math.atan(q/r)),a.x=b,a.y=c,a.z=e,a},geocentric_to_wgs84:function(a){if(this.datum_type===e)a.x+=this.datum_params[0],a.y+=this.datum_params[1],a.z+=this.datum_params[2];else if(this.datum_type===f){var b=this.datum_params[0],c=this.datum_params[1],d=this.datum_params[2],g=this.datum_params[3],h=this.datum_params[4],i=this.datum_params[5],j=this.datum_params[6],k=j*(a.x-i*a.y+h*a.z)+b,l=j*(i*a.x+a.y-g*a.z)+c,m=j*(-h*a.x+g*a.y+a.z)+d;a.x=k,a.y=l,a.z=m}},geocentric_from_wgs84:function(a){if(this.datum_type===e)a.x-=this.datum_params[0],a.y-=this.datum_params[1],a.z-=this.datum_params[2];else if(this.datum_type===f){var b=this.datum_params[0],c=this.datum_params[1],d=this.datum_params[2],g=this.datum_params[3],h=this.datum_params[4],i=this.datum_params[5],j=this.datum_params[6],k=(a.x-b)/j,l=(a.y-c)/j,m=(a.z-d)/j;a.x=k+i*l-h*m,a.y=-i*k+l+g*m,a.z=h*k-g*l+m}}},b.exports=m},{}],31:[function(a,b,c){var d=1,e=2,f=3,g=5,h=6378137,i=.006694379990141316;b.exports=function(a,b,c){function j(a){return a===d||a===e}var k,l,m;if(a.compare_datums(b))return c;if(a.datum_type===g||b.datum_type===g)return c;var n=a.a,o=a.es,p=b.a,q=b.es,r=a.datum_type;if(r===f)if(0===this.apply_gridshift(a,0,c))a.a=h,a.es=i;else{if(!a.datum_params)return a.a=n,a.es=a.es,c;for(k=1,l=0,m=a.datum_params.length;m>l;l++)k*=a.datum_params[l];if(0===k)return a.a=n,a.es=a.es,c;r=a.datum_params.length>3?e:d}return b.datum_type===f&&(b.a=h,b.es=i),(a.es!==b.es||a.a!==b.a||j(r)||j(b.datum_type))&&(a.geodetic_to_geocentric(c),j(a.datum_type)&&a.geocentric_to_wgs84(c),j(b.datum_type)&&b.geocentric_from_wgs84(c),b.geocentric_to_geodetic(c)),b.datum_type===f&&this.apply_gridshift(b,1,c),a.a=n,a.es=o,b.a=p,b.es=q,c}},{}],32:[function(a,b,c){function d(a){var b=this;if(2===arguments.length){var c=arguments[1];"string"==typeof c?"+"===c.charAt(0)?d[a]=f(arguments[1]):d[a]=g(arguments[1]):d[a]=c}else if(1===arguments.length){if(Array.isArray(a))return a.map(function(a){Array.isArray(a)?d.apply(b,a):d(a)});if("string"==typeof a){if(a in d)return d[a]}else"EPSG"in a?d["EPSG:"+a.EPSG]=a:"ESRI"in a?d["ESRI:"+a.ESRI]=a:"IAU2000"in a?d["IAU2000:"+a.IAU2000]=a:console.log(a);return}}var e=a("./global"),f=a("./projString"),g=a("./wkt");e(d),b.exports=d},{"./global":35,"./projString":38,"./wkt":67}],33:[function(a,b,c){var d=a("./constants/Datum"),e=a("./constants/Ellipsoid"),f=a("./extend"),g=a("./datum"),h=1e-10,i=.16666666666666666,j=.04722222222222222,k=.022156084656084655;b.exports=function(a){if(a.datumCode&&"none"!==a.datumCode){var b=d[a.datumCode];b&&(a.datum_params=b.towgs84?b.towgs84.split(","):null,a.ellps=b.ellipse,a.datumName=b.datumName?b.datumName:a.datumCode)}if(!a.a){var c=e[a.ellps]?e[a.ellps]:e.WGS84;f(a,c)}return a.rf&&!a.b&&(a.b=(1-1/a.rf)*a.a),(0===a.rf||Math.abs(a.a-a.b)<h)&&(a.sphere=!0,a.b=a.a),a.a2=a.a*a.a,a.b2=a.b*a.b,a.es=(a.a2-a.b2)/a.a2,a.e=Math.sqrt(a.es),a.R_A&&(a.a*=1-a.es*(i+a.es*(j+a.es*k)),a.a2=a.a*a.a,a.b2=a.b*a.b,a.es=0),a.ep2=(a.a2-a.b2)/a.b2,a.k0||(a.k0=1),a.axis||(a.axis="enu"),a.datum||(a.datum=g(a)),a}},{"./constants/Datum":25,"./constants/Ellipsoid":26,"./datum":30,"./extend":34}],34:[function(a,b,c){b.exports=function(a,b){a=a||{};var c,d;if(!b)return a;for(d in b)c=b[d],void 0!==c&&(a[d]=c);return a}},{}],35:[function(a,b,c){b.exports=function(a){a("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),a("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),a("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),a.WGS84=a["EPSG:4326"],a["EPSG:3785"]=a["EPSG:3857"],a.GOOGLE=a["EPSG:3857"],a["EPSG:900913"]=a["EPSG:3857"],a["EPSG:102113"]=a["EPSG:3857"]}},{}],36:[function(a,b,c){var proj4=a("./core");proj4.defaultDatum="WGS84",proj4.Proj=a("./Proj"),proj4.WGS84=new proj4.Proj("WGS84"),proj4.Point=a("./Point"),proj4.toPoint=a("./common/toPoint"),proj4.defs=a("./defs"),proj4.transform=a("./transform"),proj4.mgrs=a("mgrs"),proj4.version=a("../package.json").version,a("./includedProjections")(proj4),b.exports=proj4},{"../package.json":69,"./Point":1,"./Proj":2,"./common/toPoint":23,"./core":29,"./defs":32,"./includedProjections":"./includedProjections","./transform":66,mgrs:68}],37:[function(a,b,c){function d(a){return"string"==typeof a}function e(a){return a in i}function f(a){var b=["GEOGCS","GEOCCS","PROJCS","LOCAL_CS"];return b.reduce(function(b,c){return b+1+a.indexOf(c)},0)}function g(a){return"+"===a[0]}function h(a){return d(a)?e(a)?i[a]:f(a)?j(a):g(a)?k(a):void 0:a}var i=a("./defs"),j=a("./wkt"),k=a("./projString");b.exports=h},{"./defs":32,"./projString":38,"./wkt":67}],38:[function(a,b,c){var d=.017453292519943295,e=a("./constants/PrimeMeridian"),f=a("./constants/units");b.exports=function(a){var b={},c={};a.split("+").map(function(a){return a.trim()}).filter(function(a){return a}).forEach(function(a){var b=a.split("=");b.push(!0),c[b[0].toLowerCase()]=b[1]});var g,h,i,j={proj:"projName",datum:"datumCode",rf:function(a){b.rf=parseFloat(a)},lat_0:function(a){b.lat0=a*d},lat_1:function(a){b.lat1=a*d},lat_2:function(a){b.lat2=a*d},lat_ts:function(a){b.lat_ts=a*d},lon_0:function(a){b.long0=a*d},lon_1:function(a){b.long1=a*d},lon_2:function(a){b.long2=a*d},alpha:function(a){b.alpha=parseFloat(a)*d},lonc:function(a){b.longc=a*d},x_0:function(a){b.x0=parseFloat(a)},y_0:function(a){b.y0=parseFloat(a)},k_0:function(a){b.k0=parseFloat(a)},k:function(a){b.k0=parseFloat(a)},a:function(a){b.a=parseFloat(a)},b:function(a){b.b=parseFloat(a)},r_a:function(){b.R_A=!0},zone:function(a){b.zone=parseInt(a,10)},south:function(){b.utmSouth=!0},towgs84:function(a){b.datum_params=a.split(",").map(function(a){return parseFloat(a)})},to_meter:function(a){b.to_meter=parseFloat(a)},units:function(a){b.units=a,f[a]&&(b.to_meter=f[a].to_meter)},from_greenwich:function(a){b.from_greenwich=a*d},pm:function(a){b.from_greenwich=(e[a]?e[a]:parseFloat(a))*d},nadgrids:function(a){"@null"===a?b.datumCode="none":b.nadgrids=a},axis:function(a){var c="ewnsud";3===a.length&&-1!==c.indexOf(a.substr(0,1))&&-1!==c.indexOf(a.substr(1,1))&&-1!==c.indexOf(a.substr(2,1))&&(b.axis=a)}};for(g in c)h=c[g],g in j?(i=j[g],"function"==typeof i?i(h):b[i]=h):b[g]=h;return"string"==typeof b.datumCode&&"WGS84"!==b.datumCode&&(b.datumCode=b.datumCode.toLowerCase()),b}},{"./constants/PrimeMeridian":27,"./constants/units":28}],39:[function(a,b,c){function d(a,b){var c=g.length;return a.names?(g[c]=a,a.names.forEach(function(a){f[a.toLowerCase()]=c}),this):(console.log(b),!0)}var e=[a("./projections/merc"),a("./projections/longlat")],f={},g=[];c.add=d,c.get=function(a){if(!a)return!1;var b=a.toLowerCase();return"undefined"!=typeof f[b]&&g[f[b]]?g[f[b]]:void 0},c.start=function(){e.forEach(d)}},{"./projections/longlat":51,"./projections/merc":52}],40:[function(a,b,c){var d=1e-10,e=a("../common/msfnz"),f=a("../common/qsfnz"),g=a("../common/adjust_lon"),h=a("../common/asinz");c.init=function(){Math.abs(this.lat1+this.lat2)<d||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=e(this.e3,this.sin_po,this.cos_po),this.qs1=f(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=e(this.e3,this.sin_po,this.cos_po),this.qs2=f(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=f(this.e3,this.sin_po,this.cos_po),Math.abs(this.lat1-this.lat2)>d?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},c.forward=function(a){var b=a.x,c=a.y;this.sin_phi=Math.sin(c),this.cos_phi=Math.cos(c);var d=f(this.e3,this.sin_phi,this.cos_phi),e=this.a*Math.sqrt(this.c-this.ns0*d)/this.ns0,h=this.ns0*g(b-this.long0),i=e*Math.sin(h)+this.x0,j=this.rh-e*Math.cos(h)+this.y0;return a.x=i,a.y=j,a},c.inverse=function(a){var b,c,d,e,f,h;return a.x-=this.x0,a.y=this.rh-a.y+this.y0,this.ns0>=0?(b=Math.sqrt(a.x*a.x+a.y*a.y),d=1):(b=-Math.sqrt(a.x*a.x+a.y*a.y),d=-1),e=0,0!==b&&(e=Math.atan2(d*a.x,d*a.y)),d=b*this.ns0/this.a,this.sphere?h=Math.asin((this.c-d*d)/(2*this.ns0)):(c=(this.c-d*d)/this.ns0,h=this.phi1z(this.e3,c)),f=g(e/this.ns0+this.long0),a.x=f,a.y=h,a},c.phi1z=function(a,b){var c,e,f,g,i,j=h(.5*b);if(d>a)return j;for(var k=a*a,l=1;25>=l;l++)if(c=Math.sin(j),e=Math.cos(j),f=a*c,g=1-f*f,i=.5*g*g/e*(b/(1-k)-c/g+.5/a*Math.log((1-f)/(1+f))),j+=i,Math.abs(i)<=1e-7)return j;return null},c.names=["Albers_Conic_Equal_Area","Albers","aea"]},{"../common/adjust_lon":5,"../common/asinz":6,"../common/msfnz":15,"../common/qsfnz":20}],41:[function(a,b,c){var d=a("../common/adjust_lon"),e=Math.PI/2,f=1e-10,g=a("../common/mlfn"),h=a("../common/e0fn"),i=a("../common/e1fn"),j=a("../common/e2fn"),k=a("../common/e3fn"),l=a("../common/gN"),m=a("../common/asinz"),n=a("../common/imlfn");c.init=function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},c.forward=function(a){var b,c,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H=a.x,I=a.y,J=Math.sin(a.y),K=Math.cos(a.y),L=d(H-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=f?(a.x=this.x0+this.a*(e-I)*Math.sin(L),a.y=this.y0-this.a*(e-I)*Math.cos(L),a):Math.abs(this.sin_p12+1)<=f?(a.x=this.x0+this.a*(e+I)*Math.sin(L),a.y=this.y0+this.a*(e+I)*Math.cos(L),a):(B=this.sin_p12*J+this.cos_p12*K*Math.cos(L),z=Math.acos(B),A=z/Math.sin(z),a.x=this.x0+this.a*A*K*Math.sin(L),a.y=this.y0+this.a*A*(this.cos_p12*J-this.sin_p12*K*Math.cos(L)),a):(b=h(this.es),c=i(this.es),m=j(this.es),n=k(this.es),Math.abs(this.sin_p12-1)<=f?(o=this.a*g(b,c,m,n,e),p=this.a*g(b,c,m,n,I),a.x=this.x0+(o-p)*Math.sin(L),a.y=this.y0-(o-p)*Math.cos(L),a):Math.abs(this.sin_p12+1)<=f?(o=this.a*g(b,c,m,n,e),p=this.a*g(b,c,m,n,I),a.x=this.x0+(o+p)*Math.sin(L),a.y=this.y0+(o+p)*Math.cos(L),a):(q=J/K,r=l(this.a,this.e,this.sin_p12),s=l(this.a,this.e,J),t=Math.atan((1-this.es)*q+this.es*r*this.sin_p12/(s*K)),u=Math.atan2(Math.sin(L),this.cos_p12*Math.tan(t)-this.sin_p12*Math.cos(L)),C=0===u?Math.asin(this.cos_p12*Math.sin(t)-this.sin_p12*Math.cos(t)):Math.abs(Math.abs(u)-Math.PI)<=f?-Math.asin(this.cos_p12*Math.sin(t)-this.sin_p12*Math.cos(t)):Math.asin(Math.sin(L)*Math.cos(t)/Math.sin(u)),v=this.e*this.sin_p12/Math.sqrt(1-this.es),w=this.e*this.cos_p12*Math.cos(u)/Math.sqrt(1-this.es),x=v*w,y=w*w,D=C*C,E=D*C,F=E*C,G=F*C,z=r*C*(1-D*y*(1-y)/6+E/8*x*(1-2*y)+F/120*(y*(4-7*y)-3*v*v*(1-7*y))-G/48*x),a.x=this.x0+z*Math.sin(u),a.y=this.y0+z*Math.cos(u),a))},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I;if(this.sphere){if(b=Math.sqrt(a.x*a.x+a.y*a.y),b>2*e*this.a)return;return c=b/this.a,o=Math.sin(c),p=Math.cos(c),q=this.long0,Math.abs(b)<=f?r=this.lat0:(r=m(p*this.sin_p12+a.y*o*this.cos_p12/b),s=Math.abs(this.lat0)-e,q=d(Math.abs(s)<=f?this.lat0>=0?this.long0+Math.atan2(a.x,-a.y):this.long0-Math.atan2(-a.x,a.y):this.long0+Math.atan2(a.x*o,b*this.cos_p12*p-a.y*this.sin_p12*o))),a.x=q,a.y=r,a}return t=h(this.es),u=i(this.es),v=j(this.es),w=k(this.es),Math.abs(this.sin_p12-1)<=f?(x=this.a*g(t,u,v,w,e),b=Math.sqrt(a.x*a.x+a.y*a.y),y=x-b,r=n(y/this.a,t,u,v,w),q=d(this.long0+Math.atan2(a.x,-1*a.y)),a.x=q,a.y=r,a):Math.abs(this.sin_p12+1)<=f?(x=this.a*g(t,u,v,w,e),b=Math.sqrt(a.x*a.x+a.y*a.y),y=b-x,r=n(y/this.a,t,u,v,w),q=d(this.long0+Math.atan2(a.x,a.y)),a.x=q,a.y=r,a):(b=Math.sqrt(a.x*a.x+a.y*a.y),B=Math.atan2(a.x,a.y),z=l(this.a,this.e,this.sin_p12),C=Math.cos(B),D=this.e*this.cos_p12*C,E=-D*D/(1-this.es),F=3*this.es*(1-E)*this.sin_p12*this.cos_p12*C/(1-this.es),G=b/z,H=G-E*(1+E)*Math.pow(G,3)/6-F*(1+3*E)*Math.pow(G,4)/24,I=1-E*H*H/2-G*H*H*H/6,A=Math.asin(this.sin_p12*Math.cos(H)+this.cos_p12*Math.sin(H)*C),q=d(this.long0+Math.asin(Math.sin(B)*Math.sin(H)/Math.cos(A))),r=Math.atan((1-this.es*I*this.sin_p12/Math.sin(A))*Math.tan(A)/(1-this.es)),a.x=q,a.y=r,a)},c.names=["Azimuthal_Equidistant","aeqd"]},{"../common/adjust_lon":5,"../common/asinz":6,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],42:[function(a,b,c){var d=a("../common/mlfn"),e=a("../common/e0fn"),f=a("../common/e1fn"),g=a("../common/e2fn"),h=a("../common/e3fn"),i=a("../common/gN"),j=a("../common/adjust_lon"),k=a("../common/adjust_lat"),l=a("../common/imlfn"),m=Math.PI/2,n=1e-10;c.init=function(){this.sphere||(this.e0=e(this.es),this.e1=f(this.es),this.e2=g(this.es),this.e3=h(this.es),this.ml0=this.a*d(this.e0,this.e1,this.e2,this.e3,this.lat0))},c.forward=function(a){var b,c,e=a.x,f=a.y;if(e=j(e-this.long0),this.sphere)b=this.a*Math.asin(Math.cos(f)*Math.sin(e)),c=this.a*(Math.atan2(Math.tan(f),Math.cos(e))-this.lat0);else{var g=Math.sin(f),h=Math.cos(f),k=i(this.a,this.e,g),l=Math.tan(f)*Math.tan(f),m=e*Math.cos(f),n=m*m,o=this.es*h*h/(1-this.es),p=this.a*d(this.e0,this.e1,this.e2,this.e3,f);b=k*m*(1-n*l*(1/6-(8-l+8*o)*n/120)),c=p-this.ml0+k*g/h*n*(.5+(5-l+6*o)*n/24)}return a.x=b+this.x0,a.y=c+this.y0,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,d=a.x/this.a,e=a.y/this.a;if(this.sphere){var f=e+this.lat0;b=Math.asin(Math.sin(f)*Math.cos(d)),c=Math.atan2(Math.tan(d),Math.cos(f))}else{var g=this.ml0/this.a+e,h=l(g,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(h)-m)<=n)return a.x=this.long0,a.y=m,0>e&&(a.y*=-1),a;var o=i(this.a,this.e,Math.sin(h)),p=o*o*o/this.a/this.a*(1-this.es),q=Math.pow(Math.tan(h),2),r=d*this.a/o,s=r*r;b=h-o*Math.tan(h)/p*r*r*(.5-(1+3*q)*r*r/24),c=r*(1-s*(q/3+(1+3*q)*q*s/15))/Math.cos(h)}return a.x=j(c+this.long0),a.y=k(b),a},c.names=["Cassini","Cassini_Soldner","cass"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],43:[function(a,b,c){var d=a("../common/adjust_lon"),e=a("../common/qsfnz"),f=a("../common/msfnz"),g=a("../common/iqsfnz");c.init=function(){this.sphere||(this.k0=f(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},c.forward=function(a){var b,c,f=a.x,g=a.y,h=d(f-this.long0);if(this.sphere)b=this.x0+this.a*h*Math.cos(this.lat_ts),c=this.y0+this.a*Math.sin(g)/Math.cos(this.lat_ts);else{var i=e(this.e,Math.sin(g));b=this.x0+this.a*this.k0*h,c=this.y0+this.a*i*.5/this.k0}return a.x=b,a.y=c,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c;return this.sphere?(b=d(this.long0+a.x/this.a/Math.cos(this.lat_ts)),c=Math.asin(a.y/this.a*Math.cos(this.lat_ts))):(c=g(this.e,2*a.y*this.k0/this.a),b=d(this.long0+a.x/(this.a*this.k0))),a.x=b,a.y=c,a},c.names=["cea"]},{"../common/adjust_lon":5,"../common/iqsfnz":13,"../common/msfnz":15,"../common/qsfnz":20}],44:[function(a,b,c){var d=a("../common/adjust_lon"),e=a("../common/adjust_lat");c.init=function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},c.forward=function(a){var b=a.x,c=a.y,f=d(b-this.long0),g=e(c-this.lat0);return a.x=this.x0+this.a*f*this.rc,a.y=this.y0+this.a*g,a},c.inverse=function(a){var b=a.x,c=a.y;return a.x=d(this.long0+(b-this.x0)/(this.a*this.rc)),a.y=e(this.lat0+(c-this.y0)/this.a),a},c.names=["Equirectangular","Equidistant_Cylindrical","eqc"]},{"../common/adjust_lat":4,"../common/adjust_lon":5}],45:[function(a,b,c){var d=a("../common/e0fn"),e=a("../common/e1fn"),f=a("../common/e2fn"),g=a("../common/e3fn"),h=a("../common/msfnz"),i=a("../common/mlfn"),j=a("../common/adjust_lon"),k=a("../common/adjust_lat"),l=a("../common/imlfn"),m=1e-10;c.init=function(){Math.abs(this.lat1+this.lat2)<m||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=d(this.es),this.e1=e(this.es),this.e2=f(this.es),this.e3=g(this.es),this.sinphi=Math.sin(this.lat1),this.cosphi=Math.cos(this.lat1),this.ms1=h(this.e,this.sinphi,this.cosphi),this.ml1=i(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<m?this.ns=this.sinphi:(this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=h(this.e,this.sinphi,this.cosphi),this.ml2=i(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=i(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))},c.forward=function(a){var b,c=a.x,d=a.y;if(this.sphere)b=this.a*(this.g-d);else{var e=i(this.e0,this.e1,this.e2,this.e3,d);b=this.a*(this.g-e)}var f=this.ns*j(c-this.long0),g=this.x0+b*Math.sin(f),h=this.y0+this.rh-b*Math.cos(f);return a.x=g,a.y=h,a},c.inverse=function(a){a.x-=this.x0,a.y=this.rh-a.y+this.y0;var b,c,d,e;this.ns>=0?(c=Math.sqrt(a.x*a.x+a.y*a.y),
+b=1):(c=-Math.sqrt(a.x*a.x+a.y*a.y),b=-1);var f=0;if(0!==c&&(f=Math.atan2(b*a.x,b*a.y)),this.sphere)return e=j(this.long0+f/this.ns),d=k(this.g-c/this.a),a.x=e,a.y=d,a;var g=this.g-c/this.a;return d=l(g,this.e0,this.e1,this.e2,this.e3),e=j(this.long0+f/this.ns),a.x=e,a.y=d,a},c.names=["Equidistant_Conic","eqdc"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/imlfn":12,"../common/mlfn":14,"../common/msfnz":15}],46:[function(a,b,c){var d=Math.PI/4,e=a("../common/srat"),f=Math.PI/2,g=20;c.init=function(){var a=Math.sin(this.lat0),b=Math.cos(this.lat0);b*=b,this.rc=Math.sqrt(1-this.es)/(1-this.es*a*a),this.C=Math.sqrt(1+this.es*b*b/(1-this.es)),this.phic0=Math.asin(a/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+d)/(Math.pow(Math.tan(.5*this.lat0+d),this.C)*e(this.e*a,this.ratexp))},c.forward=function(a){var b=a.x,c=a.y;return a.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*c+d),this.C)*e(this.e*Math.sin(c),this.ratexp))-f,a.x=this.C*b,a},c.inverse=function(a){for(var b=1e-14,c=a.x/this.C,h=a.y,i=Math.pow(Math.tan(.5*h+d)/this.K,1/this.C),j=g;j>0&&(h=2*Math.atan(i*e(this.e*Math.sin(a.y),-.5*this.e))-f,!(Math.abs(h-a.y)<b));--j)a.y=h;return j?(a.x=c,a.y=h,a):null},c.names=["gauss"]},{"../common/srat":22}],47:[function(a,b,c){var d=a("../common/adjust_lon"),e=1e-10,f=a("../common/asinz");c.init=function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1},c.forward=function(a){var b,c,f,g,h,i,j,k,l=a.x,m=a.y;return f=d(l-this.long0),b=Math.sin(m),c=Math.cos(m),g=Math.cos(f),i=this.sin_p14*b+this.cos_p14*c*g,h=1,i>0||Math.abs(i)<=e?(j=this.x0+this.a*h*c*Math.sin(f)/i,k=this.y0+this.a*h*(this.cos_p14*b-this.sin_p14*c*g)/i):(j=this.x0+this.infinity_dist*c*Math.sin(f),k=this.y0+this.infinity_dist*(this.cos_p14*b-this.sin_p14*c*g)),a.x=j,a.y=k,a},c.inverse=function(a){var b,c,e,g,h,i;return a.x=(a.x-this.x0)/this.a,a.y=(a.y-this.y0)/this.a,a.x/=this.k0,a.y/=this.k0,(b=Math.sqrt(a.x*a.x+a.y*a.y))?(g=Math.atan2(b,this.rc),c=Math.sin(g),e=Math.cos(g),i=f(e*this.sin_p14+a.y*c*this.cos_p14/b),h=Math.atan2(a.x*c,b*this.cos_p14*e-a.y*this.sin_p14*c),h=d(this.long0+h)):(i=this.phic0,h=0),a.x=h,a.y=i,a},c.names=["gnom"]},{"../common/adjust_lon":5,"../common/asinz":6}],48:[function(a,b,c){var d=a("../common/adjust_lon");c.init=function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},c.forward=function(a){var b,c,e,f,g,h,i,j=a.x,k=a.y,l=d(j-this.long0);return b=Math.pow((1+this.e*Math.sin(k))/(1-this.e*Math.sin(k)),this.alfa*this.e/2),c=2*(Math.atan(this.k*Math.pow(Math.tan(k/2+this.s45),this.alfa)/b)-this.s45),e=-l*this.alfa,f=Math.asin(Math.cos(this.ad)*Math.sin(c)+Math.sin(this.ad)*Math.cos(c)*Math.cos(e)),g=Math.asin(Math.cos(c)*Math.sin(e)/Math.cos(f)),h=this.n*g,i=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(f/2+this.s45),this.n),a.y=i*Math.cos(h)/1,a.x=i*Math.sin(h)/1,this.czech||(a.y*=-1,a.x*=-1),a},c.inverse=function(a){var b,c,d,e,f,g,h,i,j=a.x;a.x=a.y,a.y=j,this.czech||(a.y*=-1,a.x*=-1),g=Math.sqrt(a.x*a.x+a.y*a.y),f=Math.atan2(a.y,a.x),e=f/Math.sin(this.s0),d=2*(Math.atan(Math.pow(this.ro0/g,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),b=Math.asin(Math.cos(this.ad)*Math.sin(d)-Math.sin(this.ad)*Math.cos(d)*Math.cos(e)),c=Math.asin(Math.cos(d)*Math.sin(e)/Math.cos(b)),a.x=this.long0-c/this.alfa,h=b,i=0;var k=0;do a.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(b/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(h))/(1-this.e*Math.sin(h)),this.e/2))-this.s45),Math.abs(h-a.y)<1e-10&&(i=1),h=a.y,k+=1;while(0===i&&15>k);return k>=15?null:a},c.names=["Krovak","krovak"]},{"../common/adjust_lon":5}],49:[function(a,b,c){var d=Math.PI/2,e=Math.PI/4,f=1e-10,g=a("../common/qsfnz"),h=a("../common/adjust_lon");c.S_POLE=1,c.N_POLE=2,c.EQUIT=3,c.OBLIQ=4,c.init=function(){var a=Math.abs(this.lat0);if(Math.abs(a-d)<f?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(a)<f?this.mode=this.EQUIT:this.mode=this.OBLIQ,this.es>0){var b;switch(this.qp=g(this.e,1),this.mmf=.5/(1-this.es),this.apa=this.authset(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),b=Math.sin(this.lat0),this.sinb1=g(this.e,b)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*b*b)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},c.forward=function(a){var b,c,i,j,k,l,m,n,o,p,q=a.x,r=a.y;if(q=h(q-this.long0),this.sphere){if(k=Math.sin(r),p=Math.cos(r),i=Math.cos(q),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(c=this.mode===this.EQUIT?1+p*i:1+this.sinph0*k+this.cosph0*p*i,f>=c)return null;c=Math.sqrt(2/c),b=c*p*Math.sin(q),c*=this.mode===this.EQUIT?k:this.cosph0*k-this.sinph0*p*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(r+this.phi0)<f)return null;c=e-.5*r,c=2*(this.mode===this.S_POLE?Math.cos(c):Math.sin(c)),b=c*Math.sin(q),c*=i}}else{switch(m=0,n=0,o=0,i=Math.cos(q),j=Math.sin(q),k=Math.sin(r),l=g(this.e,k),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(m=l/this.qp,n=Math.sqrt(1-m*m)),this.mode){case this.OBLIQ:o=1+this.sinb1*m+this.cosb1*n*i;break;case this.EQUIT:o=1+n*i;break;case this.N_POLE:o=d+r,l=this.qp-l;break;case this.S_POLE:o=r-d,l=this.qp+l}if(Math.abs(o)<f)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:o=Math.sqrt(2/o),c=this.mode===this.OBLIQ?this.ymf*o*(this.cosb1*m-this.sinb1*n*i):(o=Math.sqrt(2/(1+n*i)))*m*this.ymf,b=this.xmf*o*n*j;break;case this.N_POLE:case this.S_POLE:l>=0?(b=(o=Math.sqrt(l))*j,c=i*(this.mode===this.S_POLE?o:-o)):b=c=0}}return a.x=this.a*b+this.x0,a.y=this.a*c+this.y0,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,e,g,i,j,k,l=a.x/this.a,m=a.y/this.a;if(this.sphere){var n,o=0,p=0;if(n=Math.sqrt(l*l+m*m),c=.5*n,c>1)return null;switch(c=2*Math.asin(c),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(p=Math.sin(c),o=Math.cos(c)),this.mode){case this.EQUIT:c=Math.abs(n)<=f?0:Math.asin(m*p/n),l*=p,m=o*n;break;case this.OBLIQ:c=Math.abs(n)<=f?this.phi0:Math.asin(o*this.sinph0+m*p*this.cosph0/n),l*=p*this.cosph0,m=(o-Math.sin(c)*this.sinph0)*n;break;case this.N_POLE:m=-m,c=d-c;break;case this.S_POLE:c-=d}b=0!==m||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(l,m):0}else{if(k=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(l/=this.dd,m*=this.dd,j=Math.sqrt(l*l+m*m),f>j)return a.x=0,a.y=this.phi0,a;g=2*Math.asin(.5*j/this.rq),e=Math.cos(g),l*=g=Math.sin(g),this.mode===this.OBLIQ?(k=e*this.sinb1+m*g*this.cosb1/j,i=this.qp*k,m=j*this.cosb1*e-m*this.sinb1*g):(k=m*g/j,i=this.qp*k,m=j*e)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(m=-m),i=l*l+m*m,!i)return a.x=0,a.y=this.phi0,a;k=1-i/this.qp,this.mode===this.S_POLE&&(k=-k)}b=Math.atan2(l,m),c=this.authlat(Math.asin(k),this.apa)}return a.x=h(this.long0+b),a.y=c,a},c.P00=.3333333333333333,c.P01=.17222222222222222,c.P02=.10257936507936508,c.P10=.06388888888888888,c.P11=.0664021164021164,c.P20=.016415012942191543,c.authset=function(a){var b,c=[];return c[0]=a*this.P00,b=a*a,c[0]+=b*this.P01,c[1]=b*this.P10,b*=a,c[0]+=b*this.P02,c[1]+=b*this.P11,c[2]=b*this.P20,c},c.authlat=function(a,b){var c=a+a;return a+b[0]*Math.sin(c)+b[1]*Math.sin(c+c)+b[2]*Math.sin(c+c+c)},c.names=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"]},{"../common/adjust_lon":5,"../common/qsfnz":20}],50:[function(a,b,c){var d=1e-10,e=a("../common/msfnz"),f=a("../common/tsfnz"),g=Math.PI/2,h=a("../common/sign"),i=a("../common/adjust_lon"),j=a("../common/phi2z");c.init=function(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<d)){var a=this.b/this.a;this.e=Math.sqrt(1-a*a);var b=Math.sin(this.lat1),c=Math.cos(this.lat1),g=e(this.e,b,c),h=f(this.e,this.lat1,b),i=Math.sin(this.lat2),j=Math.cos(this.lat2),k=e(this.e,i,j),l=f(this.e,this.lat2,i),m=f(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>d?this.ns=Math.log(g/k)/Math.log(h/l):this.ns=b,isNaN(this.ns)&&(this.ns=b),this.f0=g/(this.ns*Math.pow(h,this.ns)),this.rh=this.a*this.f0*Math.pow(m,this.ns),this.title||(this.title="Lambert Conformal Conic")}},c.forward=function(a){var b=a.x,c=a.y;Math.abs(2*Math.abs(c)-Math.PI)<=d&&(c=h(c)*(g-2*d));var e,j,k=Math.abs(Math.abs(c)-g);if(k>d)e=f(this.e,c,Math.sin(c)),j=this.a*this.f0*Math.pow(e,this.ns);else{if(k=c*this.ns,0>=k)return null;j=0}var l=this.ns*i(b-this.long0);return a.x=this.k0*(j*Math.sin(l))+this.x0,a.y=this.k0*(this.rh-j*Math.cos(l))+this.y0,a},c.inverse=function(a){var b,c,d,e,f,h=(a.x-this.x0)/this.k0,k=this.rh-(a.y-this.y0)/this.k0;this.ns>0?(b=Math.sqrt(h*h+k*k),c=1):(b=-Math.sqrt(h*h+k*k),c=-1);var l=0;if(0!==b&&(l=Math.atan2(c*h,c*k)),0!==b||this.ns>0){if(c=1/this.ns,d=Math.pow(b/(this.a*this.f0),c),e=j(this.e,d),-9999===e)return null}else e=-g;return f=i(l/this.ns+this.long0),a.x=f,a.y=e,a},c.names=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],51:[function(a,b,c){function d(a){return a}c.init=function(){},c.forward=d,c.inverse=d,c.names=["longlat","identity"]},{}],52:[function(a,b,c){var d=a("../common/msfnz"),e=Math.PI/2,f=1e-10,g=57.29577951308232,h=a("../common/adjust_lon"),i=Math.PI/4,j=a("../common/tsfnz"),k=a("../common/phi2z");c.init=function(){var a=this.b/this.a;this.es=1-a*a,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=d(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},c.forward=function(a){var b=a.x,c=a.y;if(c*g>90&&-90>c*g&&b*g>180&&-180>b*g)return null;var d,k;if(Math.abs(Math.abs(c)-e)<=f)return null;if(this.sphere)d=this.x0+this.a*this.k0*h(b-this.long0),k=this.y0+this.a*this.k0*Math.log(Math.tan(i+.5*c));else{var l=Math.sin(c),m=j(this.e,c,l);d=this.x0+this.a*this.k0*h(b-this.long0),k=this.y0-this.a*this.k0*Math.log(m)}return a.x=d,a.y=k,a},c.inverse=function(a){var b,c,d=a.x-this.x0,f=a.y-this.y0;if(this.sphere)c=e-2*Math.atan(Math.exp(-f/(this.a*this.k0)));else{var g=Math.exp(-f/(this.a*this.k0));if(c=k(this.e,g),-9999===c)return null}return b=h(this.long0+d/(this.a*this.k0)),a.x=b,a.y=c,a},c.names=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/tsfnz":24}],53:[function(a,b,c){var d=a("../common/adjust_lon");c.init=function(){},c.forward=function(a){var b=a.x,c=a.y,e=d(b-this.long0),f=this.x0+this.a*e,g=this.y0+this.a*Math.log(Math.tan(Math.PI/4+c/2.5))*1.25;return a.x=f,a.y=g,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b=d(this.long0+a.x/this.a),c=2.5*(Math.atan(Math.exp(.8*a.y/this.a))-Math.PI/4);return a.x=b,a.y=c,a},c.names=["Miller_Cylindrical","mill"]},{"../common/adjust_lon":5}],54:[function(a,b,c){var d=a("../common/adjust_lon"),e=1e-10;c.init=function(){},c.forward=function(a){for(var b=a.x,c=a.y,f=d(b-this.long0),g=c,h=Math.PI*Math.sin(c),i=0;!0;i++){var j=-(g+Math.sin(g)-h)/(1+Math.cos(g));if(g+=j,Math.abs(j)<e)break}g/=2,Math.PI/2-Math.abs(c)<e&&(f=0);var k=.900316316158*this.a*f*Math.cos(g)+this.x0,l=1.4142135623731*this.a*Math.sin(g)+this.y0;return a.x=k,a.y=l,a},c.inverse=function(a){var b,c;a.x-=this.x0,a.y-=this.y0,c=a.y/(1.4142135623731*this.a),Math.abs(c)>.999999999999&&(c=.999999999999),b=Math.asin(c);var e=d(this.long0+a.x/(.900316316158*this.a*Math.cos(b)));e<-Math.PI&&(e=-Math.PI),e>Math.PI&&(e=Math.PI),c=(2*b+Math.sin(2*b))/Math.PI,Math.abs(c)>1&&(c=1);var f=Math.asin(c);return a.x=e,a.y=f,a},c.names=["Mollweide","moll"]},{"../common/adjust_lon":5}],55:[function(a,b,c){var d=484813681109536e-20;c.iterations=1,c.init=function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},c.forward=function(a){var b,c=a.x,e=a.y,f=e-this.lat0,g=c-this.long0,h=f/d*1e-5,i=g,j=1,k=0;for(b=1;10>=b;b++)j*=h,k+=this.A[b]*j;var l,m,n=k,o=i,p=1,q=0,r=0,s=0;for(b=1;6>=b;b++)l=p*n-q*o,m=q*n+p*o,p=l,q=m,r=r+this.B_re[b]*p-this.B_im[b]*q,s=s+this.B_im[b]*p+this.B_re[b]*q;return a.x=s*this.a+this.x0,a.y=r*this.a+this.y0,a},c.inverse=function(a){var b,c,e,f=a.x,g=a.y,h=f-this.x0,i=g-this.y0,j=i/this.a,k=h/this.a,l=1,m=0,n=0,o=0;for(b=1;6>=b;b++)c=l*j-m*k,e=m*j+l*k,l=c,m=e,n=n+this.C_re[b]*l-this.C_im[b]*m,o=o+this.C_im[b]*l+this.C_re[b]*m;for(var p=0;p<this.iterations;p++){var q,r,s=n,t=o,u=j,v=k;for(b=2;6>=b;b++)q=s*n-t*o,r=t*n+s*o,s=q,t=r,u+=(b-1)*(this.B_re[b]*s-this.B_im[b]*t),v+=(b-1)*(this.B_im[b]*s+this.B_re[b]*t);s=1,t=0;var w=this.B_re[1],x=this.B_im[1];for(b=2;6>=b;b++)q=s*n-t*o,r=t*n+s*o,s=q,t=r,w+=b*(this.B_re[b]*s-this.B_im[b]*t),x+=b*(this.B_im[b]*s+this.B_re[b]*t);var y=w*w+x*x;n=(u*w+v*x)/y,o=(v*w-u*x)/y}var z=n,A=o,B=1,C=0;for(b=1;9>=b;b++)B*=z,C+=this.D[b]*B;var D=this.lat0+C*d*1e5,E=this.long0+A;return a.x=E,a.y=D,a},c.names=["New_Zealand_Map_Grid","nzmg"]},{}],56:[function(a,b,c){var d=a("../common/tsfnz"),e=a("../common/adjust_lon"),f=a("../common/phi2z"),g=Math.PI/2,h=Math.PI/4,i=1e-10;c.init=function(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var a=Math.sin(this.lat0),b=Math.cos(this.lat0),c=this.e*a;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(b,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-c*c);var f=d(this.e,this.lat0,a),g=this.bl/b*Math.sqrt((1-this.es)/(1-c*c));1>g*g&&(g=1);var h,i;if(isNaN(this.longc)){var j=d(this.e,this.lat1,Math.sin(this.lat1)),k=d(this.e,this.lat2,Math.sin(this.lat2));this.lat0>=0?this.el=(g+Math.sqrt(g*g-1))*Math.pow(f,this.bl):this.el=(g-Math.sqrt(g*g-1))*Math.pow(f,this.bl);var l=Math.pow(j,this.bl),m=Math.pow(k,this.bl);h=this.el/l,i=.5*(h-1/h);var n=(this.el*this.el-m*l)/(this.el*this.el+m*l),o=(m-l)/(m+l),p=e(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(n*Math.tan(.5*this.bl*p)/o)/this.bl,this.long0=e(this.long0);var q=e(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*q)/i),this.alpha=Math.asin(g*Math.sin(this.gamma0))}else h=this.lat0>=0?g+Math.sqrt(g*g-1):g-Math.sqrt(g*g-1),this.el=h*Math.pow(f,this.bl),i=.5*(h-1/h),this.gamma0=Math.asin(Math.sin(this.alpha)/g),this.long0=this.longc-Math.asin(i*Math.tan(this.gamma0))/this.bl;this.no_off?this.uc=0:this.lat0>=0?this.uc=this.al/this.bl*Math.atan2(Math.sqrt(g*g-1),Math.cos(this.alpha)):this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(g*g-1),Math.cos(this.alpha))},c.forward=function(a){var b,c,f,j=a.x,k=a.y,l=e(j-this.long0);if(Math.abs(Math.abs(k)-g)<=i)f=k>0?-1:1,c=this.al/this.bl*Math.log(Math.tan(h+f*this.gamma0*.5)),b=-1*f*g*this.al/this.bl;else{var m=d(this.e,k,Math.sin(k)),n=this.el/Math.pow(m,this.bl),o=.5*(n-1/n),p=.5*(n+1/n),q=Math.sin(this.bl*l),r=(o*Math.sin(this.gamma0)-q*Math.cos(this.gamma0))/p;c=Math.abs(Math.abs(r)-1)<=i?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-r)/(1+r))/this.bl,b=Math.abs(Math.cos(this.bl*l))<=i?this.al*this.bl*l:this.al*Math.atan2(o*Math.cos(this.gamma0)+q*Math.sin(this.gamma0),Math.cos(this.bl*l))/this.bl}return this.no_rot?(a.x=this.x0+b,a.y=this.y0+c):(b-=this.uc,a.x=this.x0+c*Math.cos(this.alpha)+b*Math.sin(this.alpha),a.y=this.y0+b*Math.cos(this.alpha)-c*Math.sin(this.alpha)),a},c.inverse=function(a){var b,c;this.no_rot?(c=a.y-this.y0,b=a.x-this.x0):(c=(a.x-this.x0)*Math.cos(this.alpha)-(a.y-this.y0)*Math.sin(this.alpha),b=(a.y-this.y0)*Math.cos(this.alpha)+(a.x-this.x0)*Math.sin(this.alpha),b+=this.uc);var d=Math.exp(-1*this.bl*c/this.al),h=.5*(d-1/d),j=.5*(d+1/d),k=Math.sin(this.bl*b/this.al),l=(k*Math.cos(this.gamma0)+h*Math.sin(this.gamma0))/j,m=Math.pow(this.el/Math.sqrt((1+l)/(1-l)),1/this.bl);return Math.abs(l-1)<i?(a.x=this.long0,a.y=g):Math.abs(l+1)<i?(a.x=this.long0,a.y=-1*g):(a.y=f(this.e,m),a.x=e(this.long0-Math.atan2(h*Math.cos(this.gamma0)-k*Math.sin(this.gamma0),Math.cos(this.bl*b/this.al))/this.bl)),a},c.names=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"]},{"../common/adjust_lon":5,"../common/phi2z":16,"../common/tsfnz":24}],57:[function(a,b,c){var d=a("../common/adjust_lon"),e=1e-10,f=a("../common/asinz"),g=Math.PI/2;c.init=function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)},c.forward=function(a){var b,c,f,g,h,i,j,k,l=a.x,m=a.y;return f=d(l-this.long0),b=Math.sin(m),c=Math.cos(m),g=Math.cos(f),i=this.sin_p14*b+this.cos_p14*c*g,h=1,(i>0||Math.abs(i)<=e)&&(j=this.a*h*c*Math.sin(f),k=this.y0+this.a*h*(this.cos_p14*b-this.sin_p14*c*g)),a.x=j,a.y=k,a},c.inverse=function(a){var b,c,h,i,j,k,l;return a.x-=this.x0,a.y-=this.y0,b=Math.sqrt(a.x*a.x+a.y*a.y),c=f(b/this.a),h=Math.sin(c),i=Math.cos(c),k=this.long0,Math.abs(b)<=e?(l=this.lat0,a.x=k,a.y=l,a):(l=f(i*this.sin_p14+a.y*h*this.cos_p14/b),j=Math.abs(this.lat0)-g,Math.abs(j)<=e?(k=d(this.lat0>=0?this.long0+Math.atan2(a.x,-a.y):this.long0-Math.atan2(-a.x,a.y)),a.x=k,a.y=l,a):(k=d(this.long0+Math.atan2(a.x*h,b*this.cos_p14*i-a.y*this.sin_p14*h)),a.x=k,a.y=l,a))},c.names=["ortho"]},{"../common/adjust_lon":5,"../common/asinz":6}],58:[function(a,b,c){var d=a("../common/e0fn"),e=a("../common/e1fn"),f=a("../common/e2fn"),g=a("../common/e3fn"),h=a("../common/adjust_lon"),i=a("../common/adjust_lat"),j=a("../common/mlfn"),k=1e-10,l=a("../common/gN"),m=20;c.init=function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=d(this.es),this.e1=e(this.es),this.e2=f(this.es),this.e3=g(this.es),this.ml0=this.a*j(this.e0,this.e1,this.e2,this.e3,this.lat0)},c.forward=function(a){var b,c,d,e=a.x,f=a.y,g=h(e-this.long0);if(d=g*Math.sin(f),this.sphere)Math.abs(f)<=k?(b=this.a*g,c=-1*this.a*this.lat0):(b=this.a*Math.sin(d)/Math.tan(f),c=this.a*(i(f-this.lat0)+(1-Math.cos(d))/Math.tan(f)));else if(Math.abs(f)<=k)b=this.a*g,c=-1*this.ml0;else{var m=l(this.a,this.e,Math.sin(f))/Math.tan(f);b=m*Math.sin(d),c=this.a*j(this.e0,this.e1,this.e2,this.e3,f)-this.ml0+m*(1-Math.cos(d))}return a.x=b+this.x0,a.y=c+this.y0,a},c.inverse=function(a){var b,c,d,e,f,g,i,l,n;if(d=a.x-this.x0,e=a.y-this.y0,this.sphere)if(Math.abs(e+this.a*this.lat0)<=k)b=h(d/this.a+this.long0),c=0;else{g=this.lat0+e/this.a,i=d*d/this.a/this.a+g*g,l=g;var o;for(f=m;f;--f)if(o=Math.tan(l),n=-1*(g*(l*o+1)-l-.5*(l*l+i)*o)/((l-g)/o-1),l+=n,Math.abs(n)<=k){c=l;break}b=h(this.long0+Math.asin(d*Math.tan(l)/this.a)/Math.sin(c))}else if(Math.abs(e+this.ml0)<=k)c=0,b=h(this.long0+d/this.a);else{g=(this.ml0+e)/this.a,i=d*d/this.a/this.a+g*g,l=g;var p,q,r,s,t;for(f=m;f;--f)if(t=this.e*Math.sin(l),p=Math.sqrt(1-t*t)*Math.tan(l),q=this.a*j(this.e0,this.e1,this.e2,this.e3,l),r=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),s=q/this.a,n=(g*(p*s+1)-s-.5*p*(s*s+i))/(this.es*Math.sin(2*l)*(s*s+i-2*g*s)/(4*p)+(g-s)*(p*r-2/Math.sin(2*l))-r),l-=n,Math.abs(n)<=k){c=l;break}p=Math.sqrt(1-this.es*Math.pow(Math.sin(c),2))*Math.tan(c),b=h(this.long0+Math.asin(d*p/this.a)/Math.sin(c))}return a.x=b,a.y=c,a},c.names=["Polyconic","poly"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/mlfn":14}],59:[function(a,b,c){var d=a("../common/adjust_lon"),e=a("../common/adjust_lat"),f=a("../common/pj_enfn"),g=20,h=a("../common/pj_mlfn"),i=a("../common/pj_inv_mlfn"),j=Math.PI/2,k=1e-10,l=a("../common/asinz");c.init=function(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=f(this.es)},c.forward=function(a){var b,c,e=a.x,f=a.y;if(e=d(e-this.long0),this.sphere){if(this.m)for(var i=this.n*Math.sin(f),j=g;j;--j){var l=(this.m*f+Math.sin(f)-i)/(this.m+Math.cos(f));if(f-=l,Math.abs(l)<k)break}else f=1!==this.n?Math.asin(this.n*Math.sin(f)):f;b=this.a*this.C_x*e*(this.m+Math.cos(f)),c=this.a*this.C_y*f}else{var m=Math.sin(f),n=Math.cos(f);c=this.a*h(f,m,n,this.en),b=this.a*e*n/Math.sqrt(1-this.es*m*m)}return a.x=b,a.y=c,a},c.inverse=function(a){var b,c,f,g;return a.x-=this.x0,f=a.x/this.a,a.y-=this.y0,b=a.y/this.a,this.sphere?(b/=this.C_y,f/=this.C_x*(this.m+Math.cos(b)),this.m?b=l((this.m*b+Math.sin(b))/this.n):1!==this.n&&(b=l(Math.sin(b)/this.n)),f=d(f+this.long0),b=e(b)):(b=i(a.y/this.a,this.es,this.en),g=Math.abs(b),j>g?(g=Math.sin(b),c=this.long0+a.x*Math.sqrt(1-this.es*g*g)/(this.a*Math.cos(b)),f=d(c)):j>g-k&&(f=this.long0)),a.x=f,a.y=b,a},c.names=["Sinusoidal","sinu"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/asinz":6,"../common/pj_enfn":17,"../common/pj_inv_mlfn":18,"../common/pj_mlfn":19}],60:[function(a,b,c){c.init=function(){var a=this.lat0;this.lambda0=this.long0;var b=Math.sin(a),c=this.a,d=this.rf,e=1/d,f=2*e-Math.pow(e,2),g=this.e=Math.sqrt(f);this.R=this.k0*c*Math.sqrt(1-f)/(1-f*Math.pow(b,2)),this.alpha=Math.sqrt(1+f/(1-f)*Math.pow(Math.cos(a),4)),this.b0=Math.asin(b/this.alpha);var h=Math.log(Math.tan(Math.PI/4+this.b0/2)),i=Math.log(Math.tan(Math.PI/4+a/2)),j=Math.log((1+g*b)/(1-g*b));this.K=h-this.alpha*i+this.alpha*g/2*j},c.forward=function(a){var b=Math.log(Math.tan(Math.PI/4-a.y/2)),c=this.e/2*Math.log((1+this.e*Math.sin(a.y))/(1-this.e*Math.sin(a.y))),d=-this.alpha*(b+c)+this.K,e=2*(Math.atan(Math.exp(d))-Math.PI/4),f=this.alpha*(a.x-this.lambda0),g=Math.atan(Math.sin(f)/(Math.sin(this.b0)*Math.tan(e)+Math.cos(this.b0)*Math.cos(f))),h=Math.asin(Math.cos(this.b0)*Math.sin(e)-Math.sin(this.b0)*Math.cos(e)*Math.cos(f));return a.y=this.R/2*Math.log((1+Math.sin(h))/(1-Math.sin(h)))+this.y0,a.x=this.R*g+this.x0,a},c.inverse=function(a){for(var b=a.x-this.x0,c=a.y-this.y0,d=b/this.R,e=2*(Math.atan(Math.exp(c/this.R))-Math.PI/4),f=Math.asin(Math.cos(this.b0)*Math.sin(e)+Math.sin(this.b0)*Math.cos(e)*Math.cos(d)),g=Math.atan(Math.sin(d)/(Math.cos(this.b0)*Math.cos(d)-Math.sin(this.b0)*Math.tan(e))),h=this.lambda0+g/this.alpha,i=0,j=f,k=-1e3,l=0;Math.abs(j-k)>1e-7;){if(++l>20)return;i=1/this.alpha*(Math.log(Math.tan(Math.PI/4+f/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(j))/2)),k=j,j=2*Math.atan(Math.exp(i))-Math.PI/2}return a.x=h,a.y=j,a},c.names=["somerc"]},{}],61:[function(a,b,c){var d=Math.PI/2,e=1e-10,f=a("../common/sign"),g=a("../common/msfnz"),h=a("../common/tsfnz"),i=a("../common/phi2z"),j=a("../common/adjust_lon");c.ssfn_=function(a,b,c){return b*=c,Math.tan(.5*(d+a))*Math.pow((1-b)/(1+b),.5*c)},c.init=function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=e&&(this.k0=.5*(1+f(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=e&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=e&&(this.k0=.5*this.cons*g(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/h(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=g(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-d,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},c.forward=function(a){var b,c,f,g,i,k,l=a.x,m=a.y,n=Math.sin(m),o=Math.cos(m),p=j(l-this.long0);return Math.abs(Math.abs(l-this.long0)-Math.PI)<=e&&Math.abs(m+this.lat0)<=e?(a.x=NaN,a.y=NaN,a):this.sphere?(b=2*this.k0/(1+this.sinlat0*n+this.coslat0*o*Math.cos(p)),a.x=this.a*b*o*Math.sin(p)+this.x0,a.y=this.a*b*(this.coslat0*n-this.sinlat0*o*Math.cos(p))+this.y0,a):(c=2*Math.atan(this.ssfn_(m,n,this.e))-d,g=Math.cos(c),f=Math.sin(c),Math.abs(this.coslat0)<=e?(i=h(this.e,m*this.con,this.con*n),k=2*this.a*this.k0*i/this.cons,a.x=this.x0+k*Math.sin(l-this.long0),a.y=this.y0-this.con*k*Math.cos(l-this.long0),a):(Math.abs(this.sinlat0)<e?(b=2*this.a*this.k0/(1+g*Math.cos(p)),a.y=b*f):(b=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*f+this.cosX0*g*Math.cos(p))),a.y=b*(this.cosX0*f-this.sinX0*g*Math.cos(p))+this.y0),a.x=b*g*Math.sin(p)+this.x0,a))},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,f,g,h,k=Math.sqrt(a.x*a.x+a.y*a.y);if(this.sphere){var l=2*Math.atan(k/(.5*this.a*this.k0));return b=this.long0,c=this.lat0,e>=k?(a.x=b,a.y=c,a):(c=Math.asin(Math.cos(l)*this.sinlat0+a.y*Math.sin(l)*this.coslat0/k),b=j(Math.abs(this.coslat0)<e?this.lat0>0?this.long0+Math.atan2(a.x,-1*a.y):this.long0+Math.atan2(a.x,a.y):this.long0+Math.atan2(a.x*Math.sin(l),k*this.coslat0*Math.cos(l)-a.y*this.sinlat0*Math.sin(l))),a.x=b,a.y=c,a)}if(Math.abs(this.coslat0)<=e){if(e>=k)return c=this.lat0,b=this.long0,a.x=b,a.y=c,a;a.x*=this.con,a.y*=this.con,f=k*this.cons/(2*this.a*this.k0),c=this.con*i(this.e,f),b=this.con*j(this.con*this.long0+Math.atan2(a.x,-1*a.y))}else g=2*Math.atan(k*this.cosX0/(2*this.a*this.k0*this.ms1)),b=this.long0,e>=k?h=this.X0:(h=Math.asin(Math.cos(g)*this.sinX0+a.y*Math.sin(g)*this.cosX0/k),b=j(this.long0+Math.atan2(a.x*Math.sin(g),k*this.cosX0*Math.cos(g)-a.y*this.sinX0*Math.sin(g)))),c=-1*i(this.e,Math.tan(.5*(d+h)));return a.x=b,a.y=c,a},c.names=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],62:[function(a,b,c){var d=a("./gauss"),e=a("../common/adjust_lon");c.init=function(){d.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},c.forward=function(a){var b,c,f,g;return a.x=e(a.x-this.long0),d.forward.apply(this,[a]),b=Math.sin(a.y),c=Math.cos(a.y),f=Math.cos(a.x),g=this.k0*this.R2/(1+this.sinc0*b+this.cosc0*c*f),a.x=g*c*Math.sin(a.x),a.y=g*(this.cosc0*b-this.sinc0*c*f),a.x=this.a*a.x+this.x0,a.y=this.a*a.y+this.y0,a},c.inverse=function(a){var b,c,f,g,h;if(a.x=(a.x-this.x0)/this.a,a.y=(a.y-this.y0)/this.a,a.x/=this.k0,a.y/=this.k0,h=Math.sqrt(a.x*a.x+a.y*a.y)){var i=2*Math.atan2(h,this.R2);b=Math.sin(i),c=Math.cos(i),g=Math.asin(c*this.sinc0+a.y*b*this.cosc0/h),f=Math.atan2(a.x*b,h*this.cosc0*c-a.y*this.sinc0*b)}else g=this.phic0,f=0;return a.x=f,a.y=g,d.inverse.apply(this,[a]),a.x=e(a.x+this.long0),a},c.names=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative"]},{"../common/adjust_lon":5,"./gauss":46}],63:[function(a,b,c){var d=a("../common/e0fn"),e=a("../common/e1fn"),f=a("../common/e2fn"),g=a("../common/e3fn"),h=a("../common/mlfn"),i=a("../common/adjust_lon"),j=Math.PI/2,k=1e-10,l=a("../common/sign"),m=a("../common/asinz");c.init=function(){this.e0=d(this.es),this.e1=e(this.es),this.e2=f(this.es),this.e3=g(this.es),this.ml0=this.a*h(this.e0,this.e1,this.e2,this.e3,this.lat0)},c.forward=function(a){var b,c,d,e=a.x,f=a.y,g=i(e-this.long0),j=Math.sin(f),k=Math.cos(f);if(this.sphere){var l=k*Math.sin(g);if(Math.abs(Math.abs(l)-1)<1e-10)return 93;c=.5*this.a*this.k0*Math.log((1+l)/(1-l)),b=Math.acos(k*Math.cos(g)/Math.sqrt(1-l*l)),0>f&&(b=-b),d=this.a*this.k0*(b-this.lat0)}else{var m=k*g,n=Math.pow(m,2),o=this.ep2*Math.pow(k,2),p=Math.tan(f),q=Math.pow(p,2);b=1-this.es*Math.pow(j,2);var r=this.a/Math.sqrt(b),s=this.a*h(this.e0,this.e1,this.e2,this.e3,f);c=this.k0*r*m*(1+n/6*(1-q+o+n/20*(5-18*q+Math.pow(q,2)+72*o-58*this.ep2)))+this.x0,d=this.k0*(s-this.ml0+r*p*(n*(.5+n/24*(5-q+9*o+4*Math.pow(o,2)+n/30*(61-58*q+Math.pow(q,2)+600*o-330*this.ep2)))))+this.y0}return a.x=c,a.y=d,a},c.inverse=function(a){var b,c,d,e,f,g,h=6;if(this.sphere){var n=Math.exp(a.x/(this.a*this.k0)),o=.5*(n-1/n),p=this.lat0+a.y/(this.a*this.k0),q=Math.cos(p);b=Math.sqrt((1-q*q)/(1+o*o)),f=m(b),0>p&&(f=-f),g=0===o&&0===q?this.long0:i(Math.atan2(o,q)+this.long0)}else{var r=a.x-this.x0,s=a.y-this.y0;for(b=(this.ml0+s/this.k0)/this.a,c=b,e=0;!0&&(d=(b+this.e1*Math.sin(2*c)-this.e2*Math.sin(4*c)+this.e3*Math.sin(6*c))/this.e0-c,c+=d,!(Math.abs(d)<=k));e++)if(e>=h)return 95;if(Math.abs(c)<j){var t=Math.sin(c),u=Math.cos(c),v=Math.tan(c),w=this.ep2*Math.pow(u,2),x=Math.pow(w,2),y=Math.pow(v,2),z=Math.pow(y,2);b=1-this.es*Math.pow(t,2);var A=this.a/Math.sqrt(b),B=A*(1-this.es)/b,C=r/(A*this.k0),D=Math.pow(C,2);f=c-A*v*D/B*(.5-D/24*(5+3*y+10*w-4*x-9*this.ep2-D/30*(61+90*y+298*w+45*z-252*this.ep2-3*x))),g=i(this.long0+C*(1-D/6*(1+2*y+w-D/20*(5-2*w+28*y-3*x+8*this.ep2+24*z)))/u)}else f=j*l(s),g=this.long0}return a.x=g,a.y=f,a},c.names=["Transverse_Mercator","Transverse Mercator","tmerc"]},{"../common/adjust_lon":5,"../common/asinz":6,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/mlfn":14,"../common/sign":21}],64:[function(a,b,c){var d=.017453292519943295,e=a("./tmerc");c.dependsOn="tmerc",c.init=function(){this.zone&&(this.lat0=0,this.long0=(6*Math.abs(this.zone)-183)*d,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,e.init.apply(this),this.forward=e.forward,this.inverse=e.inverse)},c.names=["Universal Transverse Mercator System","utm"]},{"./tmerc":63}],65:[function(a,b,c){var d=a("../common/adjust_lon"),e=Math.PI/2,f=1e-10,g=a("../common/asinz");c.init=function(){this.R=this.a},c.forward=function(a){var b,c,h=a.x,i=a.y,j=d(h-this.long0);Math.abs(i)<=f&&(b=this.x0+this.R*j,c=this.y0);var k=g(2*Math.abs(i/Math.PI));(Math.abs(j)<=f||Math.abs(Math.abs(i)-e)<=f)&&(b=this.x0,c=i>=0?this.y0+Math.PI*this.R*Math.tan(.5*k):this.y0+Math.PI*this.R*-Math.tan(.5*k));var l=.5*Math.abs(Math.PI/j-j/Math.PI),m=l*l,n=Math.sin(k),o=Math.cos(k),p=o/(n+o-1),q=p*p,r=p*(2/n-1),s=r*r,t=Math.PI*this.R*(l*(p-s)+Math.sqrt(m*(p-s)*(p-s)-(s+m)*(q-s)))/(s+m);0>j&&(t=-t),b=this.x0+t;var u=m+p;return t=Math.PI*this.R*(r*u-l*Math.sqrt((s+m)*(m+1)-u*u))/(s+m),c=i>=0?this.y0+t:this.y0-t,a.x=b,a.y=c,a},c.inverse=function(a){var b,c,e,g,h,i,j,k,l,m,n,o,p;return a.x-=this.x0,a.y-=this.y0,n=Math.PI*this.R,e=a.x/n,g=a.y/n,h=e*e+g*g,i=-Math.abs(g)*(1+h),
+j=i-2*g*g+e*e,k=-2*i+1+2*g*g+h*h,p=g*g/k+(2*j*j*j/k/k/k-9*i*j/k/k)/27,l=(i-j*j/3/k)/k,m=2*Math.sqrt(-l/3),n=3*p/l/m,Math.abs(n)>1&&(n=n>=0?1:-1),o=Math.acos(n)/3,c=a.y>=0?(-m*Math.cos(o+Math.PI/3)-j/3/k)*Math.PI:-(-m*Math.cos(o+Math.PI/3)-j/3/k)*Math.PI,b=Math.abs(e)<f?this.long0:d(this.long0+Math.PI*(h-1+Math.sqrt(1+2*(e*e-g*g)+h*h))/2/e),a.x=b,a.y=c,a},c.names=["Van_der_Grinten_I","VanDerGrinten","vandg"]},{"../common/adjust_lon":5,"../common/asinz":6}],66:[function(a,b,c){var d=.017453292519943295,e=57.29577951308232,f=1,g=2,h=a("./datum_transform"),i=a("./adjust_axis"),j=a("./Proj"),k=a("./common/toPoint");b.exports=function l(a,b,c){function m(a,b){return(a.datum.datum_type===f||a.datum.datum_type===g)&&"WGS84"!==b.datumCode}var n;return Array.isArray(c)&&(c=k(c)),a.datum&&b.datum&&(m(a,b)||m(b,a))&&(n=new j("WGS84"),l(a,n,c),a=n),"enu"!==a.axis&&i(a,!1,c),"longlat"===a.projName?(c.x*=d,c.y*=d):(a.to_meter&&(c.x*=a.to_meter,c.y*=a.to_meter),a.inverse(c)),a.from_greenwich&&(c.x+=a.from_greenwich),c=h(a.datum,b.datum,c),b.from_greenwich&&(c.x-=b.from_greenwich),"longlat"===b.projName?(c.x*=e,c.y*=e):(b.forward(c),b.to_meter&&(c.x/=b.to_meter,c.y/=b.to_meter)),"enu"!==b.axis&&i(b,!0,c),c}},{"./Proj":2,"./adjust_axis":3,"./common/toPoint":23,"./datum_transform":31}],67:[function(a,b,c){function d(a,b,c){a[b]=c.map(function(a){var b={};return e(a,b),b}).reduce(function(a,b){return j(a,b)},{})}function e(a,b){var c;return Array.isArray(a)?(c=a.shift(),"PARAMETER"===c&&(c=a.shift()),1===a.length?Array.isArray(a[0])?(b[c]={},e(a[0],b[c])):b[c]=a[0]:a.length?"TOWGS84"===c?b[c]=a:(b[c]={},["UNIT","PRIMEM","VERT_DATUM"].indexOf(c)>-1?(b[c]={name:a[0].toLowerCase(),convert:a[1]},3===a.length&&(b[c].auth=a[2])):"SPHEROID"===c?(b[c]={name:a[0],a:a[1],rf:a[2]},4===a.length&&(b[c].auth=a[3])):["GEOGCS","GEOCCS","DATUM","VERT_CS","COMPD_CS","LOCAL_CS","FITTED_CS","LOCAL_DATUM"].indexOf(c)>-1?(a[0]=["name",a[0]],d(b,c,a)):a.every(function(a){return Array.isArray(a)})?d(b,c,a):e(a,b[c])):b[c]=!0,void 0):void(b[a]=!0)}function f(a,b){var c=b[0],d=b[1];!(c in a)&&d in a&&(a[c]=a[d],3===b.length&&(a[c]=b[2](a[c])))}function g(a){return a*i}function h(a){function b(b){var c=a.to_meter||1;return parseFloat(b,10)*c}"GEOGCS"===a.type?a.projName="longlat":"LOCAL_CS"===a.type?(a.projName="identity",a.local=!0):"object"==typeof a.PROJECTION?a.projName=Object.keys(a.PROJECTION)[0]:a.projName=a.PROJECTION,a.UNIT&&(a.units=a.UNIT.name.toLowerCase(),"metre"===a.units&&(a.units="meter"),a.UNIT.convert&&("GEOGCS"===a.type?a.DATUM&&a.DATUM.SPHEROID&&(a.to_meter=parseFloat(a.UNIT.convert,10)*a.DATUM.SPHEROID.a):a.to_meter=parseFloat(a.UNIT.convert,10))),a.GEOGCS&&(a.GEOGCS.DATUM?a.datumCode=a.GEOGCS.DATUM.name.toLowerCase():a.datumCode=a.GEOGCS.name.toLowerCase(),"d_"===a.datumCode.slice(0,2)&&(a.datumCode=a.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==a.datumCode&&"new_zealand_1949"!==a.datumCode||(a.datumCode="nzgd49"),"wgs_1984"===a.datumCode&&("Mercator_Auxiliary_Sphere"===a.PROJECTION&&(a.sphere=!0),a.datumCode="wgs84"),"_ferro"===a.datumCode.slice(-6)&&(a.datumCode=a.datumCode.slice(0,-6)),"_jakarta"===a.datumCode.slice(-8)&&(a.datumCode=a.datumCode.slice(0,-8)),~a.datumCode.indexOf("belge")&&(a.datumCode="rnb72"),a.GEOGCS.DATUM&&a.GEOGCS.DATUM.SPHEROID&&(a.ellps=a.GEOGCS.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===a.ellps.toLowerCase().slice(0,13)&&(a.ellps="intl"),a.a=a.GEOGCS.DATUM.SPHEROID.a,a.rf=parseFloat(a.GEOGCS.DATUM.SPHEROID.rf,10)),~a.datumCode.indexOf("osgb_1936")&&(a.datumCode="osgb36")),a.b&&!isFinite(a.b)&&(a.b=a.a);var c=function(b){return f(a,b)},d=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",g],["longitude_of_center","Longitude_Of_Center"],["longc","longitude_of_center",g],["x0","false_easting",b],["y0","false_northing",b],["long0","central_meridian",g],["lat0","latitude_of_origin",g],["lat0","standard_parallel_1",g],["lat1","standard_parallel_1",g],["lat2","standard_parallel_2",g],["alpha","azimuth",g],["srsCode","name"]];d.forEach(c),a.long0||!a.longc||"Albers_Conic_Equal_Area"!==a.projName&&"Lambert_Azimuthal_Equal_Area"!==a.projName||(a.long0=a.longc),a.lat_ts||!a.lat1||"Stereographic_South_Pole"!==a.projName&&"Polar Stereographic (variant B)"!==a.projName||(a.lat0=g(a.lat1>0?90:-90),a.lat_ts=a.lat1)}var i=.017453292519943295,j=a("./extend");b.exports=function(a,b){var c=JSON.parse((","+a).replace(/\s*\,\s*([A-Z_0-9]+?)(\[)/g,',["$1",').slice(1).replace(/\s*\,\s*([A-Z_0-9]+?)\]/g,',"$1"]').replace(/,\["VERTCS".+/,"")),d=c.shift(),f=c.shift();c.unshift(["name",f]),c.unshift(["type",d]),c.unshift("output");var g={};return e(c,g),h(g.output),j(b,g.output)}},{"./extend":34}],68:[function(a,b,c){function d(a){return a*(Math.PI/180)}function e(a){return 180*(a/Math.PI)}function f(a){var b,c,e,f,g,i,j,k,l,m=a.lat,n=a.lon,o=6378137,p=.00669438,q=.9996,r=d(m),s=d(n);l=Math.floor((n+180)/6)+1,180===n&&(l=60),m>=56&&64>m&&n>=3&&12>n&&(l=32),m>=72&&84>m&&(n>=0&&9>n?l=31:n>=9&&21>n?l=33:n>=21&&33>n?l=35:n>=33&&42>n&&(l=37)),b=6*(l-1)-180+3,k=d(b),c=p/(1-p),e=o/Math.sqrt(1-p*Math.sin(r)*Math.sin(r)),f=Math.tan(r)*Math.tan(r),g=c*Math.cos(r)*Math.cos(r),i=Math.cos(r)*(s-k),j=o*((1-p/4-3*p*p/64-5*p*p*p/256)*r-(3*p/8+3*p*p/32+45*p*p*p/1024)*Math.sin(2*r)+(15*p*p/256+45*p*p*p/1024)*Math.sin(4*r)-35*p*p*p/3072*Math.sin(6*r));var t=q*e*(i+(1-f+g)*i*i*i/6+(5-18*f+f*f+72*g-58*c)*i*i*i*i*i/120)+5e5,u=q*(j+e*Math.tan(r)*(i*i/2+(5-f+9*g+4*g*g)*i*i*i*i/24+(61-58*f+f*f+600*g-330*c)*i*i*i*i*i*i/720));return 0>m&&(u+=1e7),{northing:Math.round(u),easting:Math.round(t),zoneNumber:l,zoneLetter:h(m)}}function g(a){var b=a.northing,c=a.easting,d=a.zoneLetter,f=a.zoneNumber;if(0>f||f>60)return null;var h,i,j,k,l,m,n,o,p,q,r=.9996,s=6378137,t=.00669438,u=(1-Math.sqrt(1-t))/(1+Math.sqrt(1-t)),v=c-5e5,w=b;"N">d&&(w-=1e7),o=6*(f-1)-180+3,h=t/(1-t),n=w/r,p=n/(s*(1-t/4-3*t*t/64-5*t*t*t/256)),q=p+(3*u/2-27*u*u*u/32)*Math.sin(2*p)+(21*u*u/16-55*u*u*u*u/32)*Math.sin(4*p)+151*u*u*u/96*Math.sin(6*p),i=s/Math.sqrt(1-t*Math.sin(q)*Math.sin(q)),j=Math.tan(q)*Math.tan(q),k=h*Math.cos(q)*Math.cos(q),l=s*(1-t)/Math.pow(1-t*Math.sin(q)*Math.sin(q),1.5),m=v/(i*r);var x=q-i*Math.tan(q)/l*(m*m/2-(5+3*j+10*k-4*k*k-9*h)*m*m*m*m/24+(61+90*j+298*k+45*j*j-252*h-3*k*k)*m*m*m*m*m*m/720);x=e(x);var y=(m-(1+2*j+k)*m*m*m/6+(5-2*k+28*j-3*k*k+8*h+24*j*j)*m*m*m*m*m/120)/Math.cos(q);y=o+e(y);var z;if(a.accuracy){var A=g({northing:a.northing+a.accuracy,easting:a.easting+a.accuracy,zoneLetter:a.zoneLetter,zoneNumber:a.zoneNumber});z={top:A.lat,right:A.lon,bottom:x,left:y}}else z={lat:x,lon:y};return z}function h(a){var b="Z";return 84>=a&&a>=72?b="X":72>a&&a>=64?b="W":64>a&&a>=56?b="V":56>a&&a>=48?b="U":48>a&&a>=40?b="T":40>a&&a>=32?b="S":32>a&&a>=24?b="R":24>a&&a>=16?b="Q":16>a&&a>=8?b="P":8>a&&a>=0?b="N":0>a&&a>=-8?b="M":-8>a&&a>=-16?b="L":-16>a&&a>=-24?b="K":-24>a&&a>=-32?b="J":-32>a&&a>=-40?b="H":-40>a&&a>=-48?b="G":-48>a&&a>=-56?b="F":-56>a&&a>=-64?b="E":-64>a&&a>=-72?b="D":-72>a&&a>=-80&&(b="C"),b}function i(a,b){var c="00000"+a.easting,d="00000"+a.northing;return a.zoneNumber+a.zoneLetter+j(a.easting,a.northing,a.zoneNumber)+c.substr(c.length-5,b)+d.substr(d.length-5,b)}function j(a,b,c){var d=k(c),e=Math.floor(a/1e5),f=Math.floor(b/1e5)%20;return l(e,f,d)}function k(a){var b=a%q;return 0===b&&(b=q),b}function l(a,b,c){var d=c-1,e=r.charCodeAt(d),f=s.charCodeAt(d),g=e+a-1,h=f+b,i=!1;g>x&&(g=g-x+t-1,i=!0),(g===u||u>e&&g>u||(g>u||u>e)&&i)&&g++,(g===v||v>e&&g>v||(g>v||v>e)&&i)&&(g++,g===u&&g++),g>x&&(g=g-x+t-1),h>w?(h=h-w+t-1,i=!0):i=!1,(h===u||u>f&&h>u||(h>u||u>f)&&i)&&h++,(h===v||v>f&&h>v||(h>v||v>f)&&i)&&(h++,h===u&&h++),h>w&&(h=h-w+t-1);var j=String.fromCharCode(g)+String.fromCharCode(h);return j}function m(a){if(a&&0===a.length)throw"MGRSPoint coverting from nothing";for(var b,c=a.length,d=null,e="",f=0;!/[A-Z]/.test(b=a.charAt(f));){if(f>=2)throw"MGRSPoint bad conversion from: "+a;e+=b,f++}var g=parseInt(e,10);if(0===f||f+3>c)throw"MGRSPoint bad conversion from: "+a;var h=a.charAt(f++);if("A">=h||"B"===h||"Y"===h||h>="Z"||"I"===h||"O"===h)throw"MGRSPoint zone letter "+h+" not handled: "+a;d=a.substring(f,f+=2);for(var i=k(g),j=n(d.charAt(0),i),l=o(d.charAt(1),i);l<p(h);)l+=2e6;var m=c-f;if(m%2!==0)throw"MGRSPoint has to have an even number \nof digits after the zone letter and two 100km letters - front \nhalf for easting meters, second half for \nnorthing meters"+a;var q,r,s,t,u,v=m/2,w=0,x=0;return v>0&&(q=1e5/Math.pow(10,v),r=a.substring(f,f+v),w=parseFloat(r)*q,s=a.substring(f+v),x=parseFloat(s)*q),t=w+j,u=x+l,{easting:t,northing:u,zoneLetter:h,zoneNumber:g,accuracy:q}}function n(a,b){for(var c=r.charCodeAt(b-1),d=1e5,e=!1;c!==a.charCodeAt(0);){if(c++,c===u&&c++,c===v&&c++,c>x){if(e)throw"Bad character: "+a;c=t,e=!0}d+=1e5}return d}function o(a,b){if(a>"V")throw"MGRSPoint given invalid Northing "+a;for(var c=s.charCodeAt(b-1),d=0,e=!1;c!==a.charCodeAt(0);){if(c++,c===u&&c++,c===v&&c++,c>w){if(e)throw"Bad character: "+a;c=t,e=!0}d+=1e5}return d}function p(a){var b;switch(a){case"C":b=11e5;break;case"D":b=2e6;break;case"E":b=28e5;break;case"F":b=37e5;break;case"G":b=46e5;break;case"H":b=55e5;break;case"J":b=64e5;break;case"K":b=73e5;break;case"L":b=82e5;break;case"M":b=91e5;break;case"N":b=0;break;case"P":b=8e5;break;case"Q":b=17e5;break;case"R":b=26e5;break;case"S":b=35e5;break;case"T":b=44e5;break;case"U":b=53e5;break;case"V":b=62e5;break;case"W":b=7e6;break;case"X":b=79e5;break;default:b=-1}if(b>=0)return b;throw"Invalid zone letter: "+a}var q=6,r="AJSAJS",s="AFAFAF",t=65,u=73,v=79,w=86,x=90;c.forward=function(a,b){return b=b||5,i(f({lat:a[1],lon:a[0]}),b)},c.inverse=function(a){var b=g(m(a.toUpperCase()));return b.lat&&b.lon?[b.lon,b.lat,b.lon,b.lat]:[b.left,b.bottom,b.right,b.top]},c.toPoint=function(a){var b=g(m(a.toUpperCase()));return b.lat&&b.lon?[b.lon,b.lat]:[(b.left+b.right)/2,(b.top+b.bottom)/2]}},{}],69:[function(a,b,c){b.exports={name:"proj4",version:"2.3.15",description:"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.",main:"lib/index.js",directories:{test:"test",doc:"docs"},scripts:{test:"./node_modules/istanbul/lib/cli.js test ./node_modules/mocha/bin/_mocha test/test.js"},repository:{type:"git",url:"git://github.com/proj4js/proj4js.git"},author:"",license:"MIT",jam:{main:"dist/proj4.js",include:["dist/proj4.js","README.md","AUTHORS","LICENSE.md"]},devDependencies:{"grunt-cli":"~0.1.13",grunt:"~0.4.2","grunt-contrib-connect":"~0.6.0","grunt-contrib-jshint":"~0.8.0",chai:"~1.8.1",mocha:"~1.17.1","grunt-mocha-phantomjs":"~0.4.0",browserify:"~12.0.1","grunt-browserify":"~4.0.1","grunt-contrib-uglify":"~0.11.1",curl:"git://github.com/cujojs/curl.git",istanbul:"~0.2.4",tin:"~0.4.0"},dependencies:{mgrs:"~0.0.2"}}},{}]},{},[36])(36)});</script>
+<style type="text/css">.loading {margin-top: 10em;text-align: center;color: gray;}#play-controls {position: absolute;bottom: 0;text-align: center;min-width: 310px;max-width: 800px;margin: 0 auto;padding: 5px 0 1em 0;}#play-controls * {display: inline-block;vertical-align: middle;}#play-pause-button {color: #666666;width: 30px;height: 30px;text-align: center;font-size: 15px;cursor: pointer;border: 1px solid silver;border-radius: 3px;background: #f8f8f8;}#play-range {margin: 2.5%;width: 70%;}#play-output {color: #666666;font-family: Arial, Helvetica, sans-serif;}</style>
+<style type="text/css">*, *:after, *:before {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}body {margin: 0;}[class*='col-'] {float: left;min-height: 1px;padding-right: 0px; }.grid {width: 100%;margin: 0 auto;overflow: hidden;}.grid:after {content: "";display: table;clear: both;}.grid-pad {padding-top: 0px;padding-left: 0px; padding-right: 0; }.push-right {float: right;}.col-1-1 {width: 100%;}.col-2-3, .col-8-12 {width: 66.66%;}.col-1-2, .col-6-12 {width: 50%;}.col-1-3, .col-4-12 {width: 33.33%;}.col-1-4, .col-3-12 {width: 25%;}.col-1-5 {width: 20%;}.col-1-6, .col-2-12 {width: 16.667%;}.col-1-7 {width: 14.28%;}.col-1-8 {width: 12.5%;}.col-1-9 {width: 11.1%;}.col-1-10 {width: 10%;}.col-1-11 {width: 9.09%;}.col-1-12 {width: 8.33%}.col-11-12 {width: 91.66%}.col-10-12 {width: 83.333%;}.col-9-12 {width: 75%;}.col-5-12 {width: 41.66%;}.col-7-12 {width: 58.33%}.push-2-3, .push-8-12 {margin-left: 66.66%;}.push-1-2, .push-6-12 {margin-left: 50%;}.push-1-3, .push-4-12 {margin-left: 33.33%;}.push-1-4, .push-3-12 {margin-left: 25%;}.push-1-5 {margin-left: 20%;}.push-1-6, .push-2-12 {margin-left: 16.667%;}.push-1-7 {margin-left: 14.28%;}.push-1-8 {margin-left: 12.5%;}.push-1-9 {margin-left: 11.1%;}.push-1-10 {margin-left: 10%;}.push-1-11 {margin-left: 9.09%;}.push-1-12 {margin-left: 8.33%}@media handheld, only screen and (max-width: 767px) {.grid {width: 100%;min-width: 0;margin-left: 0;margin-right: 0;padding-left: 20px; padding-right: 10px; }[class*='col-'] {width: auto;float: none;margin: 10px 0;padding-left: 0;padding-right: 10px; }[class*='mobile-col-'] {float: left;margin: 0 0 10px;padding-left: 0;padding-right: 10px; padding-bottom: 0;}.mobile-col-1-1 {width: 100%;}.mobile-col-2-3, .mobile-col-8-12 {width: 66.66%;}.mobile-col-1-2, .mobile-col-6-12 {width: 50%;}.mobile-col-1-3, .mobile-col-4-12 {width: 33.33%;}.mobile-col-1-4, .mobile-col-3-12 {width: 25%;}.mobile-col-1-5 {width: 20%;}.mobile-col-1-6, .mobile-col-2-12 {width: 16.667%;}.mobile-col-1-7 {width: 14.28%;}.mobile-col-1-8 {width: 12.5%;}.mobile-col-1-9 {width: 11.1%;}.mobile-col-1-10 {width: 10%;}.mobile-col-1-11 {width: 9.09%;}.mobile-col-1-12 {width: 8.33%}.mobile-col-11-12 {width: 91.66%}.mobile-col-10-12 {width: 83.333%;}.mobile-col-9-12 {width: 75%;}.mobile-col-5-12 {width: 41.66%;}.mobile-col-7-12 {width: 58.33%}.hide-on-mobile {display: none !important;width: 0;height: 0;}}</style>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ (c) 2009-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(O,J){"object"===typeof module&&module.exports?module.exports=O.document?J(O):J:"function"===typeof define&&define.amd?define(function(){return J(O)}):O.Highcharts=J(O)})("undefined"!==typeof window?window:this,function(O){var J=function(){var a="undefined"===typeof O?window:O,y=a.document,G=a.navigator&&a.navigator.userAgent||"",E=y&&y.createElementNS&&!!y.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,h=/(edge|msie|trident)/i.test(G)&&!a.opera,c=-1!==G.indexOf("Firefox"),
+r=-1!==G.indexOf("Chrome"),u=c&&4>parseInt(G.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highcharts",version:"7.0.1",deg2rad:2*Math.PI/360,doc:y,hasBidiBug:u,hasTouch:y&&void 0!==y.documentElement.ontouchstart,isMS:h,isWebKit:-1!==G.indexOf("AppleWebKit"),isFirefox:c,isChrome:r,isSafari:!r&&-1!==G.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(G),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:E,win:a,marginNames:["plotTop",
+"marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var y=a.charts,G=a.doc,E=a.win;a.error=function(h,c,r){var u=a.isNumber(h)?"Highcharts error #"+h+": www.highcharts.com/errors/"+h:h;r&&a.fireEvent(r,"displayError",{code:h});if(c)throw Error(u);E.console&&console.log(u)};a.Fx=function(a,c,r){this.options=c;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],c=this.paths[1],r=[],u=this.now,v=a.length,w;if(1===u)r=this.toD;
+else if(v===c.length&&1>u)for(;v--;)w=parseFloat(a[v]),r[v]=isNaN(w)?c[v]:u*parseFloat(c[v]-w)+w;else r=c;this.elem.attr("d",r,null,!0)},update:function(){var a=this.elem,c=this.prop,r=this.now,u=this.options.step;if(this[c+"Setter"])this[c+"Setter"]();else a.attr?a.element&&a.attr(c,r,null,!0):a.style[c]=r+this.unit;u&&u.call(a,r,this)},run:function(h,c,r){var u=this,v=u.options,w=function(a){return w.stopped?!1:u.step(a)},n=E.requestAnimationFrame||function(a){setTimeout(a,13)},g=function(){for(var d=
+0;d<a.timers.length;d++)a.timers[d]()||a.timers.splice(d--,1);a.timers.length&&n(g)};h!==c||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=h,this.end=c,this.unit=r,this.now=this.start,this.pos=0,w.elem=this.elem,w.prop=this.prop,w()&&1===a.timers.push(w)&&n(g)):(delete v.curAnim[this.prop],v.complete&&0===Object.keys(v.curAnim).length&&v.complete.call(this.elem))},step:function(h){var c=+new Date,r,u=this.options,v=this.elem,w=u.complete,n=u.duration,g=u.curAnim;v.attr&&
+!v.element?h=!1:h||c>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),r=g[this.prop]=!0,a.objectEach(g,function(a){!0!==a&&(r=!1)}),r&&w&&w.call(v),h=!1):(this.pos=u.easing((c-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),h=!0);return h},initPath:function(h,c,r){function u(a){var b,k;for(f=a.length;f--;)b="M"===a[f]||"L"===a[f],k=/[a-zA-Z]/.test(a[f+3]),b&&k&&a.splice(f+1,0,a[f+1],a[f+2],a[f+1],a[f+2])}function v(a,l){for(;a.length<b;){a[0]=l[b-a.length];
+var k=a.slice(0,p);[].splice.apply(a,[0,0].concat(k));x&&(k=a.slice(a.length-p),[].splice.apply(a,[a.length,0].concat(k)),f--)}a[0]="M"}function w(a,f){for(var k=(b-a.length)/p;0<k&&k--;)l=a.slice().splice(a.length/t-p,p*t),l[0]=f[b-p-k*p],m&&(l[p-6]=l[p-2],l[p-5]=l[p-1]),[].splice.apply(a,[a.length/t,0].concat(l)),x&&k--}c=c||"";var n,g=h.startX,d=h.endX,m=-1<c.indexOf("C"),p=m?7:3,b,l,f;c=c.split(" ");r=r.slice();var x=h.isArea,t=x?2:1,H;m&&(u(c),u(r));if(g&&d){for(f=0;f<g.length;f++)if(g[f]===
+d[0]){n=f;break}else if(g[0]===d[d.length-g.length+f]){n=f;H=!0;break}void 0===n&&(c=[])}c.length&&a.isNumber(n)&&(b=r.length+n*t*p,H?(v(c,r),w(r,c)):(v(r,c),w(c,r)));return[c,r]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var h,c=arguments,r,u={},v=function(c,n){"object"!==typeof c&&(c={});a.objectEach(n,function(g,d){!a.isObject(g,!0)||
+a.isClass(g)||a.isDOMElement(g)?c[d]=n[d]:c[d]=v(c[d]||{},g)});return c};!0===c[0]&&(u=c[1],c=Array.prototype.slice.call(c,2));r=c.length;for(h=0;h<r;h++)u=v(u,c[h]);return u};a.pInt=function(a,c){return parseInt(a,c||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(h,c){return!!h&&"object"===typeof h&&(!c||!a.isArray(h))};a.isDOMElement=function(h){return a.isObject(h)&&
+"number"===typeof h.nodeType};a.isClass=function(h){var c=h&&h.constructor;return!(!a.isObject(h,!0)||a.isDOMElement(h)||!c||!c.name||"Object"===c.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,c){for(var h=a.length;h--;)if(a[h]===c){a.splice(h,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(h,c,r){var u;a.isString(c)?a.defined(r)?h.setAttribute(c,r):h&&h.getAttribute&&((u=h.getAttribute(c))||"class"!==
+c||(u=h.getAttribute(c+"Name"))):a.defined(c)&&a.isObject(c)&&a.objectEach(c,function(a,c){h.setAttribute(c,a)});return u};a.splat=function(h){return a.isArray(h)?h:[h]};a.syncTimeout=function(a,c,r){if(c)return setTimeout(a,c,r);a.call(0,r)};a.clearTimeout=function(h){a.defined(h)&&clearTimeout(h)};a.extend=function(a,c){var h;a||(a={});for(h in c)a[h]=c[h];return a};a.pick=function(){var a=arguments,c,r,u=a.length;for(c=0;c<u;c++)if(r=a[c],void 0!==r&&null!==r)return r};a.css=function(h,c){a.isMS&&
+!a.svg&&c&&void 0!==c.opacity&&(c.filter="alpha(opacity\x3d"+100*c.opacity+")");a.extend(h.style,c)};a.createElement=function(h,c,r,u,v){h=G.createElement(h);var w=a.css;c&&a.extend(h,c);v&&w(h,{padding:0,border:"none",margin:0});r&&w(h,r);u&&u.appendChild(h);return h};a.extendClass=function(h,c){var r=function(){};r.prototype=new h;a.extend(r.prototype,c);return r};a.pad=function(a,c,r){return Array((c||2)+1-String(a).replace("-","").length).join(r||0)+a};a.relativeLength=function(a,c,r){return/%$/.test(a)?
+c*parseFloat(a)/100+(r||0):parseFloat(a)};a.wrap=function(a,c,r){var h=a[c];a[c]=function(){var a=Array.prototype.slice.call(arguments),c=arguments,n=this;n.proceed=function(){h.apply(n,arguments.length?arguments:c)};a.unshift(h);a=r.apply(this,a);n.proceed=null;return a}};a.datePropsToTimestamps=function(h){a.objectEach(h,function(c,r){a.isObject(c)&&"function"===typeof c.getTime?h[r]=c.getTime():(a.isObject(c)||a.isArray(c))&&a.datePropsToTimestamps(c)})};a.formatSingle=function(h,c,r){var u=/\.([0-9])/,
+v=a.defaultOptions.lang;/f$/.test(h)?(r=(r=h.match(u))?r[1]:-1,null!==c&&(c=a.numberFormat(c,r,v.decimalPoint,-1<h.indexOf(",")?v.thousandsSep:""))):c=(r||a.time).dateFormat(h,c);return c};a.format=function(h,c,r){for(var u="{",v=!1,w,n,g,d,m=[],p;h;){u=h.indexOf(u);if(-1===u)break;w=h.slice(0,u);if(v){w=w.split(":");n=w.shift().split(".");d=n.length;p=c;for(g=0;g<d;g++)p&&(p=p[n[g]]);w.length&&(p=a.formatSingle(w.join(":"),p,r));m.push(p)}else m.push(w);h=h.slice(u+1);u=(v=!v)?"}":"{"}m.push(h);
+return m.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(h,c,r,u,v){var w,n=h;r=a.pick(r,1);w=h/r;c||(c=v?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===u&&(1===r?c=c.filter(function(a){return 0===a%1}):.1>=r&&(c=[1/r])));for(u=0;u<c.length&&!(n=c[u],v&&n*r>=h||!v&&w<=(c[u]+(c[u+1]||c[u]))/2);u++);return n=a.correctFloat(n*r,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,c){var h=a.length,u,v;for(v=0;v<
+h;v++)a[v].safeI=v;a.sort(function(a,n){u=c(a,n);return 0===u?a.safeI-n.safeI:u});for(v=0;v<h;v++)delete a[v].safeI};a.arrayMin=function(a){for(var c=a.length,h=a[0];c--;)a[c]<h&&(h=a[c]);return h};a.arrayMax=function(a){for(var c=a.length,h=a[0];c--;)a[c]>h&&(h=a[c]);return h};a.destroyObjectProperties=function(h,c){a.objectEach(h,function(a,u){a&&a!==c&&a.destroy&&a.destroy();delete h[u]})};a.discardElement=function(h){var c=a.garbageBin;c||(c=a.createElement("div"));h&&c.appendChild(h);c.innerHTML=
+""};a.correctFloat=function(a,c){return parseFloat(a.toPrecision(c||14))};a.setAnimation=function(h,c){c.renderer.globalAnimation=a.pick(h,c.options.chart.animation,!0)};a.animObject=function(h){return a.isObject(h)?a.merge(h):{duration:h?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(h,c,r,u){h=+h||0;c=+c;var v=a.defaultOptions.lang,w=(h.toString().split(".")[1]||"").split("e")[0].length,n,g,d=h.toString().split("e");
+-1===c?c=Math.min(w,20):a.isNumber(c)?c&&d[1]&&0>d[1]&&(n=c+ +d[1],0<=n?(d[0]=(+d[0]).toExponential(n).split("e")[0],c=n):(d[0]=d[0].split(".")[0]||0,h=20>c?(d[0]*Math.pow(10,d[1])).toFixed(c):0,d[1]=0)):c=2;g=(Math.abs(d[1]?d[0]:h)+Math.pow(10,-Math.max(c,w)-1)).toFixed(c);w=String(a.pInt(g));n=3<w.length?w.length%3:0;r=a.pick(r,v.decimalPoint);u=a.pick(u,v.thousandsSep);h=(0>h?"-":"")+(n?w.substr(0,n)+u:"");h+=w.substr(n).replace(/(\d{3})(?=\d)/g,"$1"+u);c&&(h+=r+g.slice(-c));d[1]&&0!==+h&&(h+=
+"e"+d[1]);return h};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(h,c,r){if("width"===c)return Math.max(0,Math.min(h.offsetWidth,h.scrollWidth,h.getBoundingClientRect?Math.floor(h.getBoundingClientRect().width):Infinity)-a.getStyle(h,"padding-left")-a.getStyle(h,"padding-right"));if("height"===c)return Math.max(0,Math.min(h.offsetHeight,h.scrollHeight)-a.getStyle(h,"padding-top")-a.getStyle(h,"padding-bottom"));E.getComputedStyle||a.error(27,!0);if(h=E.getComputedStyle(h,
+void 0))h=h.getPropertyValue(c),a.pick(r,"opacity"!==c)&&(h=a.pInt(h));return h};a.inArray=function(a,c,r){return c.indexOf(a,r)};a.find=Array.prototype.find?function(a,c){return a.find(c)}:function(a,c){var h,u=a.length;for(h=0;h<u;h++)if(c(a[h],h))return a[h]};a.keys=Object.keys;a.offset=function(a){var c=G.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(E.pageYOffset||c.scrollTop)-(c.clientTop||0),left:a.left+(E.pageXOffset||c.scrollLeft)-
+(c.clientLeft||0)}};a.stop=function(h,c){for(var r=a.timers.length;r--;)a.timers[r].elem!==h||c&&c!==a.timers[r].prop||(a.timers[r].stopped=!0)};a.objectEach=function(a,c,r){for(var h in a)a.hasOwnProperty(h)&&c.call(r||a[h],a[h],h,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(h,c){a[c]=function(a){return Array.prototype[h].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(h,c,r,u){var v,w=h.addEventListener||a.addEventListenerPolyfill;v="function"===
+typeof h&&h.prototype?h.prototype.protoEvents=h.prototype.protoEvents||{}:h.hcEvents=h.hcEvents||{};a.Point&&h instanceof a.Point&&h.series&&h.series.chart&&(h.series.chart.runTrackerClick=!0);w&&w.call(h,c,r,!1);v[c]||(v[c]=[]);v[c].push(r);u&&a.isNumber(u.order)&&(r.order=u.order,v[c].sort(function(a,g){return a.order-g.order}));return function(){a.removeEvent(h,c,r)}};a.removeEvent=function(h,c,r){function u(g,d){var m=h.removeEventListener||a.removeEventListenerPolyfill;m&&m.call(h,g,d,!1)}function v(g){var d,
+m;h.nodeName&&(c?(d={},d[c]=!0):d=g,a.objectEach(d,function(a,b){if(g[b])for(m=g[b].length;m--;)u(b,g[b][m])}))}var w,n;["protoEvents","hcEvents"].forEach(function(a){var d=h[a];d&&(c?(w=d[c]||[],r?(n=w.indexOf(r),-1<n&&(w.splice(n,1),d[c]=w),u(c,r)):(v(d),d[c]=[])):(v(d),h[a]={}))})};a.fireEvent=function(h,c,r,u){var v,w,n,g,d;r=r||{};G.createEvent&&(h.dispatchEvent||h.fireEvent)?(v=G.createEvent("Events"),v.initEvent(c,!0,!0),a.extend(v,r),h.dispatchEvent?h.dispatchEvent(v):h.fireEvent(c,v)):["protoEvents",
+"hcEvents"].forEach(function(m){if(h[m])for(w=h[m][c]||[],n=w.length,r.target||a.extend(r,{preventDefault:function(){r.defaultPrevented=!0},target:h,type:c}),g=0;g<n;g++)(d=w[g])&&!1===d.call(h,r)&&r.preventDefault()});u&&!r.defaultPrevented&&u.call(h,r)};a.animate=function(h,c,r){var u,v="",w,n,g;a.isObject(r)||(g=arguments,r={duration:g[2],easing:g[3],complete:g[4]});a.isNumber(r.duration)||(r.duration=400);r.easing="function"===typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine;r.curAnim=
+a.merge(c);a.objectEach(c,function(d,g){a.stop(h,g);n=new a.Fx(h,r,g);w=null;"d"===g?(n.paths=n.initPath(h,h.d,c.d),n.toD=c.d,u=0,w=1):h.attr?u=h.attr(g):(u=parseFloat(a.getStyle(h,g))||0,"opacity"!==g&&(v="px"));w||(w=d);w&&w.match&&w.match("px")&&(w=w.replace(/px/g,""));n.run(u,w,v)})};a.seriesType=function(h,c,r,u,v){var w=a.getOptions(),n=a.seriesTypes;w.plotOptions[h]=a.merge(w.plotOptions[c],r);n[h]=a.extendClass(n[c]||function(){},u);n[h].prototype.type=h;v&&(n[h].prototype.pointClass=a.extendClass(a.Point,
+v));return n[h]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),c=0;return function(){return"highcharts-"+a+"-"+c++}}();a.isFunction=function(a){return"function"===typeof a};E.jQuery&&(E.jQuery.fn.highcharts=function(){var h=[].slice.call(arguments);if(this[0])return h[0]?(new (a[a.isString(h[0])?h.shift():"Chart"])(this[0],h[0],h[1]),this):y[a.attr(this[0],"data-highcharts-chart")]})})(J);(function(a){var y=a.isNumber,G=a.merge,E=a.pInt;a.Color=function(h){if(!(this instanceof
+a.Color))return new a.Color(h);this.init(h)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[E(a[1]),E(a[2]),E(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[E(a[1]),E(a[2]),E(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(h){var c,r,u,v;if((this.input=h=this.names[h&&h.toLowerCase?h.toLowerCase():
+""]||h)&&h.stops)this.stops=h.stops.map(function(c){return new a.Color(c[1])});else if(h&&h.charAt&&"#"===h.charAt()&&(c=h.length,h=parseInt(h.substr(1),16),7===c?r=[(h&16711680)>>16,(h&65280)>>8,h&255,1]:4===c&&(r=[(h&3840)>>4|(h&3840)>>8,(h&240)>>4|h&240,(h&15)<<4|h&15,1])),!r)for(u=this.parsers.length;u--&&!r;)v=this.parsers[u],(c=v.regex.exec(h))&&(r=v.parse(c));this.rgba=r||[]},get:function(a){var c=this.input,h=this.rgba,u;this.stops?(u=G(c),u.stops=[].concat(u.stops),this.stops.forEach(function(c,
+h){u.stops[h]=[u.stops[h][0],c.get(a)]})):u=h&&y(h[0])?"rgb"===a||!a&&1===h[3]?"rgb("+h[0]+","+h[1]+","+h[2]+")":"a"===a?h[3]:"rgba("+h.join(",")+")":c;return u},brighten:function(a){var c,h=this.rgba;if(this.stops)this.stops.forEach(function(c){c.brighten(a)});else if(y(a)&&0!==a)for(c=0;3>c;c++)h[c]+=E(255*a),0>h[c]&&(h[c]=0),255<h[c]&&(h[c]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,c){var h=this.rgba,u=a.rgba;u.length&&h&&h.length?(a=1!==u[3]||1!==
+h[3],c=(a?"rgba(":"rgb(")+Math.round(u[0]+(h[0]-u[0])*(1-c))+","+Math.round(u[1]+(h[1]-u[1])*(1-c))+","+Math.round(u[2]+(h[2]-u[2])*(1-c))+(a?","+(u[3]+(h[3]-u[3])*(1-c)):"")+")"):c=a.input||"none";return c}};a.color=function(h){return new a.Color(h)}})(J);(function(a){var y,G,E=a.addEvent,h=a.animate,c=a.attr,r=a.charts,u=a.color,v=a.css,w=a.createElement,n=a.defined,g=a.deg2rad,d=a.destroyObjectProperties,m=a.doc,p=a.extend,b=a.erase,l=a.hasTouch,f=a.isArray,x=a.isFirefox,t=a.isMS,H=a.isObject,
+F=a.isString,z=a.isWebKit,k=a.merge,A=a.noop,D=a.objectEach,B=a.pick,e=a.pInt,q=a.removeEvent,L=a.splat,I=a.stop,R=a.svg,K=a.SVG_NS,M=a.symbolSizes,S=a.win;y=a.SVGElement=function(){return this};p(y.prototype,{opacity:1,SVG_NS:K,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(a,e){this.element="span"===e?w(e):m.createElementNS(this.SVG_NS,e);this.renderer=a},animate:function(e,q,
+b){q=a.animObject(B(q,this.renderer.globalAnimation,!0));0!==q.duration?(b&&(q.complete=b),h(this,e,q)):(this.attr(e,null,b),q.step&&q.step.call(this));return this},complexColor:function(e,q,b){var C=this.renderer,l,d,p,g,A,K,m,N,x,c,t,I=[],L;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){e.radialGradient?d="radialGradient":e.linearGradient&&(d="linearGradient");d&&(p=e[d],A=C.gradients,m=e.stops,c=b.radialReference,f(p)&&(e[d]=p={x1:p[0],y1:p[1],x2:p[2],y2:p[3],gradientUnits:"userSpaceOnUse"}),
+"radialGradient"===d&&c&&!n(p.gradientUnits)&&(g=p,p=k(p,C.getRadialAttr(c,g),{gradientUnits:"userSpaceOnUse"})),D(p,function(a,e){"id"!==e&&I.push(e,a)}),D(m,function(a){I.push(a)}),I=I.join(","),A[I]?t=A[I].attr("id"):(p.id=t=a.uniqueKey(),A[I]=K=C.createElement(d).attr(p).add(C.defs),K.radAttr=g,K.stops=[],m.forEach(function(e){0===e[1].indexOf("rgba")?(l=a.color(e[1]),N=l.get("rgb"),x=l.get("a")):(N=e[1],x=1);e=C.createElement("stop").attr({offset:e[0],"stop-color":N,"stop-opacity":x}).add(K);
+K.stops.push(e)})),L="url("+C.url+"#"+t+")",b.setAttribute(q,L),b.gradient=I,e.toString=function(){return L})})},applyTextOutline:function(e){var C=this.element,q,f,k,l,d;-1!==e.indexOf("contrast")&&(e=e.replace(/contrast/g,this.renderer.getContrast(C.style.fill)));e=e.split(" ");f=e[e.length-1];if((k=e[0])&&"none"!==k&&a.svg){this.fakeTS=!0;e=[].slice.call(C.getElementsByTagName("tspan"));this.ySetter=this.xSetter;k=k.replace(/(^[\d\.]+)(.*?)$/g,function(a,e,C){return 2*e+C});for(d=e.length;d--;)q=
+e[d],"highcharts-text-outline"===q.getAttribute("class")&&b(e,C.removeChild(q));l=C.firstChild;e.forEach(function(a,e){0===e&&(a.setAttribute("x",C.getAttribute("x")),e=C.getAttribute("y"),a.setAttribute("y",e||0),null===e&&C.setAttribute("y",0));a=a.cloneNode(1);c(a,{"class":"highcharts-text-outline",fill:f,stroke:f,"stroke-width":k,"stroke-linejoin":"round"});C.insertBefore(a,l)})}},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),attr:function(e,q,b,
+f){var C,k=this.element,l,d=this,p,g,A=this.symbolCustomAttribs;"string"===typeof e&&void 0!==q&&(C=e,e={},e[C]=q);"string"===typeof e?d=(this[e+"Getter"]||this._defaultGetter).call(this,e,k):(D(e,function(C,q){p=!1;f||I(this,q);this.symbolName&&-1!==a.inArray(q,A)&&(l||(this.symbolAttr(e),l=!0),p=!0);!this.rotation||"x"!==q&&"y"!==q||(this.doTransform=!0);p||(g=this[q+"Setter"]||this._defaultSetter,g.call(this,C,q,k),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(q)&&
+this.updateShadows(q,C,g))},this),this.afterSetters());b&&b.call(this);return d},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,e,q){for(var C=this.shadows,b=C.length;b--;)q.call(C[b],"height"===a?Math.max(e-(C[b].cutHeight||0),0):"d"===a?this.d:e,a,C[b])},addClass:function(a,e){var C=this.attr("class")||"";-1===C.indexOf(a)&&(e||(a=(C+(C?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==
+(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var e=this;"x y r start end width height innerR anchorX anchorY".split(" ").forEach(function(C){e[C]=B(a[C],e[C])});e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,e){var C;e=e||a.strokeWidth||0;C=Math.round(e)%
+2/2;a.x=Math.floor(a.x||this.x||0)+C;a.y=Math.floor(a.y||this.y||0)+C;a.width=Math.floor((a.width||this.width||0)-2*C);a.height=Math.floor((a.height||this.height||0)-2*C);n(a.strokeWidth)&&(a.strokeWidth=e);return a},css:function(a){var C=this.styles,q={},b=this.element,k,f="",l,d=!C,g=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);C&&D(a,function(a,e){a!==C[e]&&(q[e]=a,d=!0)});d&&(C&&(a=p(C,q)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===b.nodeName.toLowerCase()&&
+a.width&&(k=this.textWidth=e(a.width))),this.styles=a,k&&!R&&this.renderer.forExport&&delete a.width,b.namespaceURI===this.SVG_NS?(l=function(a,e){return"-"+e.toLowerCase()},D(a,function(a,e){-1===g.indexOf(e)&&(f+=e.replace(/([A-Z])/g,l)+":"+a+";")}),f&&c(b,"style",f)):v(b,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return S.getComputedStyle(this.element||this,"").getPropertyValue(a)},
+strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var a=this.getStyle("stroke-width"),q;a.indexOf("px")===a.length-2?a=e(a):(q=m.createElementNS(K,"rect"),c(q,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(q),a=q.getBBox().width,q.parentNode.removeChild(q));return a},on:function(a,e){var q=this,C=q.element;l&&"click"===a?(C.ontouchstart=function(a){q.touchEventFired=Date.now();a.preventDefault();e.call(C,a)},C.onclick=function(a){(-1===S.navigator.userAgent.indexOf("Android")||
+1100<Date.now()-(q.touchEventFired||0))&&e.call(C,a)}):C["on"+a]=e;return this},setRadialReference:function(a){var e=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(a,e.radAttr));return this},translate:function(a,e){return this.attr({translateX:a,translateY:e})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,e=this.translateY||0,q=this.scaleX,
+b=this.scaleY,f=this.inverted,k=this.rotation,l=this.matrix,d=this.element;f&&(a+=this.width,e+=this.height);a=["translate("+a+","+e+")"];n(l)&&a.push("matrix("+l.join(",")+")");f?a.push("rotate(90) scale(-1,1)"):k&&a.push("rotate("+k+" "+B(this.rotationOriginX,d.getAttribute("x"),0)+" "+B(this.rotationOriginY,d.getAttribute("y")||0)+")");(n(q)||n(b))&&a.push("scale("+B(q,1)+" "+B(b,1)+")");a.length&&d.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);
+return this},align:function(a,e,q){var C,f,k,l,d={};f=this.renderer;k=f.alignedObjects;var p,g;if(a){if(this.alignOptions=a,this.alignByTranslate=e,!q||F(q))this.alignTo=C=q||"renderer",b(k,this),k.push(this),q=null}else a=this.alignOptions,e=this.alignByTranslate,C=this.alignTo;q=B(q,f[C],f);C=a.align;f=a.verticalAlign;k=(q.x||0)+(a.x||0);l=(q.y||0)+(a.y||0);"right"===C?p=1:"center"===C&&(p=2);p&&(k+=(q.width-(a.width||0))/p);d[e?"translateX":"x"]=Math.round(k);"bottom"===f?g=1:"middle"===f&&(g=
+2);g&&(l+=(q.height-(a.height||0))/g);d[e?"translateY":"y"]=Math.round(l);this[this.placed?"animate":"attr"](d);this.placed=!0;this.alignAttr=d;return this},getBBox:function(a,e){var q,C=this.renderer,b,f=this.element,k=this.styles,l,d=this.textStr,A,K=C.cache,m=C.cacheKeys,x=f.namespaceURI===this.SVG_NS,c;e=B(e,this.rotation);b=e*g;l=C.styledMode?f&&y.prototype.getStyle.call(f,"font-size"):k&&k.fontSize;n(d)&&(c=d.toString(),-1===c.indexOf("\x3c")&&(c=c.replace(/[0-9]/g,"0")),c+=["",e||0,l,this.textWidth,
+k&&k.textOverflow].join());c&&!a&&(q=K[c]);if(!q){if(x||C.forExport){try{(A=this.fakeTS&&function(a){[].forEach.call(f.querySelectorAll(".highcharts-text-outline"),function(e){e.style.display=a})})&&A("none"),q=f.getBBox?p({},f.getBBox()):{width:f.offsetWidth,height:f.offsetHeight},A&&A("")}catch(W){}if(!q||0>q.width)q={width:0,height:0}}else q=this.htmlGetBBox();C.isSVG&&(a=q.width,C=q.height,x&&(q.height=C={"11px,17":14,"13px,20":16}[k&&k.fontSize+","+Math.round(C)]||C),e&&(q.width=Math.abs(C*Math.sin(b))+
+Math.abs(a*Math.cos(b)),q.height=Math.abs(C*Math.cos(b))+Math.abs(a*Math.sin(b))));if(c&&0<q.height){for(;250<m.length;)delete K[m.shift()];K[c]||m.push(c);K[c]=q}}return q},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var e=this;e.animate({opacity:0},{duration:a||150,complete:function(){e.attr({y:-9999})}})},add:function(a){var e=this.renderer,q=this.element,C;a&&(this.parentGroup=a);this.parentInverted=
+a&&a.inverted;void 0!==this.textStr&&e.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)C=this.zIndexSetter();C||(a?a.element:e.box).appendChild(q);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var e=a.parentNode;e&&e.removeChild(a)},destroy:function(){var a=this,e=a.element||{},q=a.renderer,f=q.isSVG&&"SPAN"===e.nodeName&&a.parentGroup,k=e.ownerSVGElement,l=a.clipPath;e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null;I(a);l&&k&&([].forEach.call(k.querySelectorAll("[clip-path],[CLIP-PATH]"),
+function(a){var e=a.getAttribute("clip-path"),q=l.element.id;(-1<e.indexOf("(#"+q+")")||-1<e.indexOf('("#'+q+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=l.destroy());if(a.stops){for(k=0;k<a.stops.length;k++)a.stops[k]=a.stops[k].destroy();a.stops=null}a.safeRemoveChild(e);for(q.styledMode||a.destroyShadows();f&&f.div&&0===f.div.childNodes.length;)e=f.parentGroup,a.safeRemoveChild(f.div),delete f.div,f=e;a.alignTo&&b(q.alignedObjects,a);D(a,function(e,q){delete a[q]});return null},shadow:function(a,
+e,q){var b=[],f,C,k=this.element,l,d,p,g;if(!a)this.destroyShadows();else if(!this.shadows){d=B(a.width,3);p=(a.opacity||.15)/d;g=this.parentInverted?"(-1,-1)":"("+B(a.offsetX,1)+", "+B(a.offsetY,1)+")";for(f=1;f<=d;f++)C=k.cloneNode(0),l=2*d+1-2*f,c(C,{stroke:a.color||"#000000","stroke-opacity":p*f,"stroke-width":l,transform:"translate"+g,fill:"none"}),C.setAttribute("class",(C.getAttribute("class")||"")+" highcharts-shadow"),q&&(c(C,"height",Math.max(c(C,"height")-l,0)),C.cutHeight=l),e?e.element.appendChild(C):
+k.parentNode&&k.parentNode.insertBefore(C,k),b.push(C);this.shadows=b}return this},destroyShadows:function(){(this.shadows||[]).forEach(function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=B(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,e,q){a&&
+a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[e]!==a&&(q.setAttribute(e,a),this[e]=a)},dashstyleSetter:function(a){var q,f=this["stroke-width"];"inherit"===f&&(f=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(q=a.length;q--;)a[q]=e(a[q])*f;a=a.join(",").replace(/NaN/g,
+"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,e,q){this[e]=a;q.setAttribute(e,a)},titleSetter:function(a){var e=this.element.getElementsByTagName("title")[0];e||(e=m.createElementNS(this.SVG_NS,"title"),this.element.appendChild(e));e.firstChild&&e.removeChild(e.firstChild);e.appendChild(m.createTextNode(String(B(a),"").replace(/<[^>]*>/g,
+"").replace(/</g,"\x3c").replace(/>/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,e,q){"string"===typeof a?q.setAttribute(e,a):a&&this.complexColor(a,e,q)},visibilitySetter:function(a,e,q){"inherit"===a?q.removeAttribute(e):this[e]!==a&&q.setAttribute(e,a);this[e]=a},zIndexSetter:function(a,q){var f=this.renderer,b=this.parentGroup,k=(b||f).element||f.box,l,d=this.element,C,p,f=k===f.box;
+l=this.added;var g;n(a)?(d.setAttribute("data-z-index",a),a=+a,this[q]===a&&(l=!1)):n(this[q])&&d.removeAttribute("data-z-index");this[q]=a;if(l){(a=this.zIndex)&&b&&(b.handleZ=!0);q=k.childNodes;for(g=q.length-1;0<=g&&!C;g--)if(b=q[g],l=b.getAttribute("data-z-index"),p=!n(l),b!==d)if(0>a&&p&&!f&&!g)k.insertBefore(d,q[g]),C=!0;else if(e(l)<=a||p&&(!n(a)||0<=a))k.insertBefore(d,q[g+1]||null),C=!0;C||(k.insertBefore(d,q[f?3:0]||null),C=!0)}return C},_defaultSetter:function(a,e,q){q.setAttribute(e,a)}});
+y.prototype.yGetter=y.prototype.xGetter;y.prototype.translateXSetter=y.prototype.translateYSetter=y.prototype.rotationSetter=y.prototype.verticalAlignSetter=y.prototype.rotationOriginXSetter=y.prototype.rotationOriginYSetter=y.prototype.scaleXSetter=y.prototype.scaleYSetter=y.prototype.matrixSetter=function(a,e){this[e]=a;this.doTransform=!0};y.prototype["stroke-widthSetter"]=y.prototype.strokeSetter=function(a,e,q){this[e]=a;this.stroke&&this["stroke-width"]?(y.prototype.fillSetter.call(this,this.stroke,
+"stroke",q),q.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===e&&0===a&&this.hasStroke&&(q.removeAttribute("stroke"),this.hasStroke=!1)};G=a.SVGRenderer=function(){this.init.apply(this,arguments)};p(G.prototype,{Element:y,SVG_NS:K,init:function(a,e,q,f,b,k,l){var d;d=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});l||d.css(this.getStyle(f));f=d.element;a.appendChild(f);c(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&c(f,"xmlns",this.SVG_NS);
+this.isSVG=!0;this.box=f;this.boxWrapper=d;this.alignedObjects=[];this.url=(x||z)&&m.getElementsByTagName("base").length?S.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 7.0.1"));this.defs=this.createElement("defs").add();this.allowHTML=k;this.forExport=b;this.styledMode=l;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(e,
+q,!1);var C;x&&a.getBoundingClientRect&&(e=function(){v(a,{left:0,top:0});C=a.getBoundingClientRect();v(a,{left:Math.ceil(C.left)-C.left+"px",top:Math.ceil(C.top)-C.top+"px"})},e(),this.unSubPixelFix=E(S,"resize",e))},definition:function(a){function e(a,f){var b;L(a).forEach(function(a){var k=q.createElement(a.tagName),l={};D(a,function(a,e){"tagName"!==e&&"children"!==e&&"textContent"!==e&&(l[e]=a)});k.attr(l);k.add(f||q.defs);a.textContent&&k.element.appendChild(m.createTextNode(a.textContent));
+e(a.children||[],k);b=k});return b}var q=this;return e(a)},getStyle:function(a){return this.style=p({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();d(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&
+this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var e=new this.Element;e.init(this,a);return e},draw:A,getRadialAttr:function(a,e){return{cx:a[0]-a[2]/2+e.cx*a[2],cy:a[1]-a[2]/2+e.cy*a[2],r:e.r*a[2]}},truncate:function(a,e,q,f,b,k,l){var d=this,p=a.rotation,C,g=f?1:0,A=(q||f).length,K=A,c=[],x=function(a){e.firstChild&&e.removeChild(e.firstChild);a&&e.appendChild(m.createTextNode(a))},n=function(k,p){p=p||k;if(void 0===c[p])if(e.getSubStringLength)try{c[p]=b+e.getSubStringLength(0,
+f?p+1:p)}catch(X){}else d.getSpanWidth&&(x(l(q||f,k)),c[p]=b+d.getSpanWidth(a,e));return c[p]},t,I;a.rotation=0;t=n(e.textContent.length);if(I=b+t>k){for(;g<=A;)K=Math.ceil((g+A)/2),f&&(C=l(f,K)),t=n(K,C&&C.length-1),g===A?g=A+1:t>k?A=K-1:g=K;0===A?x(""):q&&A===q.length-1||x(C||l(q||f,K))}f&&f.splice(0,K);a.actualWidth=t;a.rotation=p;return I},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var q=a.element,f=this,k=f.forExport,b=B(a.textStr,
+"").toString(),l=-1!==b.indexOf("\x3c"),d=q.childNodes,p,g=c(q,"x"),C=a.styles,A=a.textWidth,x=C&&C.lineHeight,n=C&&C.textOutline,t=C&&"ellipsis"===C.textOverflow,I=C&&"nowrap"===C.whiteSpace,L=C&&C.fontSize,z,H,h=d.length,C=A&&!a.added&&this.box,F=function(a){var b;f.styledMode||(b=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:L||f.style.fontSize||12);return x?e(x):f.fontMetrics(b,a.getAttribute("style")?a:q).h},M=function(a,e){D(f.escapes,function(q,f){e&&-1!==e.indexOf(q)||(a=a.toString().replace(new RegExp(q,
+"g"),f))});return a},w=function(a,e){var q;q=a.indexOf("\x3c");a=a.substring(q,a.indexOf("\x3e")-q);q=a.indexOf(e+"\x3d");if(-1!==q&&(q=q+e.length+1,e=a.charAt(q),'"'===e||"'"===e))return a=a.substring(q+1),a.substring(0,a.indexOf(e))};z=[b,t,I,x,n,L,A].join();if(z!==a.textCache){for(a.textCache=z;h--;)q.removeChild(d[h]);l||n||t||A||-1!==b.indexOf(" ")?(C&&C.appendChild(q),l?(b=f.styledMode?b.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e'):
+b.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'),b=b.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):b=[b],b=b.filter(function(a){return""!==a}),b.forEach(function(e,b){var l,d=0,C=0;e=e.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");l=e.split("|||");l.forEach(function(e){if(""!==e||1===l.length){var x={},n=m.createElementNS(f.SVG_NS,
+"tspan"),D,B;(D=w(e,"class"))&&c(n,"class",D);if(D=w(e,"style"))D=D.replace(/(;| |^)color([ :])/,"$1fill$2"),c(n,"style",D);(B=w(e,"href"))&&!k&&(c(n,"onclick",'location.href\x3d"'+B+'"'),c(n,"class","highcharts-anchor"),f.styledMode||v(n,{cursor:"pointer"}));e=M(e.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==e){n.appendChild(m.createTextNode(e));d?x.dx=0:b&&null!==g&&(x.x=g);c(n,x);q.appendChild(n);!d&&H&&(!R&&k&&v(n,{display:"block"}),c(n,"dy",F(n)));if(A){var z=e.replace(/([^\^])-/g,"$1- ").split(" "),
+x=!I&&(1<l.length||b||1<z.length);B=0;var h=F(n);if(t)p=f.truncate(a,n,e,void 0,0,Math.max(0,A-parseInt(L||12,10)),function(a,e){return a.substring(0,e)+"\u2026"});else if(x)for(;z.length;)z.length&&!I&&0<B&&(n=m.createElementNS(K,"tspan"),c(n,{dy:h,x:g}),D&&c(n,"style",D),n.appendChild(m.createTextNode(z.join(" ").replace(/- /g,"-"))),q.appendChild(n)),f.truncate(a,n,null,z,0===B?C:0,A,function(a,e){return z.slice(0,e).join(" ").replace(/- /g,"-")}),C=a.actualWidth,B++}d++}}});H=H||q.childNodes.length}),
+t&&p&&a.attr("title",M(a.textStr,["\x26lt;","\x26gt;"])),C&&C.removeChild(q),n&&a.applyTextOutline&&a.applyTextOutline(n)):q.appendChild(m.createTextNode(M(b)))}},getContrast:function(a){a=u(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,e,q,f,b,l,d,g,A){var C=this.label(a,e,q,A,null,null,null,null,"button"),K=0,n=this.styledMode;C.attr(k({padding:8,r:2},b));if(!n){var m,x,c,I;b=k({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",
+cursor:"pointer",fontWeight:"normal"}},b);m=b.style;delete b.style;l=k(b,{fill:"#e6e6e6"},l);x=l.style;delete l.style;d=k(b,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},d);c=d.style;delete d.style;g=k(b,{style:{color:"#cccccc"}},g);I=g.style;delete g.style}E(C.element,t?"mouseover":"mouseenter",function(){3!==K&&C.setState(1)});E(C.element,t?"mouseout":"mouseleave",function(){3!==K&&C.setState(K)});C.setState=function(a){1!==a&&(C.state=K=a);C.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+
+["normal","hover","pressed","disabled"][a||0]);n||C.attr([b,l,d,g][a||0]).css([m,x,c,I][a||0])};n||C.attr(b).css(p({cursor:"default"},m));return C.on("click",function(a){3!==K&&f.call(C,a)})},crispLine:function(a,e){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-e%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+e%2/2);return a},path:function(a){var e=this.styledMode?{}:{fill:"none"};f(a)?e.d=a:H(a)&&p(e,a);return this.createElement("path").attr(e)},circle:function(a,e,q){a=H(a)?a:void 0===a?{}:{x:a,y:e,r:q};
+e=this.createElement("circle");e.xSetter=e.ySetter=function(a,e,q){q.setAttribute("c"+e,a)};return e.attr(a)},arc:function(a,e,q,b,f,k){H(a)?(b=a,e=b.y,q=b.r,a=b.x):b={innerR:b,start:f,end:k};a=this.symbol("arc",a,e,q,q,b);a.r=q;return a},rect:function(a,e,q,b,f,k){f=H(a)?a.r:f;var l=this.createElement("rect");a=H(a)?a:void 0===a?{}:{x:a,y:e,width:Math.max(q,0),height:Math.max(b,0)};this.styledMode||(void 0!==k&&(a.strokeWidth=k,a=l.crisp(a)),a.fill="none");f&&(a.r=f);l.rSetter=function(a,e,q){c(q,
+{rx:a,ry:a})};return l.attr(a)},setSize:function(a,e,q){var b=this.alignedObjects,f=b.length;this.width=a;this.height=e;for(this.boxWrapper.animate({width:a,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(q,!0)?void 0:0});f--;)b[f].align()},g:function(a){var e=this.createElement("g");return a?e.attr({"class":"highcharts-"+a}):e},image:function(a,e,q,b,f,k){var l={preserveAspectRatio:"none"},d,g=function(a,e){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink",
+"href",e):a.setAttribute("hc-svg-href",e)},A=function(e){g(d.element,a);k.call(d,e)};1<arguments.length&&p(l,{x:e,y:q,width:b,height:f});d=this.createElement("image").attr(l);k?(g(d.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),l=new S.Image,E(l,"load",A),l.src=a,l.complete&&A({})):g(d.element,a);return d},symbol:function(a,e,q,b,f,k){var l=this,d,g=/^url\((.*?)\)$/,A=g.test(a),K=!A&&(this.symbols[a]?a:"circle"),C=K&&this.symbols[K],x=n(e)&&C&&C.call(this.symbols,
+Math.round(e),Math.round(q),b,f,k),c,t;C?(d=this.path(x),l.styledMode||d.attr("fill","none"),p(d,{symbolName:K,x:e,y:q,width:b,height:f}),k&&p(d,k)):A&&(c=a.match(g)[1],d=this.image(c),d.imgwidth=B(M[c]&&M[c].width,k&&k.width),d.imgheight=B(M[c]&&M[c].height,k&&k.height),t=function(){d.attr({width:d.width,height:d.height})},["width","height"].forEach(function(a){d[a+"Setter"]=function(a,e){var q={},b=this["img"+e],f="width"===e?"translateX":"translateY";this[e]=a;n(b)&&(this.element&&this.element.setAttribute(e,
+b),this.alignByTranslate||(q[f]=((this[e]||0)-b)/2,this.attr(q)))}}),n(e)&&d.attr({x:e,y:q}),d.isImg=!0,n(d.imgwidth)&&n(d.imgheight)?t():(d.attr({width:0,height:0}),w("img",{onload:function(){var a=r[l.chartIndex];0===this.width&&(v(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this));M[c]={width:this.width,height:this.height};d.imgwidth=this.width;d.imgheight=this.height;d.element&&t();this.parentNode&&this.parentNode.removeChild(this);l.imgCount--;if(!l.imgCount&&a&&a.onload)a.onload()},
+src:c}),this.imgCount++));return d},symbols:{circle:function(a,e,q,b){return this.arc(a+q/2,e+b/2,q/2,b/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,e,q,b){return["M",a,e,"L",a+q,e,a+q,e+b,a,e+b,"Z"]},triangle:function(a,e,q,b){return["M",a+q/2,e,"L",a+q,e+b,a,e+b,"Z"]},"triangle-down":function(a,e,q,b){return["M",a,e,"L",a+q,e,a+q/2,e+b,"Z"]},diamond:function(a,e,q,b){return["M",a+q/2,e,"L",a+q,e+b/2,a+q/2,e+b,a,e+b/2,"Z"]},arc:function(a,e,q,b,f){var k=f.start,d=f.r||q,l=f.r||b||q,p=f.end-
+.001;q=f.innerR;b=B(f.open,.001>Math.abs(f.end-f.start-2*Math.PI));var g=Math.cos(k),A=Math.sin(k),K=Math.cos(p),p=Math.sin(p);f=.001>f.end-k-Math.PI?0:1;d=["M",a+d*g,e+l*A,"A",d,l,0,f,1,a+d*K,e+l*p];n(q)&&d.push(b?"M":"L",a+q*K,e+q*p,"A",q,q,0,f,0,a+q*g,e+q*A);d.push(b?"":"Z");return d},callout:function(a,e,q,b,f){var k=Math.min(f&&f.r||0,q,b),d=k+6,l=f&&f.anchorX;f=f&&f.anchorY;var p;p=["M",a+k,e,"L",a+q-k,e,"C",a+q,e,a+q,e,a+q,e+k,"L",a+q,e+b-k,"C",a+q,e+b,a+q,e+b,a+q-k,e+b,"L",a+k,e+b,"C",a,e+
+b,a,e+b,a,e+b-k,"L",a,e+k,"C",a,e,a,e,a+k,e];l&&l>q?f>e+d&&f<e+b-d?p.splice(13,3,"L",a+q,f-6,a+q+6,f,a+q,f+6,a+q,e+b-k):p.splice(13,3,"L",a+q,b/2,l,f,a+q,b/2,a+q,e+b-k):l&&0>l?f>e+d&&f<e+b-d?p.splice(33,3,"L",a,f+6,a-6,f,a,f-6,a,e+k):p.splice(33,3,"L",a,b/2,l,f,a,b/2,a,e+k):f&&f>b&&l>a+d&&l<a+q-d?p.splice(23,3,"L",l+6,e+b,l,e+b+6,l-6,e+b,a+k,e+b):f&&0>f&&l>a+d&&l<a+q-d&&p.splice(3,3,"L",l-6,e,l,e-6,l+6,e,q-k,e);return p}},clipRect:function(e,q,b,f){var k=a.uniqueKey(),l=this.createElement("clipPath").attr({id:k}).add(this.defs);
+e=this.rect(e,q,b,f,0).add(l);e.id=k;e.clipPath=l;e.count=0;return e},text:function(a,e,q,b){var f={};if(b&&(this.allowHTML||!this.forExport))return this.html(a,e,q);f.x=Math.round(e||0);q&&(f.y=Math.round(q));n(a)&&(f.text=a);a=this.createElement("text").attr(f);b||(a.xSetter=function(a,e,q){var b=q.getElementsByTagName("tspan"),f,k=q.getAttribute(e),l;for(l=0;l<b.length;l++)f=b[l],f.getAttribute(e)===k&&f.setAttribute(e,a);q.setAttribute(e,a)});return a},fontMetrics:function(a,q){a=this.styledMode?
+q&&y.prototype.getStyle.call(q,"font-size"):a||q&&q.style&&q.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?e(a):/em/.test(a)?parseFloat(a)*(q?this.fontMetrics(null,q.parentNode).f:16):12;q=24>a?a+3:Math.round(1.2*a);return{h:q,b:Math.round(.8*q),f:a}},rotCorr:function(a,e,q){var b=a;e&&q&&(b=Math.max(b*Math.cos(e*g),4));return{x:-a/3*Math.sin(e*g),y:b}},label:function(e,b,f,l,d,g,A,K,c){var m=this,x=m.styledMode,t=m.g("button"!==c&&"label"),I=t.text=m.text("",0,0,A).attr({zIndex:1}),
+D,L,C=0,B=3,z=0,H,h,F,M,R,w={},r,u,S=/^url\((.*?)\)$/.test(l),v=x||S,N=function(){return x?D.strokeWidth()%2/2:(r?parseInt(r,10):0)%2/2},P,T,E;c&&t.addClass("highcharts-"+c);P=function(){var a=I.element.style,e={};L=(void 0===H||void 0===h||R)&&n(I.textStr)&&I.getBBox();t.width=(H||L.width||0)+2*B+z;t.height=(h||L.height||0)+2*B;u=B+Math.min(m.fontMetrics(a&&a.fontSize,I).b,L?L.height:Infinity);v&&(D||(t.box=D=m.symbols[l]||S?m.symbol(l):m.rect(),D.addClass(("button"===c?"":"highcharts-label-box")+
+(c?" highcharts-"+c+"-box":"")),D.add(t),a=N(),e.x=a,e.y=(K?-u:0)+a),e.width=Math.round(t.width),e.height=Math.round(t.height),D.attr(p(e,w)),w={})};T=function(){var a=z+B,e;e=K?0:u;n(H)&&L&&("center"===R||"right"===R)&&(a+={center:.5,right:1}[R]*(H-L.width));if(a!==I.x||e!==I.y)I.attr("x",a),I.hasBoxWidthChanged&&(L=I.getBBox(!0),P()),void 0!==e&&I.attr("y",e);I.x=a;I.y=e};E=function(a,e){D?D.attr(a,e):w[a]=e};t.onAdd=function(){I.add(t);t.attr({text:e||0===e?e:"",x:b,y:f});D&&n(d)&&t.attr({anchorX:d,
+anchorY:g})};t.widthSetter=function(e){H=a.isNumber(e)?e:null};t.heightSetter=function(a){h=a};t["text-alignSetter"]=function(a){R=a};t.paddingSetter=function(a){n(a)&&a!==B&&(B=t.padding=a,T())};t.paddingLeftSetter=function(a){n(a)&&a!==z&&(z=a,T())};t.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==C&&(C=a,L&&t.attr({x:F}))};t.textSetter=function(a){void 0!==a&&I.textSetter(a);P();T()};t["stroke-widthSetter"]=function(a,e){a&&(v=!0);r=this["stroke-width"]=a;E(e,a)};x?t.rSetter=function(a,
+e){E(e,a)}:t.strokeSetter=t.fillSetter=t.rSetter=function(a,e){"r"!==e&&("fill"===e&&a&&(v=!0),t[e]=a);E(e,a)};t.anchorXSetter=function(a,e){d=t.anchorX=a;E(e,Math.round(a)-N()-F)};t.anchorYSetter=function(a,e){g=t.anchorY=a;E(e,a-M)};t.xSetter=function(a){t.x=a;C&&(a-=C*((H||L.width)+2*B),t["forceAnimate:x"]=!0);F=Math.round(a);t.attr("translateX",F)};t.ySetter=function(a){M=t.y=Math.round(a);t.attr("translateY",M)};var Q=t.css;A={css:function(a){if(a){var e={};a=k(a);t.textProps.forEach(function(q){void 0!==
+a[q]&&(e[q]=a[q],delete a[q])});I.css(e);"width"in e&&P();"fontSize"in e&&(P(),T())}return Q.call(t,a)},getBBox:function(){return{width:L.width+2*B,height:L.height+2*B,x:L.x-B,y:L.y-B}},destroy:function(){q(t.element,"mouseenter");q(t.element,"mouseleave");I&&(I=I.destroy());D&&(D=D.destroy());y.prototype.destroy.call(t);t=m=P=T=E=null}};x||(A.shadow=function(a){a&&(P(),D&&D.shadow(a));return t});return p(t,A)}});a.Renderer=G})(J);(function(a){var y=a.attr,G=a.createElement,E=a.css,h=a.defined,c=
+a.extend,r=a.isFirefox,u=a.isMS,v=a.isWebKit,w=a.pick,n=a.pInt,g=a.SVGRenderer,d=a.win,m=a.wrap;c(a.SVGElement.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,l=w(b&&a.width,void 0),f;b&&(delete a.width,this.textWidth=l,f=!0);a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=c(this.styles,a);E(this.element,a);f&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,
+width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,l=this.translateX||0,f=this.translateY||0,d=this.x||0,g=this.y||0,m=this.textAlign||"left",c={left:0,center:.5,right:1}[m],z=this.styles,k=z&&z.whiteSpace;E(b,{marginLeft:l,marginTop:f});!a.styledMode&&this.shadows&&this.shadows.forEach(function(a){E(a,{marginLeft:l+1,marginTop:f+1})});this.inverted&&b.childNodes.forEach(function(e){a.invertChild(e,b)});if("SPAN"===b.tagName){var z=
+this.rotation,A=this.textWidth&&n(this.textWidth),D=[z,m,b.innerHTML,this.textWidth,this.textAlign].join(),B;(B=A!==this.oldTextWidth)&&!(B=A>this.oldTextWidth)&&((B=this.textPxLength)||(E(b,{width:"",whiteSpace:k||"nowrap"}),B=b.offsetWidth),B=B>A);B&&(/[ \-]/.test(b.textContent||b.innerText)||"ellipsis"===b.style.textOverflow)?(E(b,{width:A+"px",display:"block",whiteSpace:k||"normal"}),this.oldTextWidth=A,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;D!==this.cTT&&(k=a.fontMetrics(b.style.fontSize,
+b).b,!h(z)||z===(this.oldRotation||0)&&m===this.oldAlign||this.setSpanRotation(z,c,k),this.getSpanCorrection(!h(z)&&this.textPxLength||b.offsetWidth,k,c,z,m));E(b,{left:d+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"});this.cTT=D;this.oldRotation=z;this.oldAlign=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,l){var f={},d=this.renderer.getTransformKey();f[d]=f.transform="rotate("+a+"deg)";f[d+(r?"Origin":"-origin")]=f.transformOrigin=100*b+"% "+l+"px";E(this.element,f)},getSpanCorrection:function(a,
+b,l){this.xCorr=-a*l;this.yCorr=-b}});c(g.prototype,{getTransformKey:function(){return u&&!/Edge/.test(d.navigator.userAgent)?"-ms-transform":v?"-webkit-transform":r?"MozTransform":d.opera?"-o-transform":""},html:function(d,b,l){var f=this.createElement("span"),g=f.element,p=f.renderer,n=p.isSVG,h=function(a,b){["opacity","visibility"].forEach(function(f){m(a,f+"Setter",function(a,e,q,f){a.call(this,e,q,f);b[q]=e})});a.addedSetters=!0},z=a.charts[p.chartIndex],z=z&&z.styledMode;f.textSetter=function(a){a!==
+g.innerHTML&&delete this.bBox;this.textStr=a;g.innerHTML=w(a,"");f.doTransform=!0};n&&h(f,f.element.style);f.xSetter=f.ySetter=f.alignSetter=f.rotationSetter=function(a,b){"align"===b&&(b="textAlign");f[b]=a;f.doTransform=!0};f.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};f.attr({text:d,x:Math.round(b),y:Math.round(l)}).css({position:"absolute"});z||f.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});g.style.whiteSpace="nowrap";f.css=
+f.htmlCss;n&&(f.add=function(a){var b,l=p.box.parentNode,k=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)k.push(a),a=a.parentGroup;k.reverse().forEach(function(a){function e(e,q){a[q]=e;"translateX"===q?d.left=e+"px":d.top=e+"px";a.doTransform=!0}var d,g=y(a.element,"class");g&&(g={className:g});b=a.div=a.div||G("div",g,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||l);d=b.style;
+c(a,{classSetter:function(a){return function(e){this.element.setAttribute("class",e);a.className=e}}(b),on:function(){k[0].div&&f.on.apply({element:k[0].div},arguments);return a},translateXSetter:e,translateYSetter:e});a.addedSetters||h(a,d)})}}else b=l;b.appendChild(g);f.added=!0;f.alignOnAdd&&f.htmlUpdateTransform();return f});return f}})})(J);(function(a){var y=a.defined,G=a.extend,E=a.merge,h=a.pick,c=a.timeUnits,r=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},
+update:function(a){var c=h(a&&a.useUTC,!0),w=this;this.options=a=E(!0,this.options||{},a);this.Date=a.Date||r.Date;this.timezoneOffset=(this.useUTC=c)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(c&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,g){var d=g.getTime(),m=d-w.getTimezoneOffset(g);g.setTime(m);a=g["getUTC"+a]();g.setTime(d);return a},this.set=function(a,g,d){var m;if("Milliseconds"===a||"Seconds"===a||"Minutes"===
+a&&0===g.getTimezoneOffset()%60)g["set"+a](d);else m=w.getTimezoneOffset(g),m=g.getTime()-m,g.setTime(m),g["setUTC"+a](d),a=w.getTimezoneOffset(g),m=g.getTime()+a,g.setTime(m)}):c?(this.get=function(a,g){return g["getUTC"+a]()},this.set=function(a,g,d){return g["setUTC"+a](d)}):(this.get=function(a,g){return g["get"+a]()},this.set=function(a,g,d){return g["set"+a](d)})},makeTime:function(c,r,w,n,g,d){var m,p,b;this.useUTC?(m=this.Date.UTC.apply(0,arguments),p=this.getTimezoneOffset(m),m+=p,b=this.getTimezoneOffset(m),
+p!==b?m+=b-p:p-36E5!==this.getTimezoneOffset(m-36E5)||a.isSafari||(m-=36E5)):m=(new this.Date(c,r,h(w,1),h(n,0),h(g,0),h(d,0))).getTime();return m},timezoneOffsetFunction:function(){var c=this,h=this.options,w=r.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(h.timezone){if(w)return function(a){return 6E4*-w.tz(a,h.timezone).utcOffset()};a.error(25)}return this.useUTC&&h.getTimezoneOffset?function(a){return 6E4*h.getTimezoneOffset(a)}:function(){return 6E4*
+(c.timezoneOffset||0)}},dateFormat:function(c,h,w){if(!a.defined(h)||isNaN(h))return a.defaultOptions.lang.invalidDate||"";c=a.pick(c,"%Y-%m-%d %H:%M:%S");var n=this,g=new this.Date(h),d=this.get("Hours",g),m=this.get("Day",g),p=this.get("Date",g),b=this.get("Month",g),l=this.get("FullYear",g),f=a.defaultOptions.lang,x=f.weekdays,t=f.shortWeekdays,H=a.pad,g=a.extend({a:t?t[m]:x[m].substr(0,3),A:x[m],d:H(p),e:H(p,2," "),w:m,b:f.shortMonths[b],B:f.months[b],m:H(b+1),o:b+1,y:l.toString().substr(2,2),
+Y:l,H:H(d),k:d,I:H(d%12||12),l:d%12||12,M:H(n.get("Minutes",g)),p:12>d?"AM":"PM",P:12>d?"am":"pm",S:H(g.getSeconds()),L:H(Math.floor(h%1E3),3)},a.dateFormats);a.objectEach(g,function(a,b){for(;-1!==c.indexOf("%"+b);)c=c.replace("%"+b,"function"===typeof a?a.call(n,h):a)});return w?c.substr(0,1).toUpperCase()+c.substr(1):c},resolveDTLFormat:function(c){return a.isObject(c,!0)?c:(c=a.splat(c),{main:c[0],from:c[1],to:c[2]})},getTimeTicks:function(a,r,w,n){var g=this,d=[],m,p={},b;m=new g.Date(r);var l=
+a.unitRange,f=a.count||1,x;n=h(n,1);if(y(r)){g.set("Milliseconds",m,l>=c.second?0:f*Math.floor(g.get("Milliseconds",m)/f));l>=c.second&&g.set("Seconds",m,l>=c.minute?0:f*Math.floor(g.get("Seconds",m)/f));l>=c.minute&&g.set("Minutes",m,l>=c.hour?0:f*Math.floor(g.get("Minutes",m)/f));l>=c.hour&&g.set("Hours",m,l>=c.day?0:f*Math.floor(g.get("Hours",m)/f));l>=c.day&&g.set("Date",m,l>=c.month?1:Math.max(1,f*Math.floor(g.get("Date",m)/f)));l>=c.month&&(g.set("Month",m,l>=c.year?0:f*Math.floor(g.get("Month",
+m)/f)),b=g.get("FullYear",m));l>=c.year&&g.set("FullYear",m,b-b%f);l===c.week&&(b=g.get("Day",m),g.set("Date",m,g.get("Date",m)-b+n+(b<n?-7:0)));b=g.get("FullYear",m);n=g.get("Month",m);var t=g.get("Date",m),H=g.get("Hours",m);r=m.getTime();g.variableTimezone&&(x=w-r>4*c.month||g.getTimezoneOffset(r)!==g.getTimezoneOffset(w));r=m.getTime();for(m=1;r<w;)d.push(r),r=l===c.year?g.makeTime(b+m*f,0):l===c.month?g.makeTime(b,n+m*f):!x||l!==c.day&&l!==c.week?x&&l===c.hour&&1<f?g.makeTime(b,n,t,H+m*f):r+
+l*f:g.makeTime(b,n,t+m*f*(l===c.day?1:7)),m++;d.push(r);l<=c.hour&&1E4>d.length&&d.forEach(function(a){0===a%18E5&&"000000000"===g.dateFormat("%H%M%S%L",a)&&(p[a]="day")})}d.info=G(a,{higherRanks:p,totalRange:l*f});return d}}})(J);(function(a){var y=a.color,G=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),
+shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",
+x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},
+itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,
+animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',
+backgroundColor:y("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(y){a.defaultOptions=G(!0,a.defaultOptions,y);a.time.update(G(a.defaultOptions.global,a.defaultOptions.time),
+!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(G(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(y,h,c){return a.time.dateFormat(y,h,c)}})(J);(function(a){var y=a.correctFloat,G=a.defined,E=a.destroyObjectProperties,h=a.fireEvent,c=a.isNumber,r=a.merge,u=a.pick,v=a.deg2rad;a.Tick=function(a,c,g,d,m){this.axis=a;this.pos=c;this.type=g||"";this.isNewLabel=this.isNew=!0;this.parameters=
+m||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;g||d||this.addLabel()};a.Tick.prototype={addLabel:function(){var c=this,n=c.axis,g=n.options,d=n.chart,m=n.categories,p=n.names,b=c.pos,l=u(c.options&&c.options.labels,g.labels),f=n.tickPositions,x=b===f[0],t=b===f[f.length-1],m=this.parameters.category||(m?u(m[b],p[b],b):b),h=c.label,f=f.info,F,z,k,A;n.isDatetimeAxis&&f&&(z=d.time.resolveDTLFormat(g.dateTimeLabelFormats[!g.grid&&f.higherRanks[b]||f.unitName]),
+F=z.main);c.isFirst=x;c.isLast=t;c.formatCtx={axis:n,chart:d,isFirst:x,isLast:t,dateTimeLabelFormat:F,tickPositionInfo:f,value:n.isLog?y(n.lin2log(m)):m,pos:b};g=n.labelFormatter.call(c.formatCtx,this.formatCtx);if(A=z&&z.list)c.shortenLabel=function(){for(k=0;k<A.length;k++)if(h.attr({text:n.labelFormatter.call(a.extend(c.formatCtx,{dateTimeLabelFormat:A[k]}))}),h.getBBox().width<n.getSlotWidth(c)-2*u(l.padding,5))return;h.attr({text:""})};if(G(h))h&&h.textStr!==g&&(!h.textWidth||l.style&&l.style.width||
+h.styles.width||h.css({width:null}),h.attr({text:g}));else{if(c.label=h=G(g)&&l.enabled?d.renderer.text(g,0,0,l.useHTML).add(n.labelGroup):null)d.styledMode||h.css(r(l.style)),h.textPxLength=h.getBBox().width;c.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var c=this.axis,g=c.options.labels,d=a.x,m=c.chart.chartWidth,p=c.chart.spacing,b=u(c.labelLeft,Math.min(c.pos,p[3])),p=u(c.labelRight,Math.max(c.isRadial?
+0:c.pos+c.len,m-p[1])),l=this.label,f=this.rotation,x={left:0,center:.5,right:1}[c.labelAlign||l.attr("align")],t=l.getBBox().width,h=c.getSlotWidth(this),F=h,z=1,k,A={};if(f||"justify"!==u(g.overflow,"justify"))0>f&&d-x*t<b?k=Math.round(d/Math.cos(f*v)-b):0<f&&d+x*t>p&&(k=Math.round((m-d)/Math.cos(f*v)));else if(m=d+(1-x)*t,d-x*t<b?F=a.x+F*(1-x)-b:m>p&&(F=p-a.x+F*x,z=-1),F=Math.min(h,F),F<h&&"center"===c.labelAlign&&(a.x+=z*(h-F-x*(h-Math.min(t,F)))),t>F||c.autoRotation&&(l.styles||{}).width)k=F;
+k&&(this.shortenLabel?this.shortenLabel():(A.width=Math.floor(k),(g.style||{}).textOverflow||(A.textOverflow="ellipsis"),l.css(A)))},getPosition:function(c,n,g,d){var m=this.axis,p=m.chart,b=d&&p.oldChartHeight||p.chartHeight;c={x:c?a.correctFloat(m.translate(n+g,null,null,d)+m.transB):m.left+m.offset+(m.opposite?(d&&p.oldChartWidth||p.chartWidth)-m.right-m.left:0),y:c?b-m.bottom+m.offset-(m.opposite?m.height:0):a.correctFloat(b-m.translate(n+g,null,null,d)-m.transB)};h(this,"afterGetPosition",{pos:c});
+return c},getLabelPosition:function(a,c,g,d,m,p,b,l){var f=this.axis,x=f.transA,t=f.reversed,n=f.staggerLines,F=f.tickRotCorr||{x:0,y:0},z=m.y,k=d||f.reserveSpaceDefault?0:-f.labelOffset*("center"===f.labelAlign?.5:1),A={};G(z)||(z=0===f.side?g.rotation?-8:-g.getBBox().height:2===f.side?F.y+8:Math.cos(g.rotation*v)*(F.y-g.getBBox(!1,0).height/2));a=a+m.x+k+F.x-(p&&d?p*x*(t?-1:1):0);c=c+z-(p&&!d?p*x*(t?1:-1):0);n&&(g=b/(l||1)%n,f.opposite&&(g=n-g-1),c+=f.labelOffset/n*g);A.x=a;A.y=Math.round(c);h(this,
+"afterGetLabelPosition",{pos:A});return A},getMarkPath:function(a,c,g,d,m,p){return p.crispLine(["M",a,c,"L",a+(m?0:-g),c+(m?g:0)],d)},renderGridLine:function(a,c,g){var d=this.axis,m=d.options,p=this.gridLine,b={},l=this.pos,f=this.type,x=u(this.tickmarkOffset,d.tickmarkOffset),t=d.chart.renderer,n=f?f+"Grid":"grid",h=m[n+"LineWidth"],z=m[n+"LineColor"],m=m[n+"LineDashStyle"];p||(d.chart.styledMode||(b.stroke=z,b["stroke-width"]=h,m&&(b.dashstyle=m)),f||(b.zIndex=1),a&&(c=0),this.gridLine=p=t.path().attr(b).addClass("highcharts-"+
+(f?f+"-":"")+"grid-line").add(d.gridGroup));if(p&&(g=d.getPlotLinePath(l+x,p.strokeWidth()*g,a,"pass")))p[a||this.isNew?"attr":"animate"]({d:g,opacity:c})},renderMark:function(a,c,g){var d=this.axis,m=d.options,p=d.chart.renderer,b=this.type,l=b?b+"Tick":"tick",f=d.tickSize(l),x=this.mark,t=!x,n=a.x;a=a.y;var h=u(m[l+"Width"],!b&&d.isXAxis?1:0),m=m[l+"Color"];f&&(d.opposite&&(f[0]=-f[0]),t&&(this.mark=x=p.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(d.axisGroup),d.chart.styledMode||x.attr({stroke:m,
+"stroke-width":h})),x[t?"attr":"animate"]({d:this.getMarkPath(n,a,f[0],x.strokeWidth()*g,d.horiz,p),opacity:c}))},renderLabel:function(a,n,g,d){var m=this.axis,p=m.horiz,b=m.options,l=this.label,f=b.labels,x=f.step,m=u(this.tickmarkOffset,m.tickmarkOffset),t=!0,h=a.x;a=a.y;l&&c(h)&&(l.xy=a=this.getLabelPosition(h,a,l,p,f,m,d,x),this.isFirst&&!this.isLast&&!u(b.showFirstLabel,1)||this.isLast&&!this.isFirst&&!u(b.showLastLabel,1)?t=!1:!p||f.step||f.rotation||n||0===g||this.handleOverflow(a),x&&d%x&&
+(t=!1),t&&c(a.y)?(a.opacity=g,l[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(l.attr("y",-9999),this.isNewLabel=!0))},render:function(c,n,g){var d=this.axis,m=d.horiz,p=this.pos,b=u(this.tickmarkOffset,d.tickmarkOffset),p=this.getPosition(m,p,b,n),b=p.x,l=p.y,d=m&&b===d.pos+d.len||!m&&l===d.pos?-1:1;g=u(g,1);this.isActive=!0;this.renderGridLine(n,g,d);this.renderMark(p,g,d);this.renderLabel(p,n,g,c);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){E(this,this.axis)}}})(J);
+var V=function(a){var y=a.addEvent,G=a.animObject,E=a.arrayMax,h=a.arrayMin,c=a.color,r=a.correctFloat,u=a.defaultOptions,v=a.defined,w=a.deg2rad,n=a.destroyObjectProperties,g=a.extend,d=a.fireEvent,m=a.format,p=a.getMagnitude,b=a.isArray,l=a.isNumber,f=a.isString,x=a.merge,t=a.normalizeTickInterval,H=a.objectEach,F=a.pick,z=a.removeEvent,k=a.splat,A=a.syncTimeout,D=a.Tick,B=function(){this.init.apply(this,arguments)};a.extend(B.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",
+range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",
+style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",
+textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,q){var e=q.isX,b=this;b.chart=a;b.horiz=a.inverted&&!b.isZAxis?!e:e;b.isXAxis=e;b.coll=b.coll||(e?"xAxis":"yAxis");d(this,"init",{userOptions:q});b.opposite=
+q.opposite;b.side=q.side||(b.horiz?b.opposite?0:2:b.opposite?1:3);b.setOptions(q);var f=this.options,l=f.type;b.labelFormatter=f.labels.formatter||b.defaultLabelFormatter;b.userOptions=q;b.minPixelPadding=0;b.reversed=f.reversed;b.visible=!1!==f.visible;b.zoomEnabled=!1!==f.zoomEnabled;b.hasNames="category"===l||!0===f.categories;b.categories=f.categories||b.hasNames;b.names||(b.names=[],b.names.keys={});b.plotLinesAndBandsGroups={};b.isLog="logarithmic"===l;b.isDatetimeAxis="datetime"===l;b.positiveValuesOnly=
+b.isLog&&!b.allowNegativeLog;b.isLinked=v(f.linkedTo);b.ticks={};b.labelEdge=[];b.minorTicks={};b.plotLinesAndBands=[];b.alternateBands={};b.len=0;b.minRange=b.userMinRange=f.minRange||f.maxZoom;b.range=f.range;b.offset=f.offset||0;b.stacks={};b.oldStacks={};b.stacksTouched=0;b.max=null;b.min=null;b.crosshair=F(f.crosshair,k(a.options.tooltip.crosshairs)[e?0:1],!1);q=b.options.events;-1===a.axes.indexOf(b)&&(e?a.axes.splice(a.xAxis.length,0,b):a.axes.push(b),a[b.coll].push(b));b.series=b.series||
+[];a.inverted&&!b.isZAxis&&e&&void 0===b.reversed&&(b.reversed=!0);H(q,function(a,e){y(b,e,a)});b.lin2log=f.linearToLogConverter||b.lin2log;b.isLog&&(b.val2lin=b.log2lin,b.lin2val=b.lin2log);d(this,"afterInit")},setOptions:function(a){this.options=x(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],x(u[this.coll],a));d(this,"afterSetOptions",{userOptions:a})},
+defaultLabelFormatter:function(){var e=this.axis,q=this.value,b=e.chart.time,f=e.categories,l=this.dateTimeLabelFormat,k=u.lang,d=k.numericSymbols,k=k.numericSymbolMagnitude||1E3,g=d&&d.length,c,p=e.options.labels.format,e=e.isLog?Math.abs(q):e.tickInterval;if(p)c=m(p,this,b);else if(f)c=q;else if(l)c=b.dateFormat(l,q);else if(g&&1E3<=e)for(;g--&&void 0===c;)b=Math.pow(k,g+1),e>=b&&0===10*q%b&&null!==d[g]&&0!==q&&(c=a.numberFormat(q/b,-1)+d[g]);void 0===c&&(c=1E4<=Math.abs(q)?a.numberFormat(q,-1):
+a.numberFormat(q,-1,void 0,""));return c},getSeriesExtremes:function(){var a=this,q=a.chart;d(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();a.series.forEach(function(e){if(e.visible||!q.options.chart.ignoreHiddenSeries){var b=e.options,f=b.threshold,k;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=f&&(f=null);if(a.isXAxis)b=e.xData,b.length&&(e=h(b),k=E(b),l(e)||e instanceof Date||(b=b.filter(l),
+e=h(b),k=E(b)),b.length&&(a.dataMin=Math.min(F(a.dataMin,b[0],e),e),a.dataMax=Math.max(F(a.dataMax,b[0],k),k)));else if(e.getExtremes(),k=e.dataMax,e=e.dataMin,v(e)&&v(k)&&(a.dataMin=Math.min(F(a.dataMin,e),e),a.dataMax=Math.max(F(a.dataMax,k),k)),v(f)&&(a.threshold=f),!b.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});d(this,"afterGetSeriesExtremes")},translate:function(a,q,b,f,k,d){var e=this.linkedParent||this,c=1,g=0,p=f?e.oldTransA:e.transA;f=f?e.oldMin:e.min;var A=e.minPixelPadding;
+k=(e.isOrdinal||e.isBroken||e.isLog&&k)&&e.lin2val;p||(p=e.transA);b&&(c*=-1,g=e.len);e.reversed&&(c*=-1,g-=c*(e.sector||e.len));q?(a=(a*c+g-A)/p+f,k&&(a=e.lin2val(a))):(k&&(a=e.val2lin(a)),a=l(f)?c*(a-f)*p+g+c*A+(l(d)?p*d:0):void 0);return a},toPixels:function(a,q){return this.translate(a,!1,!this.horiz,null,!0)+(q?0:this.pos)},toValue:function(a,q){return this.translate(a-(q?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,q,b,f,k){var e=this.chart,d=this.left,c=this.top,g,p,A=b&&
+e.oldChartHeight||e.chartHeight,t=b&&e.oldChartWidth||e.chartWidth,m;g=this.transB;var x=function(a,e,q){if("pass"!==f&&a<e||a>q)f?a=Math.min(Math.max(e,a),q):m=!0;return a};k=F(k,this.translate(a,null,null,b));k=Math.min(Math.max(-1E5,k),1E5);a=b=Math.round(k+g);g=p=Math.round(A-k-g);l(k)?this.horiz?(g=c,p=A-this.bottom,a=b=x(a,d,d+this.width)):(a=d,b=t-this.right,g=p=x(g,c,c+this.height)):(m=!0,f=!1);return m&&!f?null:e.renderer.crispLine(["M",a,g,"L",b,p],q||1)},getLinearTickPositions:function(a,
+q,b){var e,f=r(Math.floor(q/a)*a);b=r(Math.ceil(b/a)*a);var k=[],d;r(f+a)===f&&(d=20);if(this.single)return[q];for(q=f;q<=b;){k.push(q);q=r(q+a,d);if(q===e)break;e=q}return k},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?F(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,q=a.options,b=a.tickPositions,f=a.minorTickInterval,k=[],d=a.pointRangePadding||0,l=a.min-d,d=a.max+d,g=d-l;if(g&&g/f<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(e,
+q,b){q&&k.push.apply(k,a.getLogTickPositions(f,b[q-1],b[q],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())k=k.concat(a.getTimeTicks(a.normalizeTimeTickInterval(f),l,d,q.startOfWeek));else for(q=l+(b[0]-l)%f;q<=d&&q!==k[0];q+=f)k.push(q);0!==k.length&&a.trimTicks(k);return k},adjustForMinRange:function(){var a=this.options,q=this.min,b=this.max,f,k,d,l,g,c,p,A;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(v(a.min)||v(a.max)?this.minRange=null:(this.series.forEach(function(a){c=
+a.xData;for(l=p=a.xIncrement?1:c.length-1;0<l;l--)if(g=c[l]-c[l-1],void 0===d||g<d)d=g}),this.minRange=Math.min(5*d,this.dataMax-this.dataMin)));b-q<this.minRange&&(k=this.dataMax-this.dataMin>=this.minRange,A=this.minRange,f=(A-b+q)/2,f=[q-f,F(a.min,q-f)],k&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),q=E(f),b=[q+A,F(a.max,q+A)],k&&(b[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),b=h(b),b-q<A&&(f[0]=b-A,f[1]=F(a.min,b-A),q=E(f)));this.min=q;this.max=b},getClosest:function(){var a;
+this.categories?a=1:this.series.forEach(function(e){var q=e.closestPointRange,b=e.visible||!e.chart.options.chart.ignoreHiddenSeries;!e.noSharedTooltip&&v(q)&&b&&(a=v(a)?Math.min(a,q):q)});return a},nameToX:function(a){var e=b(this.categories),f=e?this.categories:this.names,k=a.options.x,d;a.series.requireSorting=!1;v(k)||(k=!1===this.options.uniqueNames?a.series.autoIncrement():e?f.indexOf(a.name):F(f.keys[a.name],-1));-1===k?e||(d=f.length):d=k;void 0!==d&&(this.names[d]=a.name,this.names.keys[a.name]=
+d);return d},updateNames:function(){var a=this,q=this.names;0<q.length&&(Object.keys(q.keys).forEach(function(a){delete q.keys[a]}),q.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(e){e.xIncrement=null;if(!e.points||e.isDirtyData)a.max=Math.max(a.max,e.xData.length-1),e.processData(),e.generatePoints();e.data.forEach(function(q,b){var f;q&&q.options&&void 0!==q.name&&(f=a.nameToX(q),void 0!==f&&f!==q.x&&(q.x=f,e.xData[b]=f))})}))},setAxisTranslation:function(a){var e=
+this,b=e.max-e.min,k=e.axisPointRange||0,l,g=0,c=0,p=e.linkedParent,A=!!e.categories,t=e.transA,m=e.isXAxis;if(m||A||k)l=e.getClosest(),p?(g=p.minPointOffset,c=p.pointRangePadding):e.series.forEach(function(a){var b=A?1:m?F(a.options.pointRange,l,0):e.axisPointRange||0;a=a.options.pointPlacement;k=Math.max(k,b);e.single||(g=Math.max(g,f(a)?0:b/2),c=Math.max(c,"on"===a?0:b))}),p=e.ordinalSlope&&l?e.ordinalSlope/l:1,e.minPointOffset=g*=p,e.pointRangePadding=c*=p,e.pointRange=Math.min(k,b),m&&(e.closestPointRange=
+l);a&&(e.oldTransA=t);e.translationSlope=e.transA=t=e.staticScale||e.len/(b+c||1);e.transB=e.horiz?e.left:e.bottom;e.minPixelPadding=t*g;d(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(e){var b=this,f=b.chart,k=b.options,g=b.isLog,c=b.isDatetimeAxis,A=b.isXAxis,m=b.isLinked,x=k.maxPadding,n=k.minPadding,D,h=k.tickInterval,B=k.tickPixelInterval,z=b.categories,H=l(b.threshold)?b.threshold:null,w=b.softThreshold,u,y,E;c||z||m||this.getTickAmount();
+y=F(b.userMin,k.min);E=F(b.userMax,k.max);m?(b.linkedParent=f[b.coll][k.linkedTo],D=b.linkedParent.getExtremes(),b.min=F(D.min,D.dataMin),b.max=F(D.max,D.dataMax),k.type!==b.linkedParent.options.type&&a.error(11,1,f)):(!w&&v(H)&&(b.dataMin>=H?(D=H,n=0):b.dataMax<=H&&(u=H,x=0)),b.min=F(y,D,b.dataMin),b.max=F(E,u,b.dataMax));g&&(b.positiveValuesOnly&&!e&&0>=Math.min(b.min,F(b.dataMin,b.min))&&a.error(10,1,f),b.min=r(b.log2lin(b.min),15),b.max=r(b.log2lin(b.max),15));b.range&&v(b.max)&&(b.userMin=b.min=
+y=Math.max(b.dataMin,b.minFromRange()),b.userMax=E=b.max,b.range=null);d(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(z||b.axisPointRange||b.usePercentage||m)&&v(b.min)&&v(b.max)&&(f=b.max-b.min)&&(!v(y)&&n&&(b.min-=f*n),!v(E)&&x&&(b.max+=f*x));l(k.softMin)&&!l(b.userMin)&&(b.min=Math.min(b.min,k.softMin));l(k.softMax)&&!l(b.userMax)&&(b.max=Math.max(b.max,k.softMax));l(k.floor)&&(b.min=Math.min(Math.max(b.min,k.floor),Number.MAX_VALUE));l(k.ceiling)&&(b.max=Math.max(Math.min(b.max,
+k.ceiling),F(b.userMax,-Number.MAX_VALUE)));w&&v(b.dataMin)&&(H=H||0,!v(y)&&b.min<H&&b.dataMin>=H?b.min=H:!v(E)&&b.max>H&&b.dataMax<=H&&(b.max=H));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:m&&!h&&B===b.linkedParent.options.tickPixelInterval?h=b.linkedParent.tickInterval:F(h,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,z?1:(b.max-b.min)*B/Math.max(b.len,B));A&&!e&&b.series.forEach(function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);
+b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!h&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));e=F(k.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!h&&b.tickInterval<e&&(b.tickInterval=e);c||g||h||(b.tickInterval=t(b.tickInterval,null,p(b.tickInterval),F(k.allowDecimals,!(.5<b.tickInterval&&5>b.tickInterval&&1E3<b.max&&9999>b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=
+b.unsquish());this.setTickPositions()},setTickPositions:function(){var e=this.options,b,f=e.tickPositions;b=this.getMinorTickInterval();var k=e.tickPositioner,l=e.startOnTick,g=e.endOnTick;this.tickmarkOffset=this.categories&&"between"===e.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&v(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==e.allowDecimals);this.tickPositions=
+b=f&&f.slice();!b&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(b=[this.min,this.max],a.error(19,!1,this.chart)):b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],
+b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,k&&(k=k.apply(this,[this.min,this.max])))&&(this.tickPositions=b=k);this.paddedTicks=b.slice(0);this.trimTicks(b,l,g);this.isLinked||(this.single&&2>b.length&&(this.min-=.5,this.max+=.5),f||k||this.adjustTickAmount());d(this,"afterSetTickPositions")},trimTicks:function(a,b,f){var e=a[0],k=a[a.length-1],q=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==e)this.min=e;else for(;this.min-q>a[0];)a.shift();if(f)this.max=k;else for(;this.max+
+q<a[a.length-1];)a.pop();0===a.length&&v(e)&&!this.options.tickPositions&&a.push((k+e)/2)}},alignToOthers:function(){var a={},b,f=this.options;!1===this.chart.options.chart.alignTicks||!1===f.alignTicks||!1===f.startOnTick||!1===f.endOnTick||this.isLog||this.chart[this.coll].forEach(function(e){var f=e.options,f=[e.horiz?f.left:f.top,f.width,f.height,f.pane].join();e.series.length&&(a[f]?b=!0:a[f]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,f=a.tickPixelInterval;!v(a.tickInterval)&&
+this.len<f&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/f)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,f=this.tickAmount,k=this.finalTickAmt,d=b&&b.length,l=F(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(d<f){for(;b.length<f;)b.length%2||this.min===l?b.push(r(b[b.length-1]+a)):b.unshift(r(b[0]-a));this.transA*=(d-1)/(f-1);this.min=
+b[0];this.max=b[b.length-1]}else d>f&&(this.tickInterval*=2,this.setTickPositions());if(v(k)){for(a=f=b.length;a--;)(3===k&&1===a%2||2>=k&&0<a&&a<f-1)&&b.splice(a,1);this.finalTickAmt=void 0}}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;this.series.forEach(function(e){if(e.isDirtyData||e.isDirty||e.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==
+this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();d(this,"afterSetScale")},setExtremes:function(a,b,f,k,l){var e=this,q=e.chart;f=F(f,!0);e.series.forEach(function(a){delete a.kdTree});l=g(l,{min:a,max:b});d(e,"setExtremes",l,function(){e.userMin=
+a;e.userMax=b;e.eventArgs=l;f&&q.redraw(k)})},zoom:function(a,b){var e=this.dataMin,f=this.dataMax,k=this.options,d=Math.min(e,F(k.min,e)),k=Math.max(f,F(k.max,f));if(a!==this.min||b!==this.max)this.allowZoomOutside||(v(e)&&(a<d&&(a=d),a>k&&(a=k)),v(f)&&(b<d&&(b=d),b>k&&(b=k))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var e=this.chart,b=this.options,f=b.offsets||[0,0,0,0],k=this.horiz,d=this.width=Math.round(a.relativeLength(F(b.width,
+e.plotWidth-f[3]+f[1]),e.plotWidth)),l=this.height=Math.round(a.relativeLength(F(b.height,e.plotHeight-f[0]+f[2]),e.plotHeight)),g=this.top=Math.round(a.relativeLength(F(b.top,e.plotTop+f[0]),e.plotHeight,e.plotTop)),b=this.left=Math.round(a.relativeLength(F(b.left,e.plotLeft+f[3]),e.plotWidth,e.plotLeft));this.bottom=e.chartHeight-l-g;this.right=e.chartWidth-d-b;this.len=Math.max(k?d:l,0);this.pos=k?b:g},getExtremes:function(){var a=this.isLog;return{min:a?r(this.lin2log(this.min)):this.min,max:a?
+r(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var e=this.isLog,b=e?this.lin2log(this.min):this.min,e=e?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=b:Infinity===a?a=e:b>a?a=b:e<a&&(a=e);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(F(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var e=this.options,b=e[a+"Length"],
+f=F(e[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(f&&b)return"inside"===e[a+"Position"]&&(b=-b),[b,f]},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,f=this.tickInterval,k=f,d=this.len/(((this.categories?1:0)+this.max-this.min)/f),l,g=a.rotation,c=this.labelMetrics(),p,A=Number.MAX_VALUE,
+t,m=function(a){a/=d||1;a=1<a?Math.ceil(a):1;return r(a*f)};b?(t=!a.staggerLines&&!a.step&&(v(g)?[g]:d<F(a.autoRotationLimit,80)&&a.autoRotation))&&t.forEach(function(a){var b;if(a===g||a&&-90<=a&&90>=a)p=m(Math.abs(c.h/Math.sin(w*a))),b=p+Math.abs(a/360),b<A&&(A=b,l=a,k=p)}):a.step||(k=m(c.h));this.autoRotation=t;this.labelRotation=F(l,g);return k},getSlotWidth:function(a){var b=this.chart,e=this.horiz,f=this.options.labels,k=Math.max(this.tickPositions.length-(this.categories?0:1),1),d=b.margin[3];
+return a&&a.slotWidth||e&&2>(f.step||0)&&!f.rotation&&(this.staggerLines||1)*this.len/k||!e&&(f.style&&parseInt(f.style.width,10)||d&&d-b.spacing[3]||.33*b.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,k=this.tickPositions,d=this.ticks,l=this.options.labels,g=l&&l.style||{},c=this.horiz,p=this.getSlotWidth(),A=Math.max(1,Math.round(p-2*(l.padding||5))),t={},m=this.labelMetrics(),x=l.style&&l.style.textOverflow,n,D,h=0,B;f(l.rotation)||(t.rotation=l.rotation||0);k.forEach(function(a){(a=
+d[a])&&a.label&&a.label.textPxLength>h&&(h=a.label.textPxLength)});this.maxLabelLength=h;if(this.autoRotation)h>A&&h>m.h?t.rotation=this.labelRotation:this.labelRotation=0;else if(p&&(n=A,!x))for(D="clip",A=k.length;!c&&A--;)if(B=k[A],B=d[B].label)B.styles&&"ellipsis"===B.styles.textOverflow?B.css({textOverflow:"clip"}):B.textPxLength>p&&B.css({width:p+"px"}),B.getBBox().height>this.len/k.length-(m.h-m.f)&&(B.specificTextOverflow="ellipsis");t.rotation&&(n=h>.5*a.chartHeight?.33*a.chartHeight:h,x||
+(D="ellipsis"));if(this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation))t.align=this.labelAlign;k.forEach(function(a){var b=(a=d[a])&&a.label,e=g.width,f={};b&&(b.attr(t),a.shortenLabel?a.shortenLabel():n&&!e&&"nowrap"!==g.whiteSpace&&(n<b.textPxLength||"SPAN"===b.element.tagName)?(f.width=n,x||(f.textOverflow=b.specificTextOverflow||D),b.css(f)):b.styles&&b.styles.width&&!f.width&&!e&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=t.rotation)},this);this.tickRotCorr=b.rotCorr(m.b,
+this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||v(this.min)&&v(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,e=this.horiz,f=this.opposite,k=this.options.title,d,l=this.chart.styledMode;this.axisTitle||((d=k.textAlign)||(d=(e?{low:"left",middle:"center",high:"right"}:{low:f?"right":"left",middle:"center",high:f?"left":"right"})[k.align]),this.axisTitle=b.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||
+0,align:d}).addClass("highcharts-axis-title"),l||this.axisTitle.css(x(k.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);l||k.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new D(this,a)},getOffset:function(){var a=this,b=a.chart,f=b.renderer,k=a.options,l=a.tickPositions,g=a.ticks,c=a.horiz,p=a.side,A=b.inverted&&!a.isZAxis?[1,0,3,2][p]:p,t,m,x=0,n,D=0,h=k.title,
+B=k.labels,z=0,r=b.axisOffset,b=b.clipOffset,w=[-1,1,1,-1][p],u=k.className,y=a.axisParent;t=a.hasData();a.showAxis=m=t||F(k.showEmpty,!0);a.staggerLines=a.horiz&&B.staggerLines;a.axisGroup||(a.gridGroup=f.g("grid").attr({zIndex:k.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(u||"")).add(y),a.axisGroup=f.g("axis").attr({zIndex:k.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(u||"")).add(y),a.labelGroup=f.g("axis-labels").attr({zIndex:B.zIndex||7}).addClass("highcharts-"+
+a.coll.toLowerCase()+"-labels "+(u||"")).add(y));t||a.isLinked?(l.forEach(function(b,e){a.generateTick(b,e)}),a.renderUnsquish(),a.reserveSpaceDefault=0===p||2===p||{1:"left",3:"right"}[p]===a.labelAlign,F(B.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&l.forEach(function(a){z=Math.max(g[a].getLabelSize(),z)}),a.staggerLines&&(z*=a.staggerLines),a.labelOffset=z*(a.opposite?-1:1)):H(g,function(a,b){a.destroy();delete g[b]});h&&h.text&&!1!==h.enabled&&(a.addTitle(m),m&&!1!==h.reserveSpace&&
+(a.titleOffset=x=a.axisTitle.getBBox()[c?"height":"width"],n=h.offset,D=v(n)?0:F(h.margin,c?5:10)));a.renderLine();a.offset=w*F(k.offset,r[p]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};f=0===p?-a.labelMetrics().h:2===p?a.tickRotCorr.y:0;D=Math.abs(z)+D;z&&(D=D-f+w*(c?F(B.y,a.tickRotCorr.y+8*w):B.x));a.axisTitleMargin=F(n,D);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(g,l));c=this.tickSize("tick");r[p]=Math.max(r[p],a.axisTitleMargin+x+w*a.offset,D,t&&l.length&&c?c[0]+w*a.offset:
+0);k=k.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[A]=Math.max(b[A],k);d(this,"afterGetOffset")},getLinePath:function(a){var b=this.chart,e=this.opposite,f=this.offset,k=this.horiz,d=this.left+(e?this.width:0)+f,f=b.chartHeight-this.bottom-(e?this.height:0)+f;e&&(a*=-1);return b.renderer.crispLine(["M",k?this.left:d,k?f:this.top,"L",k?b.chartWidth-this.right:d,k?f:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),
+this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,f=this.top,k=this.len,d=this.options.title,l=a?b:f,g=this.opposite,c=this.offset,p=d.x||0,A=d.y||0,t=this.axisTitle,m=this.chart.renderer.fontMetrics(d.style&&d.style.fontSize,t),t=Math.max(t.getBBox(null,0).height-m.h-1,0),k={low:l+(a?0:k),middle:l+k/2,high:l+(a?k:0)}[d.align],b=(a?f+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+
+[-t,t,m.f,-t][this.side];return{x:a?k+p:b+(g?this.width:0)+c+p,y:a?b+A-(g?this.height:0)+c:k+A}},renderMinorTick:function(a){var b=this.chart.hasRendered&&l(this.oldMin),e=this.minorTicks;e[a]||(e[a]=new D(this,a,"minor"));b&&e[a].isNew&&e[a].render(null,!0);e[a].render(null,!1,1)},renderTick:function(a,b){var e=this.isLinked,f=this.ticks,k=this.chart.hasRendered&&l(this.oldMin);if(!e||a>=this.min&&a<=this.max)f[a]||(f[a]=new D(this,a)),k&&f[a].isNew&&f[a].render(b,!0,-1),f[a].render(b)},render:function(){var b=
+this,f=b.chart,k=b.options,g=b.isLog,c=b.isLinked,p=b.tickPositions,t=b.axisTitle,m=b.ticks,x=b.minorTicks,n=b.alternateBands,h=k.stackLabels,B=k.alternateGridColor,z=b.tickmarkOffset,F=b.axisLine,r=b.showAxis,w=G(f.renderer.globalAnimation),u,v;b.labelEdge.length=0;b.overlap=!1;[m,x,n].forEach(function(a){H(a,function(a){a.isActive=!1})});if(b.hasData()||c)b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(a){b.renderMinorTick(a)}),p.length&&(p.forEach(function(a,e){b.renderTick(a,
+e)}),z&&(0===b.min||b.single)&&(m[-1]||(m[-1]=new D(b,-1,null,!0)),m[-1].render(-1))),B&&p.forEach(function(e,k){v=void 0!==p[k+1]?p[k+1]+z:b.max-z;0===k%2&&e<b.max&&v<=b.max+(f.polar?-z:z)&&(n[e]||(n[e]=new a.PlotLineOrBand(b)),u=e+z,n[e].options={from:g?b.lin2log(u):u,to:g?b.lin2log(v):v,color:B},n[e].render(),n[e].isActive=!0)}),b._addedPlotLB||((k.plotLines||[]).concat(k.plotBands||[]).forEach(function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);[m,x,n].forEach(function(a){var b,e=[],k=w.duration;
+H(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,e.push(b))});A(function(){for(b=e.length;b--;)a[e[b]]&&!a[e[b]].isActive&&(a[e[b]].destroy(),delete a[e[b]])},a!==n&&f.hasRendered&&k?k:0)});F&&(F[F.isPlaced?"animate":"attr"]({d:this.getLinePath(F.strokeWidth())}),F.isPlaced=!0,F[r?"show":"hide"](!0));t&&r&&(k=b.getTitlePosition(),l(k.y)?(t[t.isNew?"attr":"animate"](k),t.isNew=!1):(t.attr("y",-9999),t.isNew=!0));h&&h.enabled&&b.renderStackTotals();b.isDirty=!1;d(this,"afterRender")},redraw:function(){this.visible&&
+(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()}));this.series.forEach(function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var b=this,e=b.stacks,f=b.plotLinesAndBands,k;d(this,"destroy",{keepEvents:a});a||z(b);H(e,function(a,b){n(a);e[b]=null});[b.ticks,b.minorTicks,b.alternateBands].forEach(function(a){n(a)});if(f)for(a=f.length;a--;)f[a].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){b[a]&&
+(b[a]=b[a].destroy())});for(k in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[k]=b.plotLinesAndBandsGroups[k].destroy();H(b,function(a,e){-1===b.keepProps.indexOf(e)&&delete b[e]})},drawCrosshair:function(a,b){var e,f=this.crosshair,k=F(f.snap,!0),l,g=this.cross;d(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(v(b)||!k)){k?v(b)&&(l=F(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):l=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);
+v(l)&&(e=this.getPlotLinePath(b&&(this.isXAxis?b.x:F(b.stackY,b.y)),null,null,null,l)||null);if(!v(e)){this.hideCrosshair();return}k=this.categories&&!this.isRadial;g||(this.cross=g=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(k?"category ":"thin ")+f.className).attr({zIndex:F(f.zIndex,2)}).add(),this.chart.styledMode||(g.attr({stroke:f.color||(k?c("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":F(f.width,1)}).css({"pointer-events":"none"}),f.dashStyle&&
+g.attr({dashstyle:f.dashStyle})));g.show().attr({d:e});k&&!f.width&&g.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();d(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=B}(J);(function(a){var y=a.Axis,G=a.getMagnitude,E=a.normalizeTickInterval,h=a.timeUnits;y.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};y.prototype.normalizeTimeTickInterval=function(a,
+r){var c=r||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];r=c[c.length-1];var v=h[r[0]],w=r[1],n;for(n=0;n<c.length&&!(r=c[n],v=h[r[0]],w=r[1],c[n+1]&&a<=(v*w[w.length-1]+h[c[n+1][0]])/2);n++);v===h.year&&a<5*v&&(w=[1,2,5]);a=E(a/v,w,"year"===r[0]?Math.max(G(a/v),1):1);return{unitRange:v,count:a,unitName:r[0]}}})(J);(function(a){var y=a.Axis,G=a.getMagnitude,
+E=a.normalizeTickInterval,h=a.pick;y.prototype.getLogTickPositions=function(a,r,u,v){var c=this.options,n=this.len,g=[];v||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),g=this.getLinearTickPositions(a,r,u);else if(.08<=a)for(var n=Math.floor(r),d,m,p,b,l,c=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];n<u+1&&!l;n++)for(m=c.length,d=0;d<m&&!l;d++)p=this.log2lin(this.lin2log(n)*c[d]),p>r&&(!v||b<=u)&&void 0!==b&&g.push(b),b>u&&(l=!0),b=p;else r=this.lin2log(r),u=this.lin2log(u),a=v?this.getMinorTickInterval():
+c.tickInterval,a=h("auto"===a?null:a,this._minorAutoInterval,c.tickPixelInterval/(v?5:1)*(u-r)/((v?n/this.tickPositions.length:n)||1)),a=E(a,null,G(a)),g=this.getLinearTickPositions(a,r,u).map(this.log2lin),v||(this._minorAutoInterval=a/5);v||(this.tickInterval=a);return g};y.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};y.prototype.lin2log=function(a){return Math.pow(10,a)}})(J);(function(a,y){var G=a.arrayMax,E=a.arrayMin,h=a.defined,c=a.destroyObjectProperties,r=a.erase,u=a.merge,
+v=a.pick;a.PlotLineOrBand=function(a,c){this.axis=a;c&&(this.options=c,this.id=c.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var c=this,n=c.axis,g=n.horiz,d=c.options,m=d.label,p=c.label,b=d.to,l=d.from,f=d.value,x=h(l)&&h(b),t=h(f),H=c.svgElem,F=!H,z=[],k=d.color,A=v(d.zIndex,0),D=d.events,z={"class":"highcharts-plot-"+(x?"band ":"line ")+(d.className||"")},B={},e=n.chart.renderer,q=x?"bands":"lines";n.isLog&&(l=n.log2lin(l),b=n.log2lin(b),f=n.log2lin(f));n.chart.styledMode||
+(t?(z.stroke=k,z["stroke-width"]=d.width,d.dashStyle&&(z.dashstyle=d.dashStyle)):x&&(k&&(z.fill=k),d.borderWidth&&(z.stroke=d.borderColor,z["stroke-width"]=d.borderWidth)));B.zIndex=A;q+="-"+A;(k=n.plotLinesAndBandsGroups[q])||(n.plotLinesAndBandsGroups[q]=k=e.g("plot-"+q).attr(B).add());F&&(c.svgElem=H=e.path().attr(z).add(k));if(t)z=n.getPlotLinePath(f,H.strokeWidth());else if(x)z=n.getPlotBandPath(l,b,d);else return;F&&z&&z.length?(H.attr({d:z}),D&&a.objectEach(D,function(a,b){H.on(b,function(a){D[b].apply(c,
+[a])})})):H&&(z?(H.show(),H.animate({d:z})):(H.hide(),p&&(c.label=p=p.destroy())));m&&h(m.text)&&z&&z.length&&0<n.width&&0<n.height&&!z.isFlat?(m=u({align:g&&x&&"center",x:g?!x&&4:10,verticalAlign:!g&&x&&"middle",y:g?x?16:10:x?6:-4,rotation:g&&!x&&90},m),this.renderLabel(m,z,x,A)):p&&p.hide();return c},renderLabel:function(a,c,g,d){var m=this.label,p=this.axis.chart.renderer;m||(m={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(g?"band":"line")+"-label "+(a.className||
+"")},m.zIndex=d,this.label=m=p.text(a.text,0,0,a.useHTML).attr(m).add(),this.axis.chart.styledMode||m.css(a.style));d=c.xBounds||[c[1],c[4],g?c[6]:c[1]];c=c.yBounds||[c[2],c[5],g?c[7]:c[2]];g=E(d);p=E(c);m.align(a,!1,{x:g,y:p,width:G(d)-g,height:G(c)-p});m.show()},destroy:function(){r(this.axis.plotLinesAndBands,this);delete this.axis;c(this)}};a.extend(y.prototype,{getPlotBandPath:function(a,c){var g=this.getPlotLinePath(c,null,null,!0),d=this.getPlotLinePath(a,null,null,!0),m=[],p=this.horiz,b=
+1,l;a=a<this.min&&c<this.min||a>this.max&&c>this.max;if(d&&g)for(a&&(l=d.toString()===g.toString(),b=0),a=0;a<d.length;a+=6)p&&g[a+1]===d[a+1]?(g[a+1]+=b,g[a+4]+=b):p||g[a+2]!==d[a+2]||(g[a+2]+=b,g[a+5]+=b),m.push("M",d[a+1],d[a+2],"L",d[a+4],d[a+5],g[a+4],g[a+5],g[a+1],g[a+2],"z"),m.isFlat=l;return m},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(c,n){var g=(new a.PlotLineOrBand(this,
+c)).render(),d=this.userOptions;g&&(n&&(d[n]=d[n]||[],d[n].push(c)),this.plotLinesAndBands.push(g));return g},removePlotBandOrLine:function(a){for(var c=this.plotLinesAndBands,g=this.options,d=this.userOptions,m=c.length;m--;)c[m].id===a&&c[m].destroy();[g.plotLines||[],d.plotLines||[],g.plotBands||[],d.plotBands||[]].forEach(function(d){for(m=d.length;m--;)d[m].id===a&&r(d,d[m])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(J,
+V);(function(a){var y=a.doc,G=a.extend,E=a.format,h=a.isNumber,c=a.merge,r=a.pick,u=a.splat,v=a.syncTimeout,w=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,c){this.chart=a;this.options=c;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=c.split&&!a.inverted;this.shared=c.shared||this.split;this.outside=c.outside&&!this.split},cleanSplit:function(a){this.chart.series.forEach(function(c){var d=c&&c.tt;d&&(!d.isActive||a?c.tt=d.destroy():
+d.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode","in":"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+
+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var c=this.chart.renderer,g=this.chart.styledMode,d=this.options,m;this.label||(this.outside&&(this.container=m=a.doc.createElement("div"),m.className="highcharts-tooltip-container",a.css(m,{position:"absolute",top:"1px",pointerEvents:d.style&&d.style.pointerEvents}),a.doc.body.appendChild(m),this.renderer=c=new a.Renderer(m,0,0)),this.split?this.label=c.g("tooltip"):(this.label=c.label("",0,0,d.shape||"callout",null,null,d.useHTML,null,
+"tooltip").attr({padding:d.padding,r:d.borderRadius}),g||this.label.attr({fill:d.backgroundColor,"stroke-width":d.borderWidth}).css(d.style).shadow(d.shadow)),g&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),this.outside&&(this.label.attr({x:this.distance,y:this.distance}),this.label.xSetter=function(a){m.style.left=a+"px"},this.label.ySetter=function(a){m.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();
+c(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,c(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(c,g,d,m){var p=this,b=p.now,l=!1!==p.options.animation&&!p.isHidden&&(1<Math.abs(c-b.x)||1<Math.abs(g-
+b.y)),f=p.followPointer||1<p.len;G(b,{x:l?(2*b.x+c)/3:c,y:l?(b.y+g)/2:g,anchorX:f?void 0:l?(2*b.anchorX+d)/3:d,anchorY:f?void 0:l?(b.anchorY+m)/2:m});p.getLabel().attr(b);l&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){p&&p.move(c,g,d,m)},32))},hide:function(c){var g=this;a.clearTimeout(this.hideTimer);c=r(c,this.options.hideDelay,500);this.isHidden||(this.hideTimer=v(function(){g.getLabel()[c?"fadeOut":"hide"]();g.isHidden=!0},c))},getAnchor:function(a,c){var d=
+this.chart,g=d.pointer,p=d.inverted,b=d.plotTop,l=d.plotLeft,f=0,x=0,t,h;a=u(a);this.followPointer&&c?(void 0===c.chartX&&(c=g.normalize(c)),a=[c.chartX-d.plotLeft,c.chartY-b]):a[0].tooltipPos?a=a[0].tooltipPos:(a.forEach(function(a){t=a.series.yAxis;h=a.series.xAxis;f+=a.plotX+(!p&&h?h.left-l:0);x+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!p&&t?t.top-b:0)}),f/=a.length,x/=a.length,a=[p?d.plotWidth-x:f,this.shared&&!p&&1<a.length&&c?c.chartY-b:p?d.plotHeight-f:x]);return a.map(Math.round)},getPosition:function(a,
+c,d){var g=this.chart,p=this.distance,b={},l=g.inverted&&d.h||0,f,x=this.outside,t=x?y.documentElement.clientWidth-2*p:g.chartWidth,h=x?Math.max(y.body.scrollHeight,y.documentElement.scrollHeight,y.body.offsetHeight,y.documentElement.offsetHeight,y.documentElement.clientHeight):g.chartHeight,n=g.pointer.chartPosition,z=["y",h,c,(x?n.top-p:0)+d.plotY+g.plotTop,x?0:g.plotTop,x?h:g.plotTop+g.plotHeight],k=["x",t,a,(x?n.left-p:0)+d.plotX+g.plotLeft,x?0:g.plotLeft,x?t:g.plotLeft+g.plotWidth],A=!this.followPointer&&
+r(d.ttBelow,!g.inverted===!!d.negative),D=function(a,e,f,k,d,c){var g=f<k-p,q=k+p+f<e,t=k-p-f;k+=p;if(A&&q)b[a]=k;else if(!A&&g)b[a]=t;else if(g)b[a]=Math.min(c-f,0>t-l?t:t-l);else if(q)b[a]=Math.max(d,k+l+f>e?k:k+l);else return!1},B=function(a,e,f,k){var d;k<p||k>e-p?d=!1:b[a]=k<f/2?1:k>e-f/2?e-f-2:k-f/2;return d},e=function(a){var b=z;z=k;k=b;f=a},q=function(){!1!==D.apply(0,z)?!1!==B.apply(0,k)||f||(e(!0),q()):f?b.x=b.y=0:(e(!0),q())};(g.inverted||1<this.len)&&e();q();return b},defaultFormatter:function(a){var c=
+this.points||u(this),d;d=[a.tooltipFooterHeaderFormatter(c[0])];d=d.concat(a.bodyFormatter(c));d.push(a.tooltipFooterHeaderFormatter(c[0],!0));return d},refresh:function(c,g){var d,m=this.options,p,b=c,l,f={},x=[];d=m.formatter||this.defaultFormatter;var f=this.shared,t,h=this.chart.styledMode;m.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=u(b)[0].series.tooltipOptions.followPointer,l=this.getAnchor(b,g),g=l[0],p=l[1],!f||b.series&&b.series.noSharedTooltip?f=b.getLabelConfig():(b.forEach(function(a){a.setState("hover");
+x.push(a.getLabelConfig())}),f={x:b[0].category,y:b[0].y},f.points=x,b=b[0]),this.len=x.length,f=d.call(f,this),t=b.series,this.distance=r(t.tooltipOptions.distance,16),!1===f?this.hide():(d=this.getLabel(),this.isHidden&&d.attr({opacity:1}).show(),this.split?this.renderSplit(f,u(c)):(m.style.width&&!h||d.css({width:this.chart.spacingBox.width}),d.attr({text:f&&f.join?f.join(""):f}),d.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+r(b.colorIndex,t.colorIndex)),h||d.attr({stroke:m.borderColor||
+b.color||t.color||"#666666"}),this.updatePosition({plotX:g,plotY:p,negative:b.negative,ttBelow:b.ttBelow,h:l[2]||0})),this.isHidden=!1))},renderSplit:function(c,g){var d=this,m=[],p=this.chart,b=p.renderer,l=!0,f=this.options,x=0,t,h=this.getLabel(),n=p.plotTop;a.isString(c)&&(c=[!1,c]);c.slice(0,g.length+1).forEach(function(a,k){if(!1!==a&&""!==a){k=g[k-1]||{isHeader:!0,plotX:g[0].plotX,plotY:p.plotHeight};var c=k.series||d,D=c.tt,B=k.series||{},e="highcharts-color-"+r(k.colorIndex,B.colorIndex,
+"none");D||(D={padding:f.padding,r:f.borderRadius},p.styledMode||(D.fill=f.backgroundColor,D.stroke=f.borderColor||k.color||B.color||"#333333",D["stroke-width"]=f.borderWidth),c.tt=D=b.label(null,null,null,(k.isHeader?f.headerShape:f.shape)||"callout",null,null,f.useHTML).addClass("highcharts-tooltip-box "+e).attr(D).add(h));D.isActive=!0;D.attr({text:a});p.styledMode||D.css(f.style).shadow(f.shadow);a=D.getBBox();B=a.width+D.strokeWidth();k.isHeader?(x=a.height,p.xAxis[0].opposite&&(t=!0,n-=x),B=
+Math.max(0,Math.min(k.plotX+p.plotLeft-B/2,p.chartWidth+(p.scrollablePixels?p.scrollablePixels-p.marginRight:0)-B))):B=k.plotX+p.plotLeft-r(f.distance,16)-B;0>B&&(l=!1);a=(k.series&&k.series.yAxis&&k.series.yAxis.pos)+(k.plotY||0);a-=n;k.isHeader&&(a=t?-x:p.plotHeight+x);m.push({target:a,rank:k.isHeader?1:0,size:c.tt.getBBox().height+1,point:k,x:B,tt:D})}});this.cleanSplit();f.positioner&&m.forEach(function(a){var b=f.positioner.call(d,a.tt.getBBox().width,a.size,a.point);a.x=b.x;a.align=0;a.target=
+b.y;a.rank=r(b.rank,a.rank)});a.distribute(m,p.plotHeight+x);m.forEach(function(a){var b=a.point,d=b.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:l||b.isHeader||f.positioner?a.x:b.plotX+p.plotLeft+r(f.distance,16),y:a.pos+n,anchorX:b.isHeader?b.plotX+p.plotLeft:b.plotX+d.xAxis.pos,anchorY:b.isHeader?p.plotTop+p.plotHeight/2:b.plotY+d.yAxis.pos})})},updatePosition:function(a){var c=this.chart,d=this.getLabel(),m=(this.options.positioner||this.getPosition).call(this,d.width,d.height,
+a),p=a.plotX+c.plotLeft;a=a.plotY+c.plotTop;var b;this.outside&&(b=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(d.width+b,d.height+b,!1),p+=c.pointer.chartPosition.left-m.x,a+=c.pointer.chartPosition.top-m.y);this.move(Math.round(m.x),Math.round(m.y||0),p,a)},getDateFormat:function(a,c,d,m){var g=this.chart.time,b=g.dateFormat("%m-%d %H:%M:%S.%L",c),l,f,x={millisecond:15,second:12,minute:9,hour:6,day:3},t="millisecond";for(f in w){if(a===w.week&&+g.dateFormat("%w",c)===d&&"00:00:00.000"===
+b.substr(6)){f="week";break}if(w[f]>a){f=t;break}if(x[f]&&b.substr(x[f])!=="01-01 00:00:00.000".substr(x[f]))break;"week"!==f&&(t=f)}f&&(l=g.resolveDTLFormat(m[f]).main);return l},getXDateFormat:function(a,c,d){c=c.dateTimeLabelFormats;var g=d&&d.closestPointRange;return(g?this.getDateFormat(g,a.x,d.options.startOfWeek,c):c.day)||c.year},tooltipFooterHeaderFormatter:function(a,c){c=c?"footer":"header";var d=a.series,g=d.tooltipOptions,p=g.xDateFormat,b=d.xAxis,l=b&&"datetime"===b.options.type&&h(a.key),
+f=g[c+"Format"];l&&!p&&(p=this.getXDateFormat(a,g,b));l&&p&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(a){f=f.replace("{point."+a+"}","{point."+a+":"+p+"}")});d.chart.styledMode&&(f=this.styledModeFormat(f));return E(f,{point:a,series:d},this.chart.time)},bodyFormatter:function(a){return a.map(function(a){var d=a.series.tooltipOptions;return(d[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,d[(a.point.formatPrefix||"point")+"Format"]||"")})},
+styledModeFormat:function(a){return a.replace('style\x3d"font-size: 10px"','class\x3d"highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class\x3d"highcharts-color-{$1.colorIndex}"')}}})(J);(function(a){var y=a.addEvent,G=a.attr,E=a.charts,h=a.color,c=a.css,r=a.defined,u=a.extend,v=a.find,w=a.fireEvent,n=a.isNumber,g=a.isObject,d=a.offset,m=a.pick,p=a.splat,b=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,f){this.options=f;this.chart=a;this.runChartClick=
+f.chart.events&&!!f.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,f.tooltip),this.followTouchMove=m(f.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart,l=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(l=m(d.pinchType,l));this.zoomX=a=/x/.test(l);this.zoomY=l=/y/.test(l);this.zoomHor=a&&!b||l&&b;this.zoomVert=l&&!b||a&&b;this.hasZoom=a||l},normalize:function(a,b){var f;f=a.touches?a.touches.length?a.touches.item(0):
+a.changedTouches[0]:a;b||(this.chartPosition=b=d(this.chart.container));return u(a,{chartX:Math.round(f.pageX-b.left),chartY:Math.round(f.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(f){b[f.isXAxis?"xAxis":"yAxis"].push({axis:f,value:f.toValue(a[f.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,b,d){var f;a.forEach(function(a){var l=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(d,
+l);if((l=g(a,!0))&&!(l=!g(f,!0)))var l=f.distX-a.distX,c=f.dist-a.dist,k=(a.series.group&&a.series.group.zIndex)-(f.series.group&&f.series.group.zIndex),l=0<(0!==l&&b?l:0!==c?c:0!==k?k:f.series.index>a.series.index?-1:1);l&&(f=a)});return f},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var f=a.series,d=f.xAxis,f=f.yAxis,l=m(a.clientX,a.plotX),c=a.shapeArgs;if(d&&f)return b?{chartX:d.len+d.pos-l,chartY:f.len+
+f.pos-a.plotY}:{chartX:l+d.pos,chartY:a.plotY+f.pos};if(c&&c.x&&c.y)return{chartX:c.x,chartY:c.y}},getHoverData:function(a,b,d,c,p,h,n){var f,l=[],t=n&&n.isBoosting;c=!(!c||!a);n=b&&!b.stickyTracking?[b]:d.filter(function(a){return a.visible&&!(!p&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&a.stickyTracking});b=(f=c?a:this.findNearestKDPoint(n,p,h))&&f.series;f&&(p&&!b.noSharedTooltip?(n=d.filter(function(a){return a.visible&&!(!p&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),
+n.forEach(function(a){var b=v(a.points,function(a){return a.x===f.x&&!a.isNull});g(b)&&(t&&(b=a.getPoint(b)),l.push(b))})):l.push(f));return{hoverPoint:f,hoverSeries:b,hoverPoints:l}},runPointActions:function(b,f){var d=this.chart,c=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,l=c?c.shared:!1,g=f||d.hoverPoint,p=g&&g.series||d.hoverSeries,p=this.getHoverData(g,p,d.series,"touchmove"!==b.type&&(!!f||p&&p.directTouch&&this.isDirectTouch),l,b,{isBoosting:d.isBoosting}),k,g=p.hoverPoint;k=p.hoverPoints;
+f=(p=p.hoverSeries)&&p.tooltipOptions.followPointer;l=l&&p&&!p.noSharedTooltip;if(g&&(g!==d.hoverPoint||c&&c.isHidden)){(d.hoverPoints||[]).forEach(function(a){-1===k.indexOf(a)&&a.setState()});(k||[]).forEach(function(a){a.setState("hover")});if(d.hoverSeries!==p)p.onMouseOver();d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!g.series)return;g.firePointEvent("mouseOver");d.hoverPoints=k;d.hoverPoint=g;c&&c.refresh(l?k:g,b)}else f&&c&&!c.isHidden&&(g=c.getAnchor([{}],b),c.updatePosition({plotX:g[0],
+plotY:g[1]}));this.unDocMouseMove||(this.unDocMouseMove=y(d.container.ownerDocument,"mousemove",function(b){var f=E[a.hoverChartIndex];if(f)f.pointer.onDocumentMouseMove(b)}));d.axes.forEach(function(f){var d=m(f.crosshair.snap,!0),c=d?a.find(k,function(a){return a.series[f.coll]===f}):void 0;c||!d?f.drawCrosshair(b,c):f.hideCrosshair()})},reset:function(a,b){var f=this.chart,d=f.hoverSeries,c=f.hoverPoint,l=f.hoverPoints,g=f.tooltip,k=g&&g.shared?l:c;a&&k&&p(k).forEach(function(b){b.series.isCartesian&&
+void 0===b.plotX&&(a=!1)});if(a)g&&k&&k.length&&(g.refresh(k),g.shared&&l?l.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):c&&(c.setState(c.state,!0),f.axes.forEach(function(a){a.crosshair&&a.drawCrosshair(null,c)})));else{if(c)c.onMouseOut();l&&l.forEach(function(a){a.setState()});if(d)d.onMouseOut();g&&g.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=
+this.unDocMouseMove());f.axes.forEach(function(a){a.hideCrosshair()});this.hoverX=f.hoverPoints=f.hoverPoint=null}},scaleGroups:function(a,b){var f=this.chart,d;f.series.forEach(function(c){d=a||c.getPlotBox();c.xAxis&&c.xAxis.zoomEnabled&&c.group&&(c.group.attr(d),c.markerGroup&&(c.markerGroup.attr(d),c.markerGroup.clip(b?f.clipRect:null)),c.dataLabelsGroup&&c.dataLabelsGroup.attr(d))});f.clipRect.attr(b||f.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=
+this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,d=b.options.chart,c=a.chartX,l=a.chartY,g=this.zoomHor,p=this.zoomVert,k=b.plotLeft,m=b.plotTop,D=b.plotWidth,B=b.plotHeight,e,q=this.selectionMarker,n=this.mouseDownX,r=this.mouseDownY,u=d.panKey&&a[d.panKey+"Key"];q&&q.touch||(c<k?c=k:c>k+D&&(c=k+D),l<m?l=m:l>m+B&&(l=m+B),this.hasDragged=Math.sqrt(Math.pow(n-c,2)+Math.pow(r-l,2)),10<this.hasDragged&&(e=b.isInsidePlot(n-k,r-m),b.hasCartesianSeries&&
+(this.zoomX||this.zoomY)&&e&&!u&&!q&&(this.selectionMarker=q=b.renderer.rect(k,m,g?1:D,p?1:B,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),b.styledMode||q.attr({fill:d.selectionMarkerFill||h("#335cad").setOpacity(.25).get()})),q&&g&&(c-=n,q.attr({width:Math.abs(c),x:(0<c?0:c)+n})),q&&p&&(c=l-r,q.attr({height:Math.abs(c),y:(0<c?0:c)+r})),e&&!q&&d.panning&&b.pan(a,d.panning)))},drop:function(a){var b=this,d=this.chart,l=this.hasPinched;if(this.selectionMarker){var g={originalEvent:a,
+xAxis:[],yAxis:[]},p=this.selectionMarker,m=p.attr?p.attr("x"):p.x,k=p.attr?p.attr("y"):p.y,A=p.attr?p.attr("width"):p.width,D=p.attr?p.attr("height"):p.height,h;if(this.hasDragged||l)d.axes.forEach(function(e){if(e.zoomEnabled&&r(e.min)&&(l||b[{xAxis:"zoomX",yAxis:"zoomY"}[e.coll]])){var f=e.horiz,d="touchend"===a.type?e.minPixelPadding:0,c=e.toValue((f?m:k)+d),f=e.toValue((f?m+A:k+D)-d);g[e.coll].push({axis:e,min:Math.min(c,f),max:Math.max(c,f)});h=!0}}),h&&w(d,"selection",g,function(a){d.zoom(u(a,
+l?{animation:!1}:null))});n(d.index)&&(this.selectionMarker=this.selectionMarker.destroy());l&&this.scaleGroups()}d&&n(d.index)&&(c(d.container,{cursor:d._cursor}),d.cancelClick=10<this.hasDragged,d.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){E[a.hoverChartIndex]&&E[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=
+this.chart,d=this.chartPosition;a=this.normalize(a,d);!d||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var f=E[a.hoverChartIndex];f&&(b.relatedTarget||b.toElement)&&(f.pointer.reset(),f.pointer.chartPosition=null)},onContainerMouseMove:function(b){var f=this.chart;r(a.hoverChartIndex)&&E[a.hoverChartIndex]&&E[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=f.index);b=this.normalize(b);b.returnValue=
+!1;"mousedown"===f.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!f.isInsidePlot(b.chartX-f.plotLeft,b.chartY-f.plotTop)||f.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var f;a;){if(f=G(a,"class")){if(-1!==f.indexOf(b))return!0;if(-1!==f.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||
+this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,d=b.hoverPoint,c=b.plotLeft,l=b.plotTop;a=this.normalize(a);b.cancelClick||(d&&this.inClass(a.target,"highcharts-tracker")?(w(d.series,"click",u(a,{point:d})),b.hoverPoint&&d.firePointEvent("click",a)):(u(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-c,a.chartY-l)&&w(b,"click",a)))},setDOMEvents:function(){var b=this,f=b.chart.container,d=f.ownerDocument;
+f.onmousedown=function(a){b.onContainerMouseDown(a)};f.onmousemove=function(a){b.onContainerMouseMove(a)};f.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=y(f,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=y(d,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(f.ontouchstart=function(a){b.onContainerTouchStart(a)},f.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=y(d,"touchend",b.onDocumentTouchEnd)))},
+destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,d){b[d]=null})}}})(J);(function(a){var y=a.charts,G=a.extend,E=a.noop,h=a.pick;G(a.Pointer.prototype,{pinchTranslate:function(a,h,u,v,w,n){this.zoomHor&&this.pinchTranslateDirection(!0,
+a,h,u,v,w,n);this.zoomVert&&this.pinchTranslateDirection(!1,a,h,u,v,w,n)},pinchTranslateDirection:function(a,h,u,v,w,n,g,d){var c=this.chart,p=a?"x":"y",b=a?"X":"Y",l="chart"+b,f=a?"width":"height",x=c["plot"+(a?"Left":"Top")],t,r,F=d||1,z=c.inverted,k=c.bounds[a?"h":"v"],A=1===h.length,D=h[0][l],B=u[0][l],e=!A&&h[1][l],q=!A&&u[1][l],L;u=function(){!A&&20<Math.abs(D-e)&&(F=d||Math.abs(B-q)/Math.abs(D-e));r=(x-B)/F+D;t=c["plot"+(a?"Width":"Height")]/F};u();h=r;h<k.min?(h=k.min,L=!0):h+t>k.max&&(h=
+k.max-t,L=!0);L?(B-=.8*(B-g[p][0]),A||(q-=.8*(q-g[p][1])),u()):g[p]=[B,q];z||(n[p]=r-x,n[f]=t);n=z?1/F:F;w[f]=t;w[p]=h;v[z?a?"scaleY":"scaleX":"scale"+b]=F;v["translate"+b]=n*x+(B-n*D)},pinch:function(a){var c=this,u=c.chart,v=c.pinchDown,w=a.touches,n=w.length,g=c.lastValidTouch,d=c.hasZoom,m=c.selectionMarker,p={},b=1===n&&(c.inClass(a.target,"highcharts-tracker")&&u.runTrackerClick||c.runChartClick),l={};1<n&&(c.initiated=!0);d&&c.initiated&&!b&&a.preventDefault();[].map.call(w,function(a){return c.normalize(a)});
+"touchstart"===a.type?([].forEach.call(w,function(a,b){v[b]={chartX:a.chartX,chartY:a.chartY}}),g.x=[v[0].chartX,v[1]&&v[1].chartX],g.y=[v[0].chartY,v[1]&&v[1].chartY],u.axes.forEach(function(a){if(a.zoomEnabled){var b=u.bounds[a.horiz?"h":"v"],f=a.minPixelPadding,d=a.toPixels(h(a.options.min,a.dataMin)),c=a.toPixels(h(a.options.max,a.dataMax)),l=Math.max(d,c);b.min=Math.min(a.pos,Math.min(d,c)-f);b.max=Math.max(a.pos+a.len,l+f)}}),c.res=!0):c.followTouchMove&&1===n?this.runPointActions(c.normalize(a)):
+v.length&&(m||(c.selectionMarker=m=G({destroy:E,touch:!0},u.plotBox)),c.pinchTranslate(v,w,p,m,l,g),c.hasPinched=d,c.scaleGroups(p,l),c.res&&(c.res=!1,this.reset(!1,0)))},touch:function(c,r){var u=this.chart,v,w;if(u.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=u.index;1===c.touches.length?(c=this.normalize(c),(w=u.isInsidePlot(c.chartX-u.plotLeft,c.chartY-u.plotTop))&&!u.openMenu?(r&&this.runPointActions(c),"touchmove"===c.type&&(r=this.pinchDown,v=r[0]?
+4<=Math.sqrt(Math.pow(r[0].chartX-c.chartX,2)+Math.pow(r[0].chartY-c.chartY,2)):!1),h(v,!0)&&this.pinch(c)):r&&this.reset()):2===c.touches.length&&this.pinch(c)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(c){y[a.hoverChartIndex]&&y[a.hoverChartIndex].pointer.drop(c)}})})(J);(function(a){var y=a.addEvent,G=a.charts,E=a.css,h=a.doc,c=a.extend,r=a.noop,u=a.Pointer,v=a.removeEvent,w=a.win,n=a.wrap;
+if(!a.hasTouch&&(w.PointerEvent||w.MSPointerEvent)){var g={},d=!!w.PointerEvent,m=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(g,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},p=function(b,d,f,c){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!G[a.hoverChartIndex]||(c(b),c=G[a.hoverChartIndex].pointer,c[d]({type:f,target:b.currentTarget,preventDefault:r,touches:m()}))};c(u.prototype,{onContainerPointerDown:function(a){p(a,"onContainerTouchStart",
+"touchstart",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){p(a,"onContainerTouchMove","touchmove",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY};g[a.pointerId].target||(g[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){p(a,"onDocumentTouchEnd","touchend",function(a){delete g[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,d?"pointerdown":"MSPointerDown",this.onContainerPointerDown);
+a(this.chart.container,d?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(h,d?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});n(u.prototype,"init",function(a,d,f){a.call(this,d,f);this.hasZoom&&E(d.container,{"-ms-touch-action":"none","touch-action":"none"})});n(u.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(y)});n(u.prototype,"destroy",function(a){this.batchMSEvents(v);a.call(this)})}})(J);(function(a){var y=a.addEvent,
+G=a.css,E=a.discardElement,h=a.defined,c=a.fireEvent,r=a.isFirefox,u=a.marginNames,v=a.merge,w=a.pick,n=a.setAnimation,g=a.stableSort,d=a.win,m=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),y(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=y(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&
+this.unchartrender())},setOptions:function(a){var b=w(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=v(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=w(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,b){var d=this.chart;this.setOptions(v(!0,this.options,a));this.destroy();d.isDirtyLegend=d.isDirtyBox=!0;
+w(b,!0)&&d.redraw();c(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var d=this.options,f=a.legendItem,g=a.legendLine,p=a.legendSymbol,m=this.itemHiddenStyle.color,d=b?d.itemStyle.color:m,h=b?a.color||m:m,n=a.options&&a.options.marker,k={fill:h};f&&f.css({fill:d,color:d});g&&g.attr({stroke:h});p&&(n&&p.isMarker&&(k=a.pointAttribs(),b||(k.stroke=k.fill=m)),p.attr(k))}c(this,"afterColorizeItem",{item:a,
+visible:b})},positionItems:function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,d=b.symbolPadding,b=!b.rtl,f=a._legendItemPos,c=f[0],f=f[1],g=a.checkbox;if((a=a.legendGroup)&&a.element)a[h(a.translateY)?"animate":"attr"]({translateX:b?c:this.legendWidth-c-2*d-4,translateY:f});g&&(g.x=c,g.y=f)},destroyItem:function(a){var b=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(b){a[b]&&
+(a[b]=a[b].destroy())});b&&E(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(a,b)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,b,d=this.clipHeight||this.legendHeight,f=this.titleHeight;a&&(b=a.translateY,this.allItems.forEach(function(c){var g=c.checkbox,l;g&&(l=b+f+g.y+(this.scrollOffset||
+0)+3,G(g,{left:a.translateX+c.checkboxOffset+g.x-20+"px",top:l+"px",display:this.proximate||l>b-6&&l<b+d-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,d=a.title,f=0;d.text&&(this.title||(this.title=this.chart.renderer.label(d.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(d.style),this.title.add(this.group)),a=this.title.getBBox(),f=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:f}));
+this.titleHeight=f},setText:function(d){var b=this.options;d.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,d,this.chart.time):b.labelFormatter.call(d)})},renderItem:function(a){var b=this.chart,d=b.renderer,f=this.options,c=this.symbolWidth,g=f.symbolPadding,p=this.itemStyle,m=this.itemHiddenStyle,h="horizontal"===f.layout?w(f.itemDistance,20):0,k=!f.rtl,A=a.legendItem,D=!a.series,B=!D&&a.series.drawLegendSymbol?a.series:a,e=B.options,e=this.createCheckboxForItem&&e&&e.showCheckbox,h=
+c+g+h+(e?20:0),q=f.useHTML,n=a.options.className;A||(a.legendGroup=d.g("legend-item").addClass("highcharts-"+B.type+"-series highcharts-color-"+a.colorIndex+(n?" "+n:"")+(D?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=A=d.text("",k?c+g:-g,this.baseline||0,q),b.styledMode||A.css(v(a.visible?p:m)),A.attr({align:k?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=d.fontMetrics(b.styledMode?12:p.fontSize,A),this.baseline=this.fontMetrics.f+
+3+this.itemMarginTop,A.attr("y",this.baseline)),this.symbolHeight=f.symbolHeight||this.fontMetrics.f,B.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,A,q),e&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);!b.styledMode&&p.width||A.css({width:(f.itemWidth||f.width||b.spacingBox.width)-h});this.setText(a);b=A.getBBox();a.itemWidth=a.checkboxOffset=f.itemWidth||a.legendItemWidth||b.width+h;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=
+a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,d=this.padding,f="horizontal"===b.layout,c=a.itemHeight,g=b.itemMarginBottom||0,p=this.itemMarginTop,m=f?w(b.itemDistance,20):0,h=b.width,k=h||this.chart.spacingBox.width-2*d-b.x,b=b.alignColumns&&this.totalItemWidth>k?this.maxItemWidth:a.itemWidth;f&&this.itemX-d+b>k&&(this.itemX=d,this.itemY+=p+this.lastLineHeight+g,this.lastLineHeight=0);this.lastItemY=
+p+this.itemY+g;this.lastLineHeight=Math.max(c,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=b:(this.itemY+=p+c+g,this.lastLineHeight=c);this.offsetWidth=h||Math.max((f?this.itemX-d-(a.checkbox?0:m):b)+d,this.offsetWidth)},getAllItems:function(){var a=[];this.chart.series.forEach(function(b){var d=b&&b.options;b&&w(d.showInLegend,h(d.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===d.legendType?b.data:b)))});c(this,"afterGetAllItems",{allItems:a});return a},
+getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var d=this.chart,f=this.options,c=this.getAlignment();c&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(g,l){g.test(c)&&!h(a[l])&&(d[u[l]]=Math.max(d[u[l]],d.legend[(l+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][l]*f[l%2?"x":"y"]+w(f.margin,12)+b[l]+(0===l&&void 0!==d.options.title.margin?
+d.titleOffset+d.options.title.margin:0)))})},proximatePositions:function(){var d=this.chart,b=[],c="left"===this.options.align;this.allItems.forEach(function(f){var g,l;g=c;f.xAxis&&f.points&&(f.xAxis.options.reversed&&(g=!g),g=a.find(g?f.points:f.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),l=f.legendGroup.getBBox().height,b.push({target:f.visible?(g?g.plotY:f.xAxis.height)-.3*l:d.plotHeight,size:l,item:f}))},this);a.distribute(b,d.plotHeight);b.forEach(function(a){a.item._legendItemPos[1]=
+d.plotTop-d.spacing[0]+a.pos})},render:function(){var a=this.chart,b=a.renderer,d=this.group,f,c,m,h=this.box,n=this.options,z=this.padding;this.itemX=z;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;d||(this.group=d=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(d),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();f=this.getAllItems();g(f,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||
+0)});n.reversed&&f.reverse();this.allItems=f;this.display=c=!!f.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;f.forEach(this.renderItem,this);f.forEach(this.layoutItem,this);f=(n.width||this.offsetWidth)+z;m=this.lastItemY+this.lastLineHeight+this.titleHeight;m=this.handleOverflow(m);m+=z;h||(this.box=h=b.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(d),h.isNew=!0);a.styledMode||h.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||
+0,fill:n.backgroundColor||"none"}).shadow(n.shadow);0<f&&0<m&&(h[h.isNew?"attr":"animate"](h.crisp.call({},{x:0,y:0,width:f,height:m},h.strokeWidth())),h.isNew=!1);h[c?"show":"hide"]();a.styledMode&&"none"===d.getStyle("display")&&(f=m=0);this.legendWidth=f;this.legendHeight=m;c&&(b=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(b=v(b,{y:b.y+a.titleOffset+a.options.title.margin})),d.align(v(n,{width:f,height:m,verticalAlign:this.proximate?"top":n.verticalAlign}),!0,b));this.proximate||this.positionItems()},
+handleOverflow:function(a){var b=this,d=this.chart,f=d.renderer,c=this.options,g=c.y,m=this.padding,g=d.spacingBox.height+("top"===c.verticalAlign?-g:g)-m,p=c.maxHeight,h,k=this.clipRect,A=c.navigation,D=w(A.animation,!0),n=A.arrowSize||12,e=this.nav,q=this.pages,r,u=this.allItems,v=function(a){"number"===typeof a?k.attr({height:a}):k&&(b.clipRect=k.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+m+"px,9999px,"+(m+a)+"px,0)":"auto")};"horizontal"!==c.layout||
+"middle"===c.verticalAlign||c.floating||(g/=2);p&&(g=Math.min(g,p));q.length=0;a>g&&!1!==A.enabled?(this.clipHeight=h=Math.max(g-20-this.titleHeight-m,0),this.currentPage=w(this.currentPage,1),this.fullHeight=a,u.forEach(function(a,b){var e=a._legendItemPos[1],d=Math.round(a.legendItem.getBBox().height),f=q.length;if(!f||e-q[f-1]>h&&(r||e)!==q[f-1])q.push(r||e),f++;a.pageIx=f-1;r&&(u[b-1].pageIx=f-1);b===u.length-1&&e+d-q[f-1]>h&&e!==r&&(q.push(e),a.pageIx=f);e!==r&&(r=e)}),k||(k=b.clipRect=f.clipRect(0,
+m,9999,0),b.contentGroup.clip(k)),v(h),e||(this.nav=e=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,n,n).on("click",function(){b.scroll(-1,D)}).add(e),this.pager=f.text("",15,10).addClass("highcharts-legend-navigation"),d.styledMode||this.pager.css(A.style),this.pager.add(e),this.down=f.symbol("triangle-down",0,0,n,n).on("click",function(){b.scroll(1,D)}).add(e)),b.scroll(0),a=g):e&&(v(),this.nav=e.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},
+scroll:function(a,b){var d=this.pages,f=d.length;a=this.currentPage+a;var c=this.clipHeight,g=this.options.navigation,m=this.pager,p=this.padding;a>f&&(a=f);0<a&&(void 0!==b&&n(b,this.chart),this.nav.attr({translateX:p,translateY:c+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),m.attr({text:a+"/"+f}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===f?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),
+this.chart.styledMode||(this.up.attr({fill:1===a?g.inactiveColor:g.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===f?g.inactiveColor:g.activeColor}).css({cursor:a===f?"default":"pointer"})),this.scrollOffset=-d[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var d=a.symbolHeight,f=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(f?
+(a.symbolWidth-d)/2:0,a.baseline-d+1,f?d:a.symbolWidth,d,w(a.options.symbolRadius,d/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options,d=b.marker,f=a.symbolWidth,c=a.symbolHeight,g=c/2,m=this.chart.renderer,p=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var h={};this.chart.styledMode||(h={"stroke-width":b.lineWidth||0},b.dashStyle&&(h.dashstyle=b.dashStyle));this.legendLine=m.path(["M",0,a,"L",f,a]).addClass("highcharts-graph").attr(h).add(p);
+d&&!1!==d.enabled&&f&&(b=Math.min(w(d.radius,g),g),0===this.symbol.indexOf("url")&&(d=v(d,{width:c,height:c}),b=0),this.legendSymbol=d=m.symbol(this.symbol,f/2-b,a-b,2*b,2*b,d).addClass("highcharts-point").add(p),d.isMarker=!0)}};(/Trident\/7\.0/.test(d.navigator.userAgent)||r)&&m(a.Legend.prototype,"positionItem",function(a,b){var d=this,f=function(){b._legendItemPos&&a.call(d,b)};f();d.bubbleLegend||setTimeout(f)})})(J);(function(a){var y=a.addEvent,G=a.animate,E=a.animObject,h=a.attr,c=a.doc,r=
+a.Axis,u=a.createElement,v=a.defaultOptions,w=a.discardElement,n=a.charts,g=a.css,d=a.defined,m=a.extend,p=a.find,b=a.fireEvent,l=a.isNumber,f=a.isObject,x=a.isString,t=a.Legend,H=a.marginNames,F=a.merge,z=a.objectEach,k=a.Pointer,A=a.pick,D=a.pInt,B=a.removeEvent,e=a.seriesTypes,q=a.splat,L=a.syncTimeout,I=a.win,R=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,e){return new R(a,b,e)};m(R.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(x(a[0])||
+a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(e,d){var f,k,c=e.series,g=e.plotOptions||{};b(this,"init",{args:arguments},function(){e.series=null;f=F(v,e);for(k in f.plotOptions)f.plotOptions[k].tooltip=g[k]&&F(g[k].tooltip)||void 0;f.tooltip.userOptions=e.chart&&e.chart.forExport&&e.tooltip.userOptions||e.tooltip;f.series=e.series=c;this.userOptions=e;var q=f.chart,l=q.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=
+d;this.isResizing=0;this.options=f;this.axes=[];this.series=[];this.time=e.time&&Object.keys(e.time).length?new a.Time(e.time):a.time;this.styledMode=q.styledMode;this.hasCartesianSeries=q.showAxes;var m=this;m.index=n.length;n.push(m);a.chartCount++;l&&z(l,function(a,b){y(m,b,a)});m.xAxis=[];m.yAxis=[];m.pointCount=m.colorCounter=m.symbolCounter=0;b(m,"afterInit");m.firstRender()})},initSeries:function(b){var d=this.options.chart;(d=e[b.type||d.type||d.defaultSeriesType])||a.error(17,!0,this);d=
+new d;d.init(this,b);return d},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,e){var d=e?b:a;a=e?a:b;return 0<=d&&d<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(e){b(this,"beforeRedraw");var d=this.axes,f=this.series,k=this.pointer,c=this.legend,g=this.userOptions.legend,q=this.isDirtyLegend,l,p,A=this.hasCartesianSeries,h=this.isDirtyBox,D,t=this.renderer,n=t.isHidden(),B=[];this.setResponsive&&
+this.setResponsive(!1);a.setAnimation(e,this);n&&this.temporaryDisplay();this.layOutTitles();for(e=f.length;e--;)if(D=f[e],D.options.stacking&&(l=!0,D.isDirty)){p=!0;break}if(p)for(e=f.length;e--;)D=f[e],D.options.stacking&&(D.isDirty=!0);f.forEach(function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),q=!0):g&&(g.labelFormatter||g.labelFormat)&&(q=!0));a.isDirtyData&&b(a,"updatedData")});q&&c&&c.options.enabled&&(c.render(),this.isDirtyLegend=!1);l&&this.getStacks();
+A&&d.forEach(function(a){a.updateNames();a.updateYNames&&a.updateYNames();a.setScale()});this.getMargins();A&&(d.forEach(function(a){a.isDirty&&(h=!0)}),d.forEach(function(a){var e=a.min+","+a.max;a.extKey!==e&&(a.extKey=e,B.push(function(){b(a,"afterSetExtremes",m(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(h||l)&&a.redraw()}));h&&this.drawChartBox();b(this,"predraw");f.forEach(function(a){(h||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});k&&k.reset(!0);t.draw();b(this,"redraw");
+b(this,"render");n&&this.temporaryDisplay(!0);B.forEach(function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&&b.options.id===a}var e,d=this.series,f;e=p(this.axes,b)||p(this.series,b);for(f=0;!e&&f<d.length;f++)e=p(d[f].points||[],b);return e},getAxes:function(){var a=this,e=this.options,d=e.xAxis=q(e.xAxis||{}),e=e.yAxis=q(e.yAxis||{});b(this,"getAxes");d.forEach(function(a,b){a.index=b;a.isX=!0});e.forEach(function(a,b){a.index=b});d.concat(e).forEach(function(b){new r(a,
+b)});b(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(b){a=a.concat((b.data||[]).filter(function(a){return a.selected}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},setTitle:function(a,b,e){var d=this,f=d.options,k=d.styledMode,c;c=f.title=F(!k&&{style:{color:"#333333",fontSize:f.isStock?"16px":"18px"}},f.title,a);f=f.subtitle=F(!k&&{style:{color:"#666666"}},f.subtitle,b);[["title",a,c],["subtitle",b,
+f]].forEach(function(a,b){var e=a[0],f=d[e],c=a[1];a=a[2];f&&c&&(d[e]=f=f.destroy());a&&!f&&(d[e]=d.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+e,zIndex:a.zIndex||4}).add(),d[e].update=function(a){d.setTitle(!b&&a,b&&a)},k||d[e].css(a.style))});d.layOutTitles(e)},layOutTitles:function(a){var b=0,e,d=this.renderer,f=this.spacingBox;["title","subtitle"].forEach(function(a){var e=this[a],k=this.options[a];a="title"===a?-3:k.verticalAlign?0:b+2;var c;e&&(this.styledMode||
+(c=k.style.fontSize),c=d.fontMetrics(c,e).b,e.css({width:(k.width||f.width+k.widthAdjust)+"px"}).align(m({y:a+c},k),!1,"spacingBox"),k.floating||k.verticalAlign||(b=Math.ceil(b+e.getBBox(k.useHTML).height)))},this);e=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&A(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,e=b.width,b=b.height,f=this.renderTo;d(e)||(this.containerWidth=a.getStyle(f,
+"width"));d(b)||(this.containerHeight=a.getStyle(f,"height"));this.chartWidth=Math.max(0,e||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var e=this.renderTo;if(b)for(;e&&e.style;)e.hcOrigStyle&&(a.css(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(c.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style;){c.body.contains(e)||e.parentNode||
+(e.hcOrigDetached=!0,c.body.appendChild(e));if("none"===a.getStyle(e,"display",!1)||e.hcOricDetached)e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},b={display:"block",overflow:"hidden"},e!==this.renderTo&&(b.height=0),a.css(e,b),e.offsetWidth||e.style.setProperty("display","block","important");e=e.parentNode;if(e===c.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var e,d=this.options,
+f=d.chart,k,q;e=this.renderTo;var p=a.uniqueKey(),A,t;e||(this.renderTo=e=f.renderTo);x(e)&&(this.renderTo=e=c.getElementById(e));e||a.error(13,!0,this);k=D(h(e,"data-highcharts-chart"));l(k)&&n[k]&&n[k].hasRendered&&n[k].destroy();h(e,"data-highcharts-chart",this.index);e.innerHTML="";f.skipClone||e.offsetWidth||this.temporaryDisplay();this.getChartSize();k=this.chartWidth;q=this.chartHeight;g(e,{overflow:"hidden"});this.styledMode||(A=m({position:"relative",overflow:"hidden",width:k+"px",height:q+
+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},f.style));this.container=e=u("div",{id:p},A,e);this._cursor=e.style.cursor;this.renderer=new (a[f.renderer]||a.Renderer)(e,k,q,null,f.forExport,d.exporting&&d.exporting.allowHTML,this.styledMode);this.setClassName(f.className);if(this.styledMode)for(t in d.defs)this.renderer.definition(d.defs[t]);else this.renderer.setStyle(f.style);this.renderer.chartIndex=this.index;b(this,"afterGetContainer")},getMargins:function(a){var e=
+this.spacing,f=this.margin,k=this.titleOffset;this.resetMargins();k&&!d(f[0])&&(this.plotTop=Math.max(this.plotTop,k+this.options.title.margin+e[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(f,e);b(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],e=a.margin;a.hasCartesianSeries&&a.axes.forEach(function(a){a.visible&&a.getOffset()});H.forEach(function(f,k){d(e[k])||(a[f]+=b[k])});a.setChartSize()},reflow:function(b){var e=
+this,f=e.options.chart,k=e.renderTo,g=d(f.width)&&d(f.height),q=f.width||a.getStyle(k,"width"),f=f.height||a.getStyle(k,"height"),k=b?b.target:I;if(!g&&!e.isPrinting&&q&&f&&(k===I||k===c)){if(q!==e.containerWidth||f!==e.containerHeight)a.clearTimeout(e.reflowTimeout),e.reflowTimeout=L(function(){e.container&&e.setSize(void 0,void 0,!1)},b?100:0);e.containerWidth=q;e.containerHeight=f}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):
+(this.unbindReflow=y(I,"resize",function(a){b.reflow(a)}),y(this,"destroy",this.unbindReflow))},setSize:function(e,f,d){var k=this,c=k.renderer,q;k.isResizing+=1;a.setAnimation(d,k);k.oldChartHeight=k.chartHeight;k.oldChartWidth=k.chartWidth;void 0!==e&&(k.options.chart.width=e);void 0!==f&&(k.options.chart.height=f);k.getChartSize();k.styledMode||(q=c.globalAnimation,(q?G:g)(k.container,{width:k.chartWidth+"px",height:k.chartHeight+"px"},q));k.setChartSize(!0);c.setSize(k.chartWidth,k.chartHeight,
+d);k.axes.forEach(function(a){a.isDirty=!0;a.setScale()});k.isDirtyLegend=!0;k.isDirtyBox=!0;k.layOutTitles();k.getMargins();k.redraw(d);k.oldChartHeight=null;b(k,"resize");L(function(){k&&b(k,"endResize",null,function(){--k.isResizing})},E(q).duration)},setChartSize:function(a){var e=this.inverted,f=this.renderer,d=this.chartWidth,k=this.chartHeight,c=this.options.chart,g=this.spacing,q=this.clipOffset,l,m,p,A;this.plotLeft=l=Math.round(this.plotLeft);this.plotTop=m=Math.round(this.plotTop);this.plotWidth=
+p=Math.max(0,Math.round(d-l-this.marginRight));this.plotHeight=A=Math.max(0,Math.round(k-m-this.marginBottom));this.plotSizeX=e?A:p;this.plotSizeY=e?p:A;this.plotBorderWidth=c.plotBorderWidth||0;this.spacingBox=f.spacingBox={x:g[3],y:g[0],width:d-g[3]-g[1],height:k-g[0]-g[2]};this.plotBox=f.plotBox={x:l,y:m,width:p,height:A};d=2*Math.floor(this.plotBorderWidth/2);e=Math.ceil(Math.max(d,q[3])/2);f=Math.ceil(Math.max(d,q[0])/2);this.clipBox={x:e,y:f,width:Math.floor(this.plotSizeX-Math.max(d,q[1])/
+2-e),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(d,q[2])/2-f))};a||this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()});b(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){b(this,"resetMargins");var a=this,e=a.options.chart;["margin","spacing"].forEach(function(b){var d=e[b],k=f(d)?d:[d,d,d,d];["Top","Right","Bottom","Left"].forEach(function(d,f){a[b][f]=A(e[b+d],k[f])})});H.forEach(function(b,e){a[b]=A(a.margin[e],a.spacing[e])});a.axisOffset=[0,0,0,0];a.clipOffset=
+[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,e=this.renderer,d=this.chartWidth,f=this.chartHeight,k=this.chartBackground,c=this.plotBackground,g=this.plotBorder,q,l=this.styledMode,m=this.plotBGImage,p=a.backgroundColor,A=a.plotBackgroundColor,h=a.plotBackgroundImage,D,t=this.plotLeft,n=this.plotTop,B=this.plotWidth,x=this.plotHeight,r=this.plotBox,z=this.clipRect,u=this.clipBox,v="animate";k||(this.chartBackground=k=e.rect().addClass("highcharts-background").add(),v="attr");if(l)q=
+D=k.strokeWidth();else{q=a.borderWidth||0;D=q+(a.shadow?8:0);p={fill:p||"none"};if(q||k["stroke-width"])p.stroke=a.borderColor,p["stroke-width"]=q;k.attr(p).shadow(a.shadow)}k[v]({x:D/2,y:D/2,width:d-D-q%2,height:f-D-q%2,r:a.borderRadius});v="animate";c||(v="attr",this.plotBackground=c=e.rect().addClass("highcharts-plot-background").add());c[v](r);l||(c.attr({fill:A||"none"}).shadow(a.plotShadow),h&&(m?m.animate(r):this.plotBGImage=e.image(h,t,n,B,x).add()));z?z.animate({width:u.width,height:u.height}):
+this.clipRect=e.clipRect(u);v="animate";g||(v="attr",this.plotBorder=g=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());l||g.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});g[v](g.crisp({x:t,y:n,width:B,height:x},-g.strokeWidth()));this.isDirtyBox=!1;b(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,d,f=a.options.series,k,c;["inverted","angular","polar"].forEach(function(g){d=e[b.type||b.defaultSeriesType];c=b[g]||
+d&&d.prototype[g];for(k=f&&f.length;!c&&k--;)(d=e[f[k].type])&&d.prototype[g]&&(c=!0);a[g]=c})},linkSeries:function(){var a=this,e=a.series;e.forEach(function(a){a.linkedSeries.length=0});e.forEach(function(b){var e=b.options.linkedTo;x(e)&&(e=":previous"===e?a.series[b.index-1]:a.get(e))&&e.linkedParent!==b&&(e.linkedSeries.push(b),b.linkedParent=e,b.visible=A(b.options.visible,e.options.visible,b.visible))});b(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();
+a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&b.items.forEach(function(e){var d=m(b.style,e.style),f=D(d.left)+a.plotLeft,k=D(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(e.html,f,k).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,e=this.options,d,f,k;this.setTitle();this.legend=new t(this,e.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();e=this.plotWidth;d=this.plotHeight=Math.max(this.plotHeight-
+21,0);a.forEach(function(a){a.setScale()});this.getAxisMargins();f=1.1<e/this.plotWidth;k=1.05<d/this.plotHeight;if(f||k)a.forEach(function(a){(a.horiz&&f||!a.horiz&&k)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&a.forEach(function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},
+addCredits:function(a){var b=this;a=F(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(I.location.href=a.href)}).attr({align:a.position.align,zIndex:8}),b.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var e=this,d=e.axes,f=e.series,k=e.container,
+c,g=k&&k.parentNode;b(e,"destroy");e.renderer.forExport?a.erase(n,e):n[e.index]=void 0;a.chartCount--;e.renderTo.removeAttribute("data-highcharts-chart");B(e);for(c=d.length;c--;)d[c]=d[c].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(c=f.length;c--;)f[c]=f[c].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var b=e[a];
+b&&b.destroy&&(e[a]=b.destroy())});k&&(k.innerHTML="",B(k),g&&w(k));z(e,function(a,b){delete e[b]})},firstRender:function(){var e=this,d=e.options;if(!e.isReadyToRender||e.isReadyToRender()){e.getContainer();e.resetMargins();e.setChartSize();e.propFromSeries();e.getAxes();(a.isArray(d.series)?d.series:[]).forEach(function(a){e.initSeries(a)});e.linkSeries();b(e,"beforeRender");k&&(e.pointer=new k(e,d));e.render();if(!e.renderer.imgCount&&e.onload)e.onload();e.temporaryDisplay(!0)}},onload:function(){[this.callback].concat(this.callbacks).forEach(function(a){a&&
+void 0!==this.index&&a.apply(this,[this])},this);b(this,"load");b(this,"render");d(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})})(J);(function(a){var y=a.addEvent,G=a.Chart;y(G,"afterSetChartSize",function(y){var h=this.options.chart.scrollablePlotArea;(h=h&&h.minWidth)&&!this.renderer.forExport&&(this.scrollablePixels=h=Math.max(0,h-this.chartWidth))&&(this.plotWidth+=h,this.clipBox.width+=h,y.skipAxes||this.axes.forEach(function(c){1===c.side?c.getPlotLinePath=function(){var h=
+this.right,u;this.right=h-c.chart.scrollablePixels;u=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this.right=h;return u}:(c.setAxisSize(),c.setAxisTranslation())}))});y(G,"render",function(){this.scrollablePixels?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});G.prototype.setUpScrolling=function(){this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},{overflowX:"auto",WebkitOverflowScrolling:"touch"},this.renderTo);
+this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};G.prototype.applyFixed=function(){var y=this.container,h,c,r=!this.fixedDiv;r&&(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,this.renderTo.firstChild),this.renderTo.style.overflow=
+"visible",this.fixedRenderer=h=new a.Renderer(this.fixedDiv,0,0),this.scrollableMask=h.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(.85).get(),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),[this.inverted?".highcharts-xaxis":".highcharts-yaxis",this.inverted?".highcharts-xaxis-labels":".highcharts-yaxis-labels",".highcharts-contextbutton",".highcharts-credits",".highcharts-legend",".highcharts-subtitle",".highcharts-title",".highcharts-legend-checkbox"].forEach(function(a){[].forEach.call(y.querySelectorAll(a),
+function(a){(a.namespaceURI===h.SVG_NS?h.box:h.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})}));this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);c=this.chartWidth+this.scrollablePixels;a.stop(this.container);this.container.style.width=c+"px";this.renderer.boxWrapper.attr({width:c,height:this.chartHeight,viewBox:[0,0,c,this.chartHeight].join(" ")});this.chartBackground.attr({width:c});r&&(c=this.options.chart.scrollablePlotArea,c.scrollPositionX&&(this.scrollingContainer.scrollLeft=
+this.scrollablePixels*c.scrollPositionX));r=this.axisOffset;c=this.plotTop-r[0]-1;var r=this.plotTop+this.plotHeight+r[2],u=this.plotLeft+this.plotWidth-this.scrollablePixels;this.scrollableMask.attr({d:this.scrollablePixels?["M",0,c,"L",this.plotLeft-1,c,"L",this.plotLeft-1,r,"L",0,r,"Z","M",u,c,"L",this.chartWidth,c,"L",this.chartWidth,r,"L",u,r,"Z"]:["M",0,0]})}})(J);(function(a){var y,G=a.extend,E=a.erase,h=a.fireEvent,c=a.format,r=a.isArray,u=a.isNumber,v=a.pick,w=a.uniqueKey,n=a.defined,g=a.removeEvent;
+a.Point=y=function(){};a.Point.prototype={init:function(a,c,g){var b;b=a.chart.options.chart.colorCount;var d=a.chart.styledMode;this.series=a;d||(this.color=a.color);this.applyOptions(c,g);this.id=n(this.id)?this.id:w();a.options.colorByPoint?(d||(b=a.options.colors||a.chart.options.colors,this.color=this.color||b[a.colorCounter],b=b.length),c=a.colorCounter,a.colorCounter++,a.colorCounter===b&&(a.colorCounter=0)):c=a.colorIndex;this.colorIndex=v(this.colorIndex,c);a.chart.pointCount++;h(this,"afterInit");
+return this},applyOptions:function(a,c){var d=this.series,b=d.options.pointValKey||d.pointValKey;a=y.prototype.optionsToObject.call(this,a);G(this,a);this.options=this.options?G(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;b&&(this.y=this[b]);this.isNull=v(this.isValid&&!this.isValid(),null===this.x||!u(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===c&&d.xAxis&&d.xAxis.hasNames&&(this.x=d.xAxis.nameToX(this));void 0===this.x&&d&&(this.x=
+void 0===c?d.autoIncrement(this):c);return this},setNestedProperty:function(d,c,g){g.split(".").reduce(function(b,d,f,g){b[d]=g.length-1===f?c:a.isObject(b[d],!0)?b[d]:{};return b[d]},d);return d},optionsToObject:function(d){var c={},g=this.series,b=g.options.keys,l=b||g.pointArrayMap||["y"],f=l.length,h=0,t=0;if(u(d)||null===d)c[l[0]]=d;else if(r(d))for(!b&&d.length>f&&(g=typeof d[0],"string"===g?c.name=d[0]:"number"===g&&(c.x=d[0]),h++);t<f;)b&&void 0===d[h]||(0<l[t].indexOf(".")?a.Point.prototype.setNestedProperty(c,
+d[h],l[t]):c[l[t]]=d[h]),h++,t++;else"object"===typeof d&&(c=d,d.dataLabels&&(g._hasPointLabels=!0),d.marker&&(g._hasPointMarkers=!0));return c},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",
+""):"")},getZone:function(){var a=this.series,c=a.zones,a=a.zoneAxis||"y",g=0,b;for(b=c[g];this[a]>=b.value;)b=c[++g];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=b&&b.color&&!this.options.color?b.color:this.nonZonedColor;return b},destroy:function(){var a=this.series.chart,c=a.hoverPoints,h;a.pointCount--;c&&(this.setState(),E(c,this),c.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)g(this),this.destroyElements();
+this.legendItem&&a.legend.destroyItem(this);for(h in this)this[h]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],c,g=6;g--;)c=a[g],this[c]&&(this[c]=this[c].destroy());this.dataLabels&&(this.dataLabels.forEach(function(a){a.element&&a.destroy()}),delete this.dataLabels);this.connectors&&(this.connectors.forEach(function(a){a.element&&a.destroy()}),delete this.connectors)},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,
+colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var d=this.series,g=d.tooltipOptions,b=v(g.valueDecimals,""),l=g.valuePrefix||"",f=g.valueSuffix||"";d.chart.styledMode&&(a=d.chart.tooltip.styledModeFormat(a));(d.pointArrayMap||["y"]).forEach(function(d){d="{point."+d;if(l||f)a=a.replace(RegExp(d+"}","g"),l+d+"}"+f);a=a.replace(RegExp(d+"}","g"),d+":,."+b+"f}")});return c(a,
+{point:this,series:this.series},d.chart.time)},firePointEvent:function(a,c,g){var b=this,d=this.series.options;(d.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();"click"===a&&d.allowPointSelect&&(g=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});h(this,a,c,g)},visible:!0}})(J);(function(a){var y=a.addEvent,G=a.animObject,E=a.arrayMax,h=a.arrayMin,c=a.correctFloat,r=a.defaultOptions,u=a.defaultPlotOptions,v=a.defined,w=a.erase,n=a.extend,
+g=a.fireEvent,d=a.isArray,m=a.isNumber,p=a.isString,b=a.merge,l=a.objectEach,f=a.pick,x=a.removeEvent,t=a.splat,H=a.SVGElement,F=a.syncTimeout,z=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},
+point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,
+sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){g(this,"init",{options:b});var d=this,k,e=a.series,c;d.chart=a;d.options=b=d.setOptions(b);d.linkedSeries=[];d.bindAxes();n(d,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});k=b.events;l(k,function(a,b){y(d,b,a)});if(k&&k.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;d.getColor();d.getSymbol();
+d.parallelArrays.forEach(function(a){d[a+"Data"]=[]});d.setData(b.data,!1);d.isCartesian&&(a.hasCartesianSeries=!0);e.length&&(c=e[e.length-1]);d._i=f(c&&c._i,-1)+1;a.orderSeries(this.insert(e));g(this,"afterInit")},insert:function(a){var b=this.options.index,d;if(m(b)){for(d=a.length;d--;)if(b>=f(a[d].options.index,a[d]._i)){a.splice(d+1,0,this);break}-1===d&&a.unshift(this);d+=1}else a.push(this);return f(d,a.length-1)},bindAxes:function(){var b=this,d=b.options,f=b.chart,c;(b.axisTypes||[]).forEach(function(e){f[e].forEach(function(a){c=
+a.options;if(d[e]===c.index||void 0!==d[e]&&d[e]===c.id||void 0===d[e]&&0===c.index)b.insert(a.series),b[e]=a,a.isDirty=!0});b[e]||b.optionalAxis===e||a.error(18,!0,f)})},updateParallelArrays:function(a,b){var d=a.series,f=arguments,e=m(b)?function(e){var f="y"===e&&d.toYData?d.toYData(a):a[e];d[e+"Data"][b]=f}:function(a){Array.prototype[b].apply(d[a+"Data"],Array.prototype.slice.call(f,2))};d.parallelArrays.forEach(e)},autoIncrement:function(){var a=this.options,b=this.xIncrement,d,c=a.pointIntervalUnit,
+e=this.chart.time,b=f(b,a.pointStart,0);this.pointInterval=d=f(this.pointInterval,a.pointInterval,1);c&&(a=new e.Date(b),"day"===c?e.set("Date",a,e.get("Date",a)+d):"month"===c?e.set("Month",a,e.get("Month",a)+d):"year"===c&&e.set("FullYear",a,e.get("FullYear",a)+d),d=a.getTime()-b);this.xIncrement=b+d;return b},setOptions:function(a){var d=this.chart,c=d.options,k=c.plotOptions,e=(d.userOptions||{}).plotOptions||{},q=k[this.type],l=d.styledMode;this.userOptions=a;d=b(q,k.series,a);this.tooltipOptions=
+b(r.tooltip,r.plotOptions.series&&r.plotOptions.series.tooltip,r.plotOptions[this.type].tooltip,c.tooltip.userOptions,k.series&&k.series.tooltip,k[this.type].tooltip,a.tooltip);this.stickyTracking=f(a.stickyTracking,e[this.type]&&e[this.type].stickyTracking,e.series&&e.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:d.stickyTracking);null===q.marker&&delete d.marker;this.zoneAxis=d.zoneAxis;a=this.zones=(d.zones||[]).slice();!d.negativeColor&&!d.negativeFillColor||d.zones||
+(c={value:d[this.zoneAxis+"Threshold"]||d.threshold||0,className:"highcharts-negative"},l||(c.color=d.negativeColor,c.fillColor=d.negativeFillColor),a.push(c));a.length&&v(a[a.length-1].value)&&a.push(l?{}:{color:this.color,fillColor:this.fillColor});g(this,"afterSetOptions",{options:d});return d},getName:function(){return f(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,b,d){var c,e=this.chart,k=this.userOptions,g=a+"Index",l=a+"Counter",m=d?d.length:f(e.options.chart[a+"Count"],
+e[a+"Count"]);b||(c=f(k[g],k["_"+g]),v(c)||(e.series.length||(e[l]=0),k["_"+g]=c=e[l]%m,e[l]+=1),d&&(b=d[c]));void 0!==c&&(this[g]=c);this[a]=b},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||u[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,
+updateData:function(b){var d=this.options,f=this.points,c=[],e,k,g,l=this.requireSorting;this.xIncrement=null;b.forEach(function(b){var k,q,h;k=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};h=k.x;if((k=k.id)||m(h))k&&(q=(q=this.chart.get(k))&&q.x),void 0===q&&m(h)&&(q=this.xData.indexOf(h,g)),-1===q||void 0===q||f[q].touched?c.push(b):b!==d.data[q]?(f[q].update(b,!1,null,!1),f[q].touched=!0,l&&(g=q+1)):f[q]&&(f[q].touched=!0),e=!0},this);if(e)for(b=f.length;b--;)k=
+f[b],k.touched||k.remove(!1),k.touched=!1;else if(b.length===f.length)b.forEach(function(a,b){f[b].update&&a!==d.data[b]&&f[b].update(a,!1,null,!1)});else return!1;c.forEach(function(a){this.addPoint(a,!1)},this);return!0},setData:function(b,c,g,l){var e=this,k=e.points,h=k&&k.length||0,A,t=e.options,n=e.chart,D=null,B=e.xAxis,x=t.turboThreshold,z=this.xData,r=this.yData,u=(A=e.pointArrayMap)&&A.length,v;b=b||[];A=b.length;c=f(c,!0);!1!==l&&A&&h&&!e.cropped&&!e.hasGroupedData&&e.visible&&!e.isSeriesBoosting&&
+(v=this.updateData(b));if(!v){e.xIncrement=null;e.colorCounter=0;this.parallelArrays.forEach(function(a){e[a+"Data"].length=0});if(x&&A>x){for(g=0;null===D&&g<A;)D=b[g],g++;if(m(D))for(g=0;g<A;g++)z[g]=this.autoIncrement(),r[g]=b[g];else if(d(D))if(u)for(g=0;g<A;g++)D=b[g],z[g]=D[0],r[g]=D.slice(1,u+1);else for(g=0;g<A;g++)D=b[g],z[g]=D[0],r[g]=D[1];else a.error(12,!1,n)}else for(g=0;g<A;g++)void 0!==b[g]&&(D={series:e},e.pointClass.prototype.applyOptions.apply(D,[b[g]]),e.updateParallelArrays(D,
+g));r&&p(r[0])&&a.error(14,!0,n);e.data=[];e.options.data=e.userOptions.data=b;for(g=h;g--;)k[g]&&k[g].destroy&&k[g].destroy();B&&(B.minRange=B.userMinRange);e.isDirty=n.isDirtyBox=!0;e.isDirtyData=!!k;g=!1}"point"===t.legendType&&(this.processData(),this.generatePoints());c&&n.redraw(g)},processData:function(b){var d=this.xData,f=this.yData,c=d.length,e;e=0;var k,g,l=this.xAxis,m,h=this.options;m=h.cropThreshold;var p=this.getExtremesFromAll||h.getExtremesFromAll,t=this.isCartesian,h=l&&l.val2lin,
+n=l&&l.isLog,x=this.requireSorting,r,z;if(t&&!this.isDirty&&!l.isDirty&&!this.yAxis.isDirty&&!b)return!1;l&&(b=l.getExtremes(),r=b.min,z=b.max);t&&this.sorted&&!p&&(!m||c>m||this.forceCrop)&&(d[c-1]<r||d[0]>z?(d=[],f=[]):this.yData&&(d[0]<r||d[c-1]>z)&&(e=this.cropData(this.xData,this.yData,r,z),d=e.xData,f=e.yData,e=e.start,k=!0));for(m=d.length||1;--m;)c=n?h(d[m])-h(d[m-1]):d[m]-d[m-1],0<c&&(void 0===g||c<g)?g=c:0>c&&x&&(a.error(15,!1,this.chart),x=!1);this.cropped=k;this.cropStart=e;this.processedXData=
+d;this.processedYData=f;this.closestPointRange=g},cropData:function(a,b,d,c,e){var k=a.length,g=0,l=k,m;e=f(e,this.cropShoulder,1);for(m=0;m<k;m++)if(a[m]>=d){g=Math.max(0,m-e);break}for(d=m;d<k;d++)if(a[d]>c){l=d+e;break}return{xData:a.slice(g,l),yData:b.slice(g,l),start:g,end:l}},generatePoints:function(){var a=this.options,b=a.data,d=this.data,f,e=this.processedXData,c=this.processedYData,g=this.pointClass,l=e.length,m=this.cropStart||0,h,p=this.hasGroupedData,a=a.keys,x,r=[],z;d||p||(d=[],d.length=
+b.length,d=this.data=d);a&&p&&(this.options.keys=!1);for(z=0;z<l;z++)h=m+z,p?(x=(new g).init(this,[e[z]].concat(t(c[z]))),x.dataGroup=this.groupMap[z],x.dataGroup.options&&(x.options=x.dataGroup.options,n(x,x.dataGroup.options))):(x=d[h])||void 0===b[h]||(d[h]=x=(new g).init(this,b[h],e[z])),x&&(x.index=h,r[z]=x);this.options.keys=a;if(d&&(l!==(f=d.length)||p))for(z=0;z<f;z++)z!==m||p||(z+=l),d[z]&&(d[z].destroyElements(),d[z].plotX=void 0);this.data=d;this.points=r},getExtremes:function(a){var b=
+this.yAxis,f=this.processedXData,c,e=[],k=0;c=this.xAxis.getExtremes();var g=c.min,l=c.max,p,t,n=this.requireSorting?1:0,x,z;a=a||this.stackedYData||this.processedYData||[];c=a.length;for(z=0;z<c;z++)if(t=f[z],x=a[z],p=(m(x,!0)||d(x))&&(!b.positiveValuesOnly||x.length||0<x),t=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(f[z+n]||t)>=g&&(f[z-n]||t)<=l,p&&t)if(p=x.length)for(;p--;)"number"===typeof x[p]&&(e[k++]=x[p]);else e[k++]=x;this.dataMin=h(e);this.dataMax=E(e)},translate:function(){this.processedXData||
+this.processData();this.generatePoints();var a=this.options,b=a.stacking,d=this.xAxis,l=d.categories,e=this.yAxis,q=this.points,h=q.length,p=!!this.modifyValue,t=a.pointPlacement,n="between"===t||m(t),x=a.threshold,z=a.startFromThreshold?x:0,r,u,F,H,w=Number.MAX_VALUE;"between"===t&&(t=.5);m(t)&&(t*=f(a.pointRange||d.pointRange));for(a=0;a<h;a++){var y=q[a],E=y.x,G=y.y;u=y.low;var J=b&&e.stacks[(this.negStacks&&G<(z?0:x)?"-":"")+this.stackKey],U;e.positiveValuesOnly&&null!==G&&0>=G&&(y.isNull=!0);
+y.plotX=r=c(Math.min(Math.max(-1E5,d.translate(E,0,0,0,1,t,"flags"===this.type)),1E5));b&&this.visible&&!y.isNull&&J&&J[E]&&(H=this.getStackIndicator(H,E,this.index),U=J[E],G=U.points[H.key],u=G[0],G=G[1],u===z&&H.key===J[E].base&&(u=f(m(x)&&x,e.min)),e.positiveValuesOnly&&0>=u&&(u=null),y.total=y.stackTotal=U.total,y.percentage=U.total&&y.y/U.total*100,y.stackY=G,U.setOffset(this.pointXOffset||0,this.barW||0));y.yBottom=v(u)?Math.min(Math.max(-1E5,e.translate(u,0,1,0,1)),1E5):null;p&&(G=this.modifyValue(G,
+y));y.plotY=u="number"===typeof G&&Infinity!==G?Math.min(Math.max(-1E5,e.translate(G,0,1,0,1)),1E5):void 0;y.isInside=void 0!==u&&0<=u&&u<=e.len&&0<=r&&r<=d.len;y.clientX=n?c(d.translate(E,0,0,0,1,t)):r;y.negative=y.y<(x||0);y.category=l&&void 0!==l[y.x]?l[y.x]:y.x;y.isNull||(void 0!==F&&(w=Math.min(w,Math.abs(r-F))),F=r);y.zone=this.zones.length&&y.getZone()}this.closestPointRangePx=w;g(this,"afterTranslate")},getValidPoints:function(a,b){var d=this.chart;return(a||this.points||[]).filter(function(a){return b&&
+!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,d=this.options,f=b.renderer,e=b.inverted,c=this.clipBox,k=c||b.clipBox,g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,k.height,d.xAxis,d.yAxis].join(),l=b[g],m=b[g+"m"];l||(a&&(k.width=0,e&&(k.x=b.plotSizeX),b[g+"m"]=m=f.clipRect(e?b.plotSizeX+99:-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[g]=l=f.clipRect(k),l.count={length:0});a&&!l.count[this.index]&&(l.count[this.index]=
+!0,l.count.length+=1);!1!==d.clip&&(this.group.clip(a||c?l:b.clipRect),this.markerGroup.clip(m),this.sharedClipKey=g);a||(l.count[this.index]&&(delete l.count[this.index],--l.count.length),0===l.count.length&&g&&b[g]&&(c||(b[g]=b[g].destroy()),b[g+"m"]&&(b[g+"m"]=b[g+"m"].destroy())))},animate:function(a){var b=this.chart,d=G(this.options.animation),f;a?this.setClip(d):(f=this.sharedClipKey,(a=b[f])&&a.animate({width:b.plotSizeX,x:0},d),b[f+"m"]&&b[f+"m"].animate({width:b.plotSizeX+99,x:0},d),this.animate=
+null)},afterAnimate:function(){this.setClip();g(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,d,c,e,g,l=this.options.marker,m,h,p,t=this[this.specialGroup]||this.markerGroup;d=this.xAxis;var n,x=f(l.enabled,!d||d.isRadial?!0:null,this.closestPointRangePx>=l.enabledThreshold*l.radius);if(!1!==l.enabled||this._hasPointMarkers)for(d=0;d<a.length;d++)c=a[d],g=c.graphic,m=c.marker||{},h=!!c.marker,e=x&&void 0===m.enabled||m.enabled,p=!1!==c.isInside,
+e&&!c.isNull?(e=f(m.symbol,this.symbol),n=this.markerAttribs(c,c.selected&&"select"),g?g[p?"show":"hide"](!0).animate(n):p&&(0<n.width||c.hasImage)&&(c.graphic=g=b.renderer.symbol(e,n.x,n.y,n.width,n.height,h?m:l).add(t)),g&&!b.styledMode&&g.attr(this.pointAttribs(c,c.selected&&"select")),g&&g.addClass(c.getClassName(),!0)):g&&(c.graphic=g.destroy())},markerAttribs:function(a,b){var d=this.options.marker,c=a.marker||{},e=c.symbol||d.symbol,k=f(c.radius,d.radius);b&&(d=d.states[b],b=c.states&&c.states[b],
+k=f(b&&b.radius,d&&d.radius,k+(d&&d.radiusPlus||0)));a.hasImage=e&&0===e.indexOf("url");a.hasImage&&(k=0);a={x:Math.floor(a.plotX)-k,y:a.plotY-k};k&&(a.width=a.height=2*k);return a},pointAttribs:function(a,b){var d=this.options.marker,c=a&&a.options,e=c&&c.marker||{},k=this.color,g=c&&c.color,l=a&&a.color,c=f(e.lineWidth,d.lineWidth);a=a&&a.zone&&a.zone.color;k=g||a||l||k;a=e.fillColor||d.fillColor||k;k=e.lineColor||d.lineColor||k;b&&(d=d.states[b],b=e.states&&e.states[b]||{},c=f(b.lineWidth,d.lineWidth,
+c+f(b.lineWidthPlus,d.lineWidthPlus,0)),a=b.fillColor||d.fillColor||a,k=b.lineColor||d.lineColor||k);return{stroke:k,"stroke-width":c,fill:a}},destroy:function(){var b=this,d=b.chart,f=/AppleWebKit\/533/.test(z.navigator.userAgent),c,e,q=b.data||[],m,h;g(b,"destroy");x(b);(b.axisTypes||[]).forEach(function(a){(h=b[a])&&h.series&&(w(h.series,b),h.isDirty=h.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(e=q.length;e--;)(m=q[e])&&m.destroy&&m.destroy();b.points=null;a.clearTimeout(b.animationTimeout);
+l(b,function(a,b){a instanceof H&&!a.survive&&(c=f&&"group"===b?"hide":"destroy",a[c]())});d.hoverSeries===b&&(d.hoverSeries=null);w(d.series,b);d.orderSeries();l(b,function(a,e){delete b[e]})},getGraphPath:function(a,b,d){var f=this,e=f.options,c=e.step,g,k=[],l=[],m;a=a||f.points;(g=a.reversed)&&a.reverse();(c={right:1,center:2}[c]||c&&3)&&g&&(c=4-c);!e.connectNulls||b||d||(a=this.getValidPoints(a));a.forEach(function(g,q){var h=g.plotX,p=g.plotY,t=a[q-1];(g.leftCliff||t&&t.rightCliff)&&!d&&(m=
+!0);g.isNull&&!v(b)&&0<q?m=!e.connectNulls:g.isNull&&!b?m=!0:(0===q||m?q=["M",g.plotX,g.plotY]:f.getPointSpline?q=f.getPointSpline(a,g,q):c?(q=1===c?["L",t.plotX,p]:2===c?["L",(t.plotX+h)/2,t.plotY,"L",(t.plotX+h)/2,p]:["L",h,t.plotY],q.push("L",h,p)):q=["L",h,p],l.push(g.x),c&&(l.push(g.x),2===c&&l.push(g.x)),k.push.apply(k,q),m=!1)});k.xMap=l;return f.graphPath=k},drawGraph:function(){var a=this,b=this.options,d=(this.gappedPath||this.getGraphPath).call(this),f=this.chart.styledMode,e=[["graph",
+"highcharts-graph"]];f||e[0].push(b.lineColor||this.color,b.dashStyle);e=a.getZonesGraphs(e);e.forEach(function(e,c){var g=e[0],k=a[g];k?(k.endX=a.preventGraphAnimation?null:d.xMap,k.animate({d:d})):d.length&&(a[g]=a.chart.renderer.path(d).addClass(e[1]).attr({zIndex:1}).add(a.group),f||(k={stroke:e[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},e[3]?k.dashstyle=e[3]:"square"!==b.linecap&&(k["stroke-linecap"]=k["stroke-linejoin"]="round"),k=a[g].attr(k).shadow(2>c&&b.shadow)));k&&
+(k.startX=d.xMap,k.isArea=d.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(b,d){d=["zone-graph-"+d,"highcharts-graph highcharts-zone-graph-"+d+" "+(b.className||"")];this.chart.styledMode||d.push(b.color||this.color,b.dashStyle||this.options.dashStyle);a.push(d)},this);return a},applyZones:function(){var a=this,b=this.chart,d=b.renderer,c=this.zones,e,g,l=this.clips||[],m,h=this.graph,p=this.area,t=Math.max(b.chartWidth,b.chartHeight),n=this[(this.zoneAxis||"y")+"Axis"],x,z,r=b.inverted,
+u,v,F,H,w=!1;c.length&&(h||p)&&n&&void 0!==n.min&&(z=n.reversed,u=n.horiz,h&&!this.showLine&&h.hide(),p&&p.hide(),x=n.getExtremes(),c.forEach(function(c,k){e=z?u?b.plotWidth:0:u?0:n.toPixels(x.min)||0;e=Math.min(Math.max(f(g,e),0),t);g=Math.min(Math.max(Math.round(n.toPixels(f(c.value,x.max),!0)||0),0),t);w&&(e=g=n.toPixels(x.max));v=Math.abs(e-g);F=Math.min(e,g);H=Math.max(e,g);n.isXAxis?(m={x:r?H:F,y:0,width:v,height:t},u||(m.x=b.plotHeight-m.x)):(m={x:0,y:r?H:F,width:t,height:v},u&&(m.y=b.plotWidth-
+m.y));r&&d.isVML&&(m=n.isXAxis?{x:0,y:z?F:H,height:m.width,width:b.chartWidth}:{x:m.y-b.plotLeft-b.spacingBox.x,y:0,width:m.height,height:b.chartHeight});l[k]?l[k].animate(m):(l[k]=d.clipRect(m),h&&a["zone-graph-"+k].clip(l[k]),p&&a["zone-area-"+k].clip(l[k]));w=c.value>x.max;a.resetZones&&0===g&&(g=void 0)}),this.clips=l)},invertGroups:function(a){function b(){["group","markerGroup"].forEach(function(b){d[b]&&(f.renderer.isVML&&d[b].attr({width:d.yAxis.len,height:d.xAxis.len}),d[b].width=d.yAxis.len,
+d[b].height=d.xAxis.len,d[b].invert(a))})}var d=this,f=d.chart,e;d.xAxis&&(e=y(f,"resize",b),y(d,"destroy",e),b(a),d.invertGroups=b)},plotGroup:function(a,b,d,f,e){var c=this[a],g=!c;g&&(this[a]=c=this.chart.renderer.g().attr({zIndex:f||.1}).add(e));c.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(v(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(c.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);
+c.attr({visibility:d})[g?"attr":"animate"](this.getPlotBox());return c},getPlotBox:function(){var a=this.chart,b=this.xAxis,d=this.yAxis;a.inverted&&(b=d,d=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:d?d.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,d,f=a.options,e=!!a.animate&&b.renderer.isSVG&&G(f.animation).duration,c=a.visible?"inherit":"hidden",l=f.zIndex,m=a.hasRendered,h=b.seriesGroup,p=b.inverted;d=a.plotGroup("group","series",c,l,h);a.markerGroup=
+a.plotGroup("markerGroup","markers",c,l,h);e&&a.animate(!0);d.inverted=a.isCartesian?p:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(p);!1===f.clip||a.sharedClipKey||m||d.clip(b.clipRect);e&&a.animate();m||(a.animationTimeout=F(function(){a.afterAnimate()},e));a.isDirty=!1;a.hasRendered=!0;g(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||
+this.isDirtyData,d=this.group,c=this.xAxis,e=this.yAxis;d&&(a.inverted&&d.attr({width:a.plotWidth,height:a.plotHeight}),d.animate({translateX:f(c&&c.left,a.plotLeft),translateY:f(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var d=this.xAxis,f=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?d.len-a.chartY+d.pos:a.chartX-d.pos,plotY:e?f.len-a.chartX+f.pos:a.chartY-f.pos},b)},buildKDTree:function(){function a(d,
+e,f){var c,g;if(g=d&&d.length)return c=b.kdAxisArray[e%f],d.sort(function(a,b){return a[c]-b[c]}),g=Math.floor(g/2),{point:d[g],left:a(d.slice(0,g),e+1,f),right:a(d.slice(g+1),e+1,f)}}this.buildingKdTree=!0;var b=this,d=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;F(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),d,d);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function d(a,b,k,l){var m=b.point,h=f.kdAxisArray[k%l],q,p,t=m;p=v(a[e])&&v(m[e])?
+Math.pow(a[e]-m[e],2):null;q=v(a[c])&&v(m[c])?Math.pow(a[c]-m[c],2):null;q=(p||0)+(q||0);m.dist=v(q)?Math.sqrt(q):Number.MAX_VALUE;m.distX=v(p)?Math.sqrt(p):Number.MAX_VALUE;h=a[h]-m[h];q=0>h?"left":"right";p=0>h?"right":"left";b[q]&&(q=d(a,b[q],k+1,l),t=q[g]<t[g]?q:m);b[p]&&Math.sqrt(h*h)<t[g]&&(a=d(a,b[p],k+1,l),t=a[g]<t[g]?a:t);return t}var f=this,e=this.kdAxisArray[0],c=this.kdAxisArray[1],g=b?"distX":"dist";b=-1<f.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||
+this.buildKDTree();if(this.kdTree)return d(a,this.kdTree,b,b)}})})(J);(function(a){var y=a.Axis,G=a.Chart,E=a.correctFloat,h=a.defined,c=a.destroyObjectProperties,r=a.format,u=a.objectEach,v=a.pick,w=a.Series;a.StackItem=function(a,c,d,m,h){var b=a.chart.inverted;this.axis=a;this.isNegative=d;this.options=c;this.x=m;this.total=null;this.points={};this.stack=h;this.rightCliff=this.leftCliff=0;this.alignOptions={align:c.align||(b?d?"left":"right":"center"),verticalAlign:c.verticalAlign||(b?"middle":
+d?"bottom":"top"),y:v(c.y,b?4:d?14:-6),x:v(c.x,b?d?-6:6:0)};this.textAlign=c.textAlign||(b?d?"right":"left":"center")};a.StackItem.prototype={destroy:function(){c(this,this.axis)},render:function(a){var c=this.axis.chart,d=this.options,m=d.format,m=m?r(m,this,c.time):d.formatter.call(this);this.label?this.label.attr({text:m,visibility:"hidden"}):this.label=c.renderer.text(m,null,null,d.useHTML).css(d.style).attr({align:this.textAlign,rotation:d.rotation,visibility:"hidden"}).add(a);this.label.labelrank=
+c.plotHeight},setOffset:function(a,c){var d=this.axis,g=d.chart,p=d.translate(d.usePercentage?100:this.total,0,0,0,1),b=d.translate(0),b=h(p)&&Math.abs(p-b);a=g.xAxis[0].translate(this.x)+a;d=h(p)&&this.getStackBox(g,this,a,p,c,b,d);(c=this.label)&&d&&(c.align(this.alignOptions,null,d),d=c.alignAttr,c[!1===this.options.crop||g.isInsidePlot(d.x,d.y)?"show":"hide"](!0))},getStackBox:function(a,c,d,m,h,b,l){var f=c.axis.reversed,g=a.inverted;a=l.height+l.pos-(g?a.plotLeft:a.plotTop);c=c.isNegative&&
+!f||!c.isNegative&&f;return{x:g?c?m:m-b:d,y:g?a-d-h:c?a-m-b:a-m,width:g?b:h,height:g?h:b}}};G.prototype.getStacks=function(){var a=this;a.yAxis.forEach(function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});a.series.forEach(function(c){!c.options.stacking||!0!==c.visible&&!1!==a.options.chart.ignoreHiddenSeries||(c.stackKey=c.type+v(c.options.stack,""))})};y.prototype.buildStacks=function(){var a=this.series,c=v(this.options.reversedStacks,!0),d=a.length,m;if(!this.isXAxis){this.usePercentage=
+!1;for(m=d;m--;)a[c?m:d-m-1].setStackedPoints();for(m=0;m<d;m++)a[m].modifyStacks()}};y.prototype.renderStackTotals=function(){var a=this.chart,c=a.renderer,d=this.stacks,m=this.stackTotalGroup;m||(this.stackTotalGroup=m=c.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());m.translate(a.plotLeft,a.plotTop);u(d,function(a){u(a,function(a){a.render(m)})})};y.prototype.resetStacks=function(){var a=this,c=a.stacks;a.isXAxis||u(c,function(d){u(d,function(c,g){c.touched<a.stacksTouched?(c.destroy(),
+delete d[g]):(c.total=null,c.cumulative=null)})})};y.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=this.stacks=this.oldStacks),u(a,function(a){u(a,function(a){a.cumulative=a.total})}))};w.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var c=this.processedXData,g=this.processedYData,d=[],m=g.length,p=this.options,b=p.threshold,l=v(p.startFromThreshold&&b,0),f=p.stack,p=p.stacking,x=this.stackKey,
+t="-"+x,r=this.negStacks,u=this.yAxis,z=u.stacks,k=u.oldStacks,A,D,B,e,q,w,y;u.stacksTouched+=1;for(q=0;q<m;q++)w=c[q],y=g[q],A=this.getStackIndicator(A,w,this.index),e=A.key,B=(D=r&&y<(l?0:b))?t:x,z[B]||(z[B]={}),z[B][w]||(k[B]&&k[B][w]?(z[B][w]=k[B][w],z[B][w].total=null):z[B][w]=new a.StackItem(u,u.options.stackLabels,D,w,f)),B=z[B][w],null!==y?(B.points[e]=B.points[this.index]=[v(B.cumulative,l)],h(B.cumulative)||(B.base=e),B.touched=u.stacksTouched,0<A.index&&!1===this.singleStacks&&(B.points[e][0]=
+B.points[this.index+","+w+",0"][0])):B.points[e]=B.points[this.index]=null,"percent"===p?(D=D?x:t,r&&z[D]&&z[D][w]?(D=z[D][w],B.total=D.total=Math.max(D.total,B.total)+Math.abs(y)||0):B.total=E(B.total+(Math.abs(y)||0))):B.total=E(B.total+(y||0)),B.cumulative=v(B.cumulative,l)+(y||0),null!==y&&(B.points[e].push(B.cumulative),d[q]=B.cumulative);"percent"===p&&(u.usePercentage=!0);this.stackedYData=d;u.oldStacks={}}};w.prototype.modifyStacks=function(){var a=this,c=a.stackKey,d=a.yAxis.stacks,m=a.processedXData,
+h,b=a.options.stacking;a[b+"Stacker"]&&[c,"-"+c].forEach(function(c){for(var f=m.length,g,l;f--;)if(g=m[f],h=a.getStackIndicator(h,g,a.index,c),l=(g=d[c]&&d[c][g])&&g.points[h.key])a[b+"Stacker"](l,g,f)})};w.prototype.percentStacker=function(a,c,d){c=c.total?100/c.total:0;a[0]=E(a[0]*c);a[1]=E(a[1]*c);this.stackedYData[d]=a[1]};w.prototype.getStackIndicator=function(a,c,d,m){!h(a)||a.x!==c||m&&a.key!==m?a={x:c,index:0,key:m}:a.index++;a.key=[d,c,a.index].join();return a}})(J);(function(a){var y=a.addEvent,
+G=a.animate,E=a.Axis,h=a.Chart,c=a.createElement,r=a.css,u=a.defined,v=a.erase,w=a.extend,n=a.fireEvent,g=a.isNumber,d=a.isObject,m=a.isArray,p=a.merge,b=a.objectEach,l=a.pick,f=a.Point,x=a.Series,t=a.seriesTypes,H=a.setAnimation,F=a.splat;a.cleanRecursively=function(c,f){var g={};b(c,function(b,k){if(d(c[k],!0)&&f[k])b=a.cleanRecursively(c[k],f[k]),Object.keys(b).length&&(g[k]=b);else if(d(c[k])||c[k]!==f[k])g[k]=c[k]});return g};w(h.prototype,{addSeries:function(a,b,d){var c,f=this;a&&(b=l(b,!0),
+n(f,"addSeries",{options:a},function(){c=f.initSeries(a);f.isDirtyLegend=!0;f.linkSeries();n(f,"afterAddSeries");b&&f.redraw(d)}));return c},addAxis:function(a,b,d,c){var f=b?"xAxis":"yAxis",e=this.options;a=p(a,{index:this[f].length,isX:b});b=new E(this,a);e[f]=F(e[f]||{});e[f].push(a);l(d,!0)&&this.redraw(c);return b},showLoading:function(a){var b=this,d=b.options,f=b.loadingDiv,g=d.loading,e=function(){f&&r(f,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};
+f||(b.loadingDiv=f=c("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=c("span",{className:"highcharts-loading-inner"},null,f),y(b,"redraw",e));f.className="highcharts-loading";b.loadingSpan.innerHTML=a||d.lang.loading;b.styledMode||(r(f,w(g.style,{zIndex:10})),r(b.loadingSpan,g.labelStyle),b.loadingShown||(r(f,{opacity:0,display:""}),G(f,{opacity:g.style.opacity||.5},{duration:g.showDuration||0})));b.loadingShown=!0;e()},hideLoading:function(){var a=
+this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",this.styledMode||G(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){r(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
+propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),collectionsWithUpdate:"xAxis yAxis zAxis series colorAxis pane".split(" "),update:function(d,c,f,m){var k=this,e={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},h,t,x,r=[];n(k,"update",{options:d});d=a.cleanRecursively(d,k.options);if(h=d.chart){p(!0,k.options.chart,h);"className"in h&&k.setClassName(h.className);"reflow"in h&&k.setReflow(h.reflow);if("inverted"in
+h||"polar"in h||"type"in h)k.propFromSeries(),t=!0;"alignTicks"in h&&(t=!0);b(h,function(a,b){-1!==k.propsRequireUpdateSeries.indexOf("chart."+b)&&(x=!0);-1!==k.propsRequireDirtyBox.indexOf(b)&&(k.isDirtyBox=!0)});!k.styledMode&&"style"in h&&k.renderer.setStyle(h.style)}!k.styledMode&&d.colors&&(this.options.colors=d.colors);d.plotOptions&&p(!0,this.options.plotOptions,d.plotOptions);b(d,function(a,b){if(k[b]&&"function"===typeof k[b].update)k[b].update(a,!1);else if("function"===typeof k[e[b]])k[e[b]](a);
+"chart"!==b&&-1!==k.propsRequireUpdateSeries.indexOf(b)&&(x=!0)});this.collectionsWithUpdate.forEach(function(a){var b;d[a]&&("series"===a&&(b=[],k[a].forEach(function(a,d){a.options.isInternal||b.push(l(a.options.index,d))})),F(d[a]).forEach(function(d,e){(e=u(d.id)&&k.get(d.id)||k[a][b?b[e]:e])&&e.coll===a&&(e.update(d,!1),f&&(e.touched=!0));if(!e&&f)if("series"===a)k.addSeries(d,!1).touched=!0;else if("xAxis"===a||"yAxis"===a)k.addAxis(d,"xAxis"===a,!1).touched=!0}),f&&k[a].forEach(function(a){a.touched||
+a.options.isInternal?delete a.touched:r.push(a)}))});r.forEach(function(a){a.remove&&a.remove(!1)});t&&k.axes.forEach(function(a){a.update({},!1)});x&&k.series.forEach(function(a){a.update({},!1)});d.loading&&p(!0,k.options.loading,d.loading);t=h&&h.width;h=h&&h.height;g(t)&&t!==k.chartWidth||g(h)&&h!==k.chartHeight?k.setSize(t,h,m):l(c,!0)&&k.redraw(m);n(k,"afterUpdate",{options:d})},setSubtitle:function(a){this.setTitle(void 0,a)}});w(f.prototype,{update:function(a,b,c,f){function g(){e.applyOptions(a);
+null===e.y&&h&&(e.graphic=h.destroy());d(a,!0)&&(h&&h.element&&a&&a.marker&&void 0!==a.marker.symbol&&(e.graphic=h.destroy()),a&&a.dataLabels&&e.dataLabel&&(e.dataLabel=e.dataLabel.destroy()),e.connector&&(e.connector=e.connector.destroy()));m=e.index;k.updateParallelArrays(e,m);t.data[m]=d(t.data[m],!0)||d(a,!0)?e.options:l(a,t.data[m]);k.isDirty=k.isDirtyData=!0;!k.fixedBox&&k.hasCartesianSeries&&(p.isDirtyBox=!0);"point"===t.legendType&&(p.isDirtyLegend=!0);b&&p.redraw(c)}var e=this,k=e.series,
+h=e.graphic,m,p=k.chart,t=k.options;b=l(b,!0);!1===f?g():e.firePointEvent("update",{options:a},g)},remove:function(a,b){this.series.removePoint(this.series.data.indexOf(this),a,b)}});w(x.prototype,{addPoint:function(a,b,d,c){var f=this.options,e=this.data,g=this.chart,k=this.xAxis,k=k&&k.hasNames&&k.names,h=f.data,m,p,t=this.xData,n,x;b=l(b,!0);m={series:this};this.pointClass.prototype.applyOptions.apply(m,[a]);x=m.x;n=t.length;if(this.requireSorting&&x<t[n-1])for(p=!0;n&&t[n-1]>x;)n--;this.updateParallelArrays(m,
+"splice",n,0,0);this.updateParallelArrays(m,n);k&&m.name&&(k[x]=m.name);h.splice(n,0,a);p&&(this.data.splice(n,0,null),this.processData());"point"===f.legendType&&this.generatePoints();d&&(e[0]&&e[0].remove?e[0].remove(!1):(e.shift(),this.updateParallelArrays(m,"shift"),h.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(c)},removePoint:function(a,b,d){var c=this,f=c.data,e=f[a],g=c.points,k=c.chart,h=function(){g&&g.length===f.length&&g.splice(a,1);f.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(e||
+{series:c},"splice",a,1);e&&e.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&k.redraw()};H(d,k);b=l(b,!0);e?e.firePointEvent("remove",null,h):h()},remove:function(a,b,d){function c(){f.destroy();f.remove=null;e.isDirtyLegend=e.isDirtyBox=!0;e.linkSeries();l(a,!0)&&e.redraw(b)}var f=this,e=f.chart;!1!==d?n(f,"remove",null,c):c()},update:function(b,d){b=a.cleanRecursively(b,this.userOptions);var c=this,f=c.chart,g=c.userOptions,e=c.oldType||c.type,k=b.type||g.type||f.options.chart.type,h=t[e].prototype,
+m,x=["group","markerGroup","dataLabelsGroup"],r=["navigatorSeries","baseSeries"],u=c.finishedAnimating&&{animation:!1},z=["data","name","turboThreshold"],v=Object.keys(b),F=0<v.length;v.forEach(function(a){-1===z.indexOf(a)&&(F=!1)});if(F)b.data&&this.setData(b.data,!1),b.name&&this.setName(b.name,!1);else{r=x.concat(r);r.forEach(function(a){r[a]=c[a];delete c[a]});b=p(g,u,{index:c.index,pointStart:l(g.pointStart,c.xData[0])},{data:c.options.data},b);c.remove(!1,null,!1);for(m in h)c[m]=void 0;t[k||
+e]?w(c,t[k||e].prototype):a.error(17,!0,f);r.forEach(function(a){c[a]=r[a]});c.init(f,b);b.zIndex!==g.zIndex&&x.forEach(function(a){c[a]&&c[a].attr({zIndex:b.zIndex})});c.oldType=e;f.linkSeries()}n(this,"afterUpdate");l(d,!0)&&f.redraw(F?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});w(E.prototype,{update:function(a,d){var c=this.chart,f=a&&a.events||{};a=p(this.userOptions,a);c.options[this.coll].indexOf&&(c.options[this.coll][c.options[this.coll].indexOf(this.userOptions)]=
+a);b(c.options[this.coll].events,function(a,b){"undefined"===typeof f[b]&&(f[b]=void 0)});this.destroy(!0);this.init(c,w(a,{events:f}));c.isDirtyBox=!0;l(d,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,d=this.coll,c=this.series,f=c.length;f--;)c[f]&&c[f].remove(!1);v(b.axes,this);v(b[d],this);m(b.options[d])?b.options[d].splice(this.options.index,1):delete b.options[d];b[d].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;l(a,!0)&&b.redraw()},
+setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(J);(function(a){var y=a.color,G=a.pick,E=a.Series,h=a.seriesType;h("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(c){var h=[],u=[],v=this.xAxis,w=this.yAxis,n=w.stacks[this.stackKey],g={},d=this.index,m=w.series,p=m.length,b,l=G(w.options.reversedStacks,!0)?1:-1,f;c=c||this.points;if(this.options.stacking){for(f=0;f<c.length;f++)c[f].leftNull=c[f].rightNull=
+null,g[c[f].x]=c[f];a.objectEach(n,function(a,b){null!==a.total&&u.push(b)});u.sort(function(a,b){return a-b});b=m.map(function(a){return a.visible});u.forEach(function(a,c){var m=0,t,x;if(g[a]&&!g[a].isNull)h.push(g[a]),[-1,1].forEach(function(k){var h=1===k?"rightNull":"leftNull",m=0,r=n[u[c+k]];if(r)for(f=d;0<=f&&f<p;)t=r.points[f],t||(f===d?g[a][h]=!0:b[f]&&(x=n[a].points[f])&&(m-=x[1]-x[0])),f+=l;g[a][1===k?"rightCliff":"leftCliff"]=m});else{for(f=d;0<=f&&f<p;){if(t=n[a].points[f]){m=t[1];break}f+=
+l}m=w.translate(m,0,1,0,1);h.push({isNull:!0,plotX:v.translate(a,0,0,0,1),x:a,plotY:m,yBottom:m})}})}return h},getGraphPath:function(a){var c=E.prototype.getGraphPath,h=this.options,v=h.stacking,w=this.yAxis,n,g,d=[],m=[],p=this.index,b,l=w.stacks[this.stackKey],f=h.threshold,x=w.getThreshold(h.threshold),t,h=h.connectNulls||"percent"===v,H=function(c,g,k){var h=a[c];c=v&&l[h.x].points[p];var t=h[k+"Null"]||0;k=h[k+"Cliff"]||0;var n,e,h=!0;k||t?(n=(t?c[0]:c[1])+k,e=c[0]+k,h=!!t):!v&&a[g]&&a[g].isNull&&
+(n=e=f);void 0!==n&&(m.push({plotX:b,plotY:null===n?x:w.getThreshold(n),isNull:h,isCliff:!0}),d.push({plotX:b,plotY:null===e?x:w.getThreshold(e),doCurve:!1}))};a=a||this.points;v&&(a=this.getStackPoints(a));for(n=0;n<a.length;n++)if(g=a[n].isNull,b=G(a[n].rectPlotX,a[n].plotX),t=G(a[n].yBottom,x),!g||h)h||H(n,n-1,"left"),g&&!v&&h||(m.push(a[n]),d.push({x:n,plotX:b,plotY:t})),h||H(n,n+1,"right");n=c.call(this,m,!0,!0);d.reversed=!0;g=c.call(this,d,!0,!0);g.length&&(g[0]="L");g=n.concat(g);c=c.call(this,
+m,!1,h);g.xMap=n.xMap;this.areaPath=g;return c},drawGraph:function(){this.areaPath=[];E.prototype.drawGraph.apply(this);var a=this,h=this.areaPath,u=this.options,v=[["area","highcharts-area",this.color,u.fillColor]];this.zones.forEach(function(c,h){v.push(["zone-area-"+h,"highcharts-area highcharts-zone-area-"+h+" "+c.className,c.color||a.color,c.fillColor||u.fillColor])});v.forEach(function(c){var n=c[0],g=a[n];g?(g.endX=a.preventGraphAnimation?null:h.xMap,g.animate({d:h})):(g={zIndex:0},a.chart.styledMode||
+(g.fill=G(c[3],y(c[2]).setOpacity(G(u.fillOpacity,.75)).get())),g=a[n]=a.chart.renderer.path(h).addClass(c[1]).attr(g).add(a.group),g.isArea=!0);g.startX=h.xMap;g.shiftUnit=u.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(J);(function(a){var y=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,E,h){var c=E.plotX,r=E.plotY,u=a[h-1];h=a[h+1];var v,w,n,g;if(u&&!u.isNull&&!1!==u.doCurve&&!E.isCliff&&h&&!h.isNull&&!1!==h.doCurve&&!E.isCliff){a=u.plotY;n=h.plotX;h=
+h.plotY;var d=0;v=(1.5*c+u.plotX)/2.5;w=(1.5*r+a)/2.5;n=(1.5*c+n)/2.5;g=(1.5*r+h)/2.5;n!==v&&(d=(g-w)*(n-c)/(n-v)+r-g);w+=d;g+=d;w>a&&w>r?(w=Math.max(a,r),g=2*r-w):w<a&&w<r&&(w=Math.min(a,r),g=2*r-w);g>h&&g>r?(g=Math.max(h,r),w=2*r-g):g<h&&g<r&&(g=Math.min(h,r),w=2*r-g);E.rightContX=n;E.rightContY=g}E=["C",y(u.rightContX,u.plotX),y(u.rightContY,u.plotY),y(v,c),y(w,r),c,r];u.rightContX=u.rightContY=null;return E}})})(J);(function(a){var y=a.seriesTypes.area.prototype,G=a.seriesType;G("areaspline",
+"spline",a.defaultPlotOptions.area,{getStackPoints:y.getStackPoints,getGraphPath:y.getGraphPath,drawGraph:y.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(J);(function(a){var y=a.animObject,G=a.color,E=a.extend,h=a.defined,c=a.isNumber,r=a.merge,u=a.pick,v=a.Series,w=a.seriesType,n=a.svg;w("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",
+borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){v.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&&d.series.forEach(function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,d=a.options,c=a.xAxis,h=a.yAxis,b=
+c.options.reversedStacks,b=c.reversed&&!b||!c.reversed&&b,l,f={},n=0;!1===d.grouping?n=1:a.chart.series.forEach(function(b){var d=b.options,c=b.yAxis,g;b.type!==a.type||!b.visible&&a.chart.options.chart.ignoreHiddenSeries||h.len!==c.len||h.pos!==c.pos||(d.stacking?(l=b.stackKey,void 0===f[l]&&(f[l]=n++),g=f[l]):!1!==d.grouping&&(g=n++),b.columnIndex=g)});var t=Math.min(Math.abs(c.transA)*(c.ordinalSlope||d.pointRange||c.closestPointRange||c.tickInterval||1),c.len),r=t*d.groupPadding,v=(t-2*r)/(n||
+1),d=Math.min(d.maxPointWidth||c.len,u(d.pointWidth,v*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(v-d)/2+(r+((a.columnIndex||0)+(b?1:0))*v-t/2)*(b?-1:1)};return a.columnMetrics},crispCol:function(a,d,c,h){var b=this.chart,g=this.borderWidth,f=-(g%2?.5:0),g=g%2?.5:1;b.inverted&&b.renderer.isVML&&(g+=1);this.options.crisp&&(c=Math.round(a+c)+f,a=Math.round(a)+f,c-=a);h=Math.round(d+h)+g;f=.5>=Math.abs(d)&&.5<h;d=Math.round(d)+g;h-=d;f&&h&&(--d,h+=1);return{x:a,y:d,width:c,height:h}},translate:function(){var a=
+this,d=a.chart,c=a.options,p=a.dense=2>a.closestPointRange*a.xAxis.transA,p=a.borderWidth=u(c.borderWidth,p?0:1),b=a.yAxis,l=c.threshold,f=a.translatedThreshold=b.getThreshold(l),n=u(c.minPointLength,5),t=a.getColumnMetrics(),r=t.width,F=a.barW=Math.max(r,1+2*p),z=a.pointXOffset=t.offset;d.inverted&&(f-=.5);c.pointPadding&&(F=Math.ceil(F));v.prototype.translate.apply(a);a.points.forEach(function(c){var g=u(c.yBottom,f),k=999+Math.abs(g),m=r,k=Math.min(Math.max(-k,c.plotY),b.len+k),e=c.plotX+z,q=F,
+p=Math.min(k,g),t,x=Math.max(k,g)-p;n&&Math.abs(x)<n&&(x=n,t=!b.reversed&&!c.negative||b.reversed&&c.negative,c.y===l&&a.dataMax<=l&&b.min<l&&(t=!t),p=Math.abs(p-f)>n?g-n:f-(t?n:0));h(c.options.pointWidth)&&(m=q=Math.ceil(c.options.pointWidth),e-=Math.round((m-r)/2));c.barX=e;c.pointWidth=m;c.tooltipPos=d.inverted?[b.len+b.pos-d.plotLeft-k,a.xAxis.len-e-q/2,x]:[e+q/2,k+b.pos-d.plotTop,x];c.shapeType=c.shapeType||"rect";c.shapeArgs=a.crispCol.apply(a,c.isNull?[e,f,q,0]:[e,p,q,x])})},getSymbol:a.noop,
+drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,d){var c=this.options,g,b=this.pointAttrToOptions||{};g=b.stroke||"borderColor";var l=b["stroke-width"]||"borderWidth",f=a&&a.color||this.color,h=a&&a[g]||c[g]||this.color||f,t=a&&a[l]||c[l]||this[l]||0,b=c.dashStyle;a&&this.zones.length&&(f=a.getZone(),f=a.options.color||f&&f.color||this.color);d&&(a=r(c.states[d],a.options.states&&
+a.options.states[d]||{}),d=a.brightness,f=a.color||void 0!==d&&G(f).brighten(a.brightness).get()||f,h=a[g]||h,t=a[l]||t,b=a.dashStyle||b);g={fill:f,stroke:h,"stroke-width":t};b&&(g.dashstyle=b);return g},drawPoints:function(){var a=this,d=this.chart,h=a.options,p=d.renderer,b=h.animationLimit||250,l;a.points.forEach(function(f){var g=f.graphic,m=g&&d.pointCount<b?"animate":"attr";if(c(f.plotY)&&null!==f.y){l=f.shapeArgs;if(g)g[m](r(l));else f.graphic=g=p[f.shapeType](l).add(f.group||a.group);h.borderRadius&&
+g.attr({r:h.borderRadius});d.styledMode||g[m](a.pointAttribs(f,f.selected&&"select")).shadow(h.shadow,null,h.stacking&&!h.borderRadius);g.addClass(f.getClassName(),!0)}else g&&(f.graphic=g.destroy())})},animate:function(a){var d=this,c=this.yAxis,g=d.options,b=this.chart.inverted,h={},f=b?"translateX":"translateY",x;n&&(a?(h.scaleY=.001,a=Math.min(c.pos+c.len,Math.max(c.pos,c.toPixels(g.threshold))),b?h.translateX=a-c.len:h.translateY=a,d.group.attr(h)):(x=d.group.attr(f),d.group.animate({scaleY:1},
+E(y(d.options.animation),{step:function(a,b){h[f]=x+b.pos*(c.pos-x);d.group.attr(h)}})),d.animate=null))},remove:function(){var a=this,d=a.chart;d.hasRendered&&d.series.forEach(function(d){d.type===a.type&&(d.isDirty=!0)});v.prototype.remove.apply(a,arguments)}})})(J);(function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})})(J);(function(a){var y=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 10px"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',
+pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&y.prototype.drawGraph.call(this)}})})(J);(function(a){var y=a.deg2rad,G=a.isNumber,E=a.pick,h=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,r=this.chart,u=2*(a.slicedOffset||0),v=r.plotWidth-2*u,
+r=r.plotHeight-2*u,w=a.center,w=[E(w[0],"50%"),E(w[1],"50%"),a.size||"100%",a.innerSize||0],n=Math.min(v,r),g,d;for(g=0;4>g;++g)d=w[g],a=2>g||2===g&&/%$/.test(d),w[g]=h(d,[v,r,n,w[2]][g])+(a?u:0);w[3]>w[2]&&(w[3]=w[2]);return w},getStartAndEndRadians:function(a,h){a=G(a)?a:0;h=G(h)&&h>a&&360>h-a?h:a+360;return{start:y*(a+-90),end:y*(h+-90)}}}})(J);(function(a){var y=a.addEvent,G=a.CenteredSeriesMixin,E=a.defined,h=a.extend,c=G.getStartAndEndRadians,r=a.noop,u=a.pick,v=a.Point,w=a.Series,n=a.seriesType,
+g=a.setAnimation;n("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,
+requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var d=this,c=d.points,b=d.startAngleRad;a||(c.forEach(function(a){var c=a.graphic,g=a.shapeArgs;c&&(c.attr({r:a.startR||d.center[3]/2,start:b,end:b}),c.animate({r:g.r,start:g.start,end:g.end},d.options.animation))}),d.animate=null)},updateTotals:function(){var a,c=0,g=this.points,b=g.length,h,f=this.options.ignoreHiddenPoint;
+for(a=0;a<b;a++)h=g[a],c+=f&&!h.visible?0:h.isNull?0:h.y;this.total=c;for(a=0;a<b;a++)h=g[a],h.percentage=0<c&&(h.visible||!f)?h.y/c*100:0,h.total=c},generatePoints:function(){w.prototype.generatePoints.call(this);this.updateTotals()},getX:function(a,c,g){var b=this.center,d=this.radii?this.radii[g.index]:b[2]/2;return b[0]+(c?-1:1)*Math.cos(Math.asin(Math.max(Math.min((a-b[1])/(d+g.labelDistance),1),-1)))*(d+g.labelDistance)+(0<g.labelDistance?(c?-1:1)*this.options.dataLabels.padding:0)},translate:function(a){this.generatePoints();
+var d=0,g=this.options,b=g.slicedOffset,h=b+(g.borderWidth||0),f,n,t=c(g.startAngle,g.endAngle),r=this.startAngleRad=t.start,t=(this.endAngleRad=t.end)-r,v=this.points,z,k,A=g.dataLabels.distance,g=g.ignoreHiddenPoint,w,B=v.length,e;a||(this.center=a=this.getCenter());for(w=0;w<B;w++){e=v[w];e.labelDistance=u(e.options.dataLabels&&e.options.dataLabels.distance,A);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,e.labelDistance);f=r+d*t;if(!g||e.visible)d+=e.percentage/100;n=r+d*t;e.shapeType=
+"arc";e.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*f)/1E3,end:Math.round(1E3*n)/1E3};n=(n+f)/2;n>1.5*Math.PI?n-=2*Math.PI:n<-Math.PI/2&&(n+=2*Math.PI);e.slicedTranslation={translateX:Math.round(Math.cos(n)*b),translateY:Math.round(Math.sin(n)*b)};z=Math.cos(n)*a[2]/2;k=Math.sin(n)*a[2]/2;e.tooltipPos=[a[0]+.7*z,a[1]+.7*k];e.half=n<-Math.PI/2||n>Math.PI/2?1:0;e.angle=n;f=Math.min(h,e.labelDistance/5);e.labelPosition={natural:{x:a[0]+z+Math.cos(n)*e.labelDistance,y:a[1]+k+
+Math.sin(n)*e.labelDistance},"final":{},alignment:0>e.labelDistance?"center":e.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+z+Math.cos(n)*f,y:a[1]+k+Math.sin(n)*f},touchingSliceAt:{x:a[0]+z,y:a[1]+k}}}}},drawGraph:null,drawPoints:function(){var a=this,c=a.chart,g=c.renderer,b,l,f,n,t=a.options.shadow;!t||a.shadowGroup||c.styledMode||(a.shadowGroup=g.g("shadow").add(a.group));a.points.forEach(function(d){l=d.graphic;if(d.isNull)l&&(d.graphic=l.destroy());else{n=d.shapeArgs;b=d.getTranslate();
+if(!c.styledMode){var m=d.shadowGroup;t&&!m&&(m=d.shadowGroup=g.g("shadow").add(a.shadowGroup));m&&m.attr(b);f=a.pointAttribs(d,d.selected&&"select")}l?(l.setRadialReference(a.center),c.styledMode||l.attr(f),l.animate(h(n,b))):(d.graphic=l=g[d.shapeType](n).setRadialReference(a.center).attr(b).add(a.group),c.styledMode||l.attr(f).attr({"stroke-linejoin":"round"}).shadow(t,m));l.attr({visibility:d.visible?"inherit":"hidden"});l.addClass(d.getClassName())}})},searchPoint:r,sortByAngle:function(a,c){a.sort(function(a,
+b){return void 0!==a.angle&&(b.angle-a.angle)*c})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:G.getCenter,getSymbol:r},{init:function(){v.prototype.init.apply(this,arguments);var a=this,c;a.name=u(a.name,"Slice");c=function(d){a.slice("select"===d.type)};y(a,"select",c);y(a,"unselect",c);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,c){var d=this,b=d.series,g=b.chart,f=b.options.ignoreHiddenPoint;c=u(c,f);a!==d.visible&&(d.visible=d.options.visible=
+a=void 0===a?!d.visible:a,b.options.data[b.data.indexOf(d)]=d.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(b){if(d[b])d[b][a?"show":"hide"](!0)}),d.legendItem&&g.legend.colorizeItem(d,a),a||"hover"!==d.state||d.setState(""),f&&(b.isDirty=!0),c&&g.redraw())},slice:function(a,c,h){var b=this.series;g(h,b.chart);u(c,!0);this.sliced=this.options.sliced=E(a)?a:!this.sliced;b.options.data[b.data.indexOf(this)]=this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&
+this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var d=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+a,d.r+a,{innerR:this.shapeArgs.r-1,start:d.start,end:d.end})},connectorShapes:{fixedOffset:function(a,c,g){var b=c.breakAt;c=c.touchingSliceAt;return["M",a.x,a.y].concat(g.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*
+b.x-c.x,2*b.y-c.y,b.x,b.y]:["L",b.x,b.y]).concat(["L",c.x,c.y])},straight:function(a,c){c=c.touchingSliceAt;return["M",a.x,a.y,"L",c.x,c.y]},crookedLine:function(d,c,g){c=c.touchingSliceAt;var b=this.series,h=b.center[0],f=b.chart.plotWidth,m=b.chart.plotLeft,b=d.alignment,t=this.shapeArgs.r;g=a.relativeLength(g.crookDistance,1);g="left"===b?h+t+(f+m-h-t)*(1-g):m+(h-t)*g;h=["L",g,d.y];if("left"===b?g>d.x||g<c.x:g<d.x||g>c.x)h=[];return["M",d.x,d.y].concat(h).concat(["L",c.x,c.y])}},getConnectorPath:function(){var a=
+this.labelPosition,c=this.series.options.dataLabels,g=c.connectorShape,b=this.connectorShapes;b[g]&&(g=b[g]);return g.call(this,{x:a.final.x,y:a.final.y,alignment:a.alignment},a.connectorPosition,c)}})})(J);(function(a){var y=a.addEvent,G=a.arrayMax,E=a.defined,h=a.extend,c=a.format,r=a.merge,u=a.noop,v=a.pick,w=a.relativeLength,n=a.Series,g=a.seriesTypes,d=a.stableSort,m=a.isArray,p=a.splat;a.distribute=function(b,c,f){function g(a,b){return a.target-b.target}var h,l=!0,m=b,p=[],k;k=0;var n=m.reducedLen||
+c;for(h=b.length;h--;)k+=b[h].size;if(k>n){d(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(k=h=0;k<=n;)k+=b[h].size,h++;p=b.splice(h-1,b.length)}d(b,g);for(b=b.map(function(a){return{size:a.size,targets:[a.target],align:v(a.align,.5)}});l;){for(h=b.length;h--;)l=b[h],k=(Math.min.apply(0,l.targets)+Math.max.apply(0,l.targets))/2,l.pos=Math.min(Math.max(0,k-l.size*l.align),c-l.size);h=b.length;for(l=!1;h--;)0<h&&b[h-1].pos+b[h-1].size>b[h].pos&&(b[h-1].size+=b[h].size,b[h-1].targets=b[h-1].targets.concat(b[h].targets),
+b[h-1].align=.5,b[h-1].pos+b[h-1].size>c&&(b[h-1].pos=c-b[h-1].size),b.splice(h,1),l=!0)}m.push.apply(m,p);h=0;b.some(function(b){var d=0;if(b.targets.some(function(){m[h].pos=b.pos+d;if(Math.abs(m[h].pos-m[h].target)>f)return m.slice(0,h+1).forEach(function(a){delete a.pos}),m.reducedLen=(m.reducedLen||c)-.1*c,m.reducedLen>.1*c&&a.distribute(m,c,f),!0;d+=m[h].size;h++}))return!0});d(m,g)};n.prototype.drawDataLabels=function(){function b(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],
+c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function d(a,b){var c=[],d;if(m(a)&&!m(b))c=a.map(function(a){return r(a,b)});else if(m(b)&&!m(a))c=b.map(function(b){return r(a,b)});else if(m(a)||m(b))for(d=Math.max(a.length,b.length);d--;)c[d]=r(a[d],b[d]);else c=r(a,b);return c}var f=this,g=f.chart,h=f.options,n=h.dataLabels,u=f.points,z,k=f.hasRendered||0,A,w=v(n.defer,!!h.animation),B=g.renderer,
+n=d(d(g.options.plotOptions&&g.options.plotOptions.series&&g.options.plotOptions.series.dataLabels,g.options.plotOptions&&g.options.plotOptions[f.type]&&g.options.plotOptions[f.type].dataLabels),n);a.fireEvent(this,"drawDataLabels");if(m(n)||n.enabled||f._hasPointLabels)A=f.plotGroup("dataLabelsGroup","data-labels",w&&!k?"hidden":"visible",n.zIndex||6),w&&(A.attr({opacity:+k}),k||y(f,"afterAnimate",function(){f.visible&&A.show(!0);A[h.animation?"animate":"attr"]({opacity:1},{duration:200})})),u.forEach(function(e){z=
+p(d(n,e.dlOptions||e.options&&e.options.dataLabels));z.forEach(function(d,k){var l=d.enabled&&!e.isNull&&b(e,d),m,q,t,p,n=e.dataLabels?e.dataLabels[k]:e.dataLabel,r=e.connectors?e.connectors[k]:e.connector,u=!n;l&&(m=e.getLabelConfig(),q=d[e.formatPrefix+"Format"]||d.format,m=E(q)?c(q,m,g.time):(d[e.formatPrefix+"Formatter"]||d.formatter).call(m,d),q=d.style,t=d.rotation,g.styledMode||(q.color=v(d.color,q.color,f.color,"#000000"),"contrast"===q.color&&(e.contrastColor=B.getContrast(e.color||f.color),
+q.color=d.inside||0>v(d.distance,e.labelDistance)||h.stacking?e.contrastColor:"#000000"),h.cursor&&(q.cursor=h.cursor)),p={r:d.borderRadius||0,rotation:t,padding:d.padding,zIndex:1},g.styledMode||(p.fill=d.backgroundColor,p.stroke=d.borderColor,p["stroke-width"]=d.borderWidth),a.objectEach(p,function(a,b){void 0===a&&delete p[b]}));!n||l&&E(m)?l&&E(m)&&(n?p.text=m:(e.dataLabels=e.dataLabels||[],n=e.dataLabels[k]=t?B.text(m,0,-9999).addClass("highcharts-data-label"):B.label(m,0,-9999,d.shape,null,
+null,d.useHTML,null,"data-label"),k||(e.dataLabel=n),n.addClass(" highcharts-data-label-color-"+e.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":""))),n.options=d,n.attr(p),g.styledMode||n.css(q).shadow(d.shadow),n.added||n.add(A),f.alignDataLabel(e,n,d,null,u)):(e.dataLabel=e.dataLabel&&e.dataLabel.destroy(),e.dataLabels&&(1===e.dataLabels.length?delete e.dataLabels:delete e.dataLabels[k]),k||delete e.dataLabel,r&&(e.connector=e.connector.destroy(),e.connectors&&(1===e.connectors.length?
+delete e.connectors:delete e.connectors[k])))})});a.fireEvent(this,"afterDrawDataLabels")};n.prototype.alignDataLabel=function(a,d,c,g,m){var b=this.chart,f=this.isCartesian&&b.inverted,l=v(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),k=v(a.plotY,-9999),n=d.getBBox(),p,t=c.rotation,e=c.align,q=this.visible&&(a.series.forceDL||b.isInsidePlot(l,Math.round(k),f)||g&&b.isInsidePlot(l,f?g.x+1:g.y+g.height-1,f)),r="justify"===v(c.overflow,"justify");if(q&&(p=b.renderer.fontMetrics(b.styledMode?void 0:c.style.fontSize,
+d).b,g=h({x:f?this.yAxis.len-k:l,y:Math.round(f?this.xAxis.len-l:k),width:0,height:0},g),h(c,{width:n.width,height:n.height}),t?(r=!1,l=b.renderer.rotCorr(p,t),l={x:g.x+c.x+g.width/2+l.x,y:g.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*g.height},d[m?"attr":"animate"](l).attr({align:e}),k=(t+720)%360,k=180<k&&360>k,"left"===e?l.y-=k?n.height:0:"center"===e?(l.x-=n.width/2,l.y-=n.height/2):"right"===e&&(l.x-=n.width,l.y-=k?0:n.height),d.placed=!0,d.alignAttr=l):(d.align(c,null,g),l=d.alignAttr),
+r&&0<=g.height?a.isLabelJustified=this.justifyDataLabel(d,c,l,n,g,m):v(c.crop,!0)&&(q=b.isInsidePlot(l.x,l.y)&&b.isInsidePlot(l.x+n.width,l.y+n.height)),c.shape&&!t))d[m?"attr":"animate"]({anchorX:f?b.plotWidth-a.plotY:a.plotX,anchorY:f?b.plotHeight-a.plotX:a.plotY});q||(d.attr({y:-9999}),d.placed=!1)};n.prototype.justifyDataLabel=function(a,d,c,g,h,m){var b=this.chart,f=d.align,k=d.verticalAlign,l,n,p=a.box?0:a.padding||0;l=c.x+p;0>l&&("right"===f?d.align="left":d.x=-l,n=!0);l=c.x+g.width-p;l>b.plotWidth&&
+("left"===f?d.align="right":d.x=b.plotWidth-l,n=!0);l=c.y+p;0>l&&("bottom"===k?d.verticalAlign="top":d.y=-l,n=!0);l=c.y+g.height-p;l>b.plotHeight&&("top"===k?d.verticalAlign="bottom":d.y=b.plotHeight-l,n=!0);n&&(a.placed=!m,a.align(d,null,h));return n};g.pie&&(g.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,d,c,g){return a.getX(c<d.top+2||c>d.bottom-2?g:c,d.half,d)},justify:function(a,d,c){return c[0]+(a.half?-1:
+1)*(d+a.labelDistance)},alignToPlotEdges:function(a,d,c,g){a=a.getBBox().width;return d?a+g:c-a-g},alignToConnectors:function(a,d,c,g){var b=0,f;a.forEach(function(a){f=a.dataLabel.getBBox().width;f>b&&(b=f)});return d?b+g:c-b-g}},g.pie.prototype.drawDataLabels=function(){var b=this,d=b.data,c,g=b.chart,h=b.options.dataLabels,m=h.connectorPadding,p=v(h.connectorWidth,1),r=g.plotWidth,k=g.plotHeight,u=g.plotLeft,w=Math.round(g.chartWidth/3),B,e=b.center,q=e[2]/2,y=e[1],I,J,K,M,S=[[],[]],C,N,P,T,Q=
+[0,0,0,0],O=b.dataLabelPositioners;b.visible&&(h.enabled||b._hasPointLabels)&&(d.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),n.prototype.drawDataLabels.apply(b),d.forEach(function(a){a.dataLabel&&(a.visible?(S[a.half].push(a),a.dataLabel._pos=null,!E(h.style.width)&&!E(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>
+w&&(a.dataLabel.css({width:.7*w}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),S.forEach(function(d,f){var l,n,p=d.length,t=[],x;if(p)for(b.sortByAngle(d,f-.5),0<b.maxLabelDistance&&(l=Math.max(0,y-q-b.maxLabelDistance),n=Math.min(y+q+b.maxLabelDistance,g.plotHeight),d.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,y-q-a.labelDistance),a.bottom=Math.min(y+q+a.labelDistance,g.plotHeight),x=a.dataLabel.getBBox().height||
+21,a.distributeBox={target:a.labelPosition.natural.y-a.top+x/2,size:x,rank:a.y},t.push(a.distributeBox))}),l=n+x-l,a.distribute(t,l,l/5)),T=0;T<p;T++){c=d[T];K=c.labelPosition;I=c.dataLabel;P=!1===c.visible?"hidden":"inherit";N=l=K.natural.y;t&&E(c.distributeBox)&&(void 0===c.distributeBox.pos?P="hidden":(M=c.distributeBox.size,N=O.radialDistributionY(c)));delete c.positionIndex;if(h.justify)C=O.justify(c,q,e);else switch(h.alignTo){case "connectors":C=O.alignToConnectors(d,f,r,u);break;case "plotEdges":C=
+O.alignToPlotEdges(I,f,r,u);break;default:C=O.radialDistributionX(b,c,N,l)}I._attr={visibility:P,align:K.alignment};I._pos={x:C+h.x+({left:m,right:-m}[K.alignment]||0),y:N+h.y-10};K.final.x=C;K.final.y=N;v(h.crop,!0)&&(J=I.getBBox().width,l=null,C-J<m&&1===f?(l=Math.round(J-C+m),Q[3]=Math.max(l,Q[3])):C+J>r-m&&0===f&&(l=Math.round(C+J-r+m),Q[1]=Math.max(l,Q[1])),0>N-M/2?Q[0]=Math.max(Math.round(-N+M/2),Q[0]):N+M/2>k&&(Q[2]=Math.max(Math.round(N+M/2-k),Q[2])),I.sideOverflow=l)}}),0===G(Q)||this.verifyDataLabelOverflow(Q))&&
+(this.placeDataLabels(),p&&this.points.forEach(function(a){var d;B=a.connector;if((I=a.dataLabel)&&I._pos&&a.visible&&0<a.labelDistance){P=I._attr.visibility;if(d=!B)a.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup),g.styledMode||B.attr({"stroke-width":p,stroke:h.connectorColor||a.color||"#666666"});B[d?"attr":"animate"]({d:a.getConnectorPath()});B.attr("visibility",P)}else B&&(a.connector=
+B.destroy())}))},g.pie.prototype.placeDataLabels=function(){this.points.forEach(function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},g.pie.prototype.alignDataLabel=u,g.pie.prototype.verifyDataLabelOverflow=function(a){var b=
+this.center,d=this.options,c=d.center,g=d.minSize||80,h,m=null!==d.size;m||(null!==c[0]?h=Math.max(b[2]-Math.max(a[1],a[3]),g):(h=Math.max(b[2]-a[1]-a[3],g),b[0]+=(a[3]-a[1])/2),null!==c[1]?h=Math.max(Math.min(h,b[2]-Math.max(a[0],a[2])),g):(h=Math.max(Math.min(h,b[2]-a[0]-a[2]),g),b[1]+=(a[0]-a[2])/2),h<b[2]?(b[2]=h,b[3]=Math.min(w(d.innerSize||0,h),h),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):m=!0);return m});g.column&&(g.column.prototype.alignDataLabel=function(a,d,c,g,h){var b=
+this.chart.inverted,f=a.series,l=a.dlBox||a.shapeArgs,k=v(a.below,a.plotY>v(this.translatedThreshold,f.yAxis.len)),m=v(c.inside,!!this.options.stacking);l&&(g=r(l),0>g.y&&(g.height+=g.y,g.y=0),l=g.y+g.height-f.yAxis.len,0<l&&(g.height-=l),b&&(g={x:f.yAxis.len-g.y-g.height,y:f.xAxis.len-g.x-g.width,width:g.height,height:g.width}),m||(b?(g.x+=k?0:g.width,g.width=0):(g.y+=k?g.height:0,g.height=0)));c.align=v(c.align,!b||m?"center":k?"right":"left");c.verticalAlign=v(c.verticalAlign,b||m?"middle":k?"top":
+"bottom");n.prototype.alignDataLabel.call(this,a,d,c,g,h);a.isLabelJustified&&a.contrastColor&&d.css({color:a.contrastColor})})})(J);(function(a){var y=a.Chart,G=a.isArray,E=a.objectEach,h=a.pick,c=a.addEvent,r=a.fireEvent;c(y,"render",function(){var a=[];(this.labelCollectors||[]).forEach(function(c){a=a.concat(c())});(this.yAxis||[]).forEach(function(c){c.options.stackLabels&&!c.options.stackLabels.allowOverlap&&E(c.stacks,function(c){E(c,function(c){a.push(c.label)})})});(this.series||[]).forEach(function(c){var r=
+c.options.dataLabels;c.visible&&(!1!==r.enabled||c._hasPointLabels)&&c.points.forEach(function(c){c.visible&&(G(c.dataLabels)?c.dataLabels:c.dataLabel?[c.dataLabel]:[]).forEach(function(g){var d=g.options;g.labelrank=h(d.labelrank,c.labelrank,c.shapeArgs&&c.shapeArgs.height);d.allowOverlap||a.push(g)})})});this.hideOverlappingLabels(a)});y.prototype.hideOverlappingLabels=function(a){var c=this,h=a.length,n=c.renderer,g,d,m,p,b,l,f=function(a,b,c,d,f,g,h,l){return!(f>a+c||f+h<a||g>b+d||g+l<b)};m=function(a){var b,
+c,d,f=a.box?0:a.padding||0;d=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(d=a.getBBox(),a.width=d.width,a.height=d.height,d=n.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+f,y:b.y+(c.translateY||0)+f-d,width:a.width-2*f,height:a.height-2*f}};for(d=0;d<h;d++)if(g=a[d])g.oldOpacity=g.opacity,g.newOpacity=1,g.absoluteBox=m(g);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(d=0;d<h;d++)for(l=(m=a[d])&&m.absoluteBox,
+g=d+1;g<h;++g)if(b=(p=a[g])&&p.absoluteBox,l&&b&&m!==p&&0!==m.newOpacity&&0!==p.newOpacity&&(b=f(l.x,l.y,l.width,l.height,b.x,b.y,b.width,b.height)))(m.labelrank<p.labelrank?m:p).newOpacity=0;a.forEach(function(a){var b,d;a&&(d=a.newOpacity,a.oldOpacity!==d&&(a.alignAttr&&a.placed?(d?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=d,a[a.isOld?"animate":"attr"](a.alignAttr,null,b),r(c,"afterHideOverlappingLabels")):a.attr({opacity:d})),a.isOld=!0)})}})(J);(function(a){var y=a.addEvent,G=a.Chart,
+E=a.createElement,h=a.css,c=a.defaultOptions,r=a.defaultPlotOptions,u=a.extend,v=a.fireEvent,w=a.hasTouch,n=a.isObject,g=a.Legend,d=a.merge,m=a.pick,p=a.Point,b=a.Series,l=a.seriesTypes,f=a.svg,x;x=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,c=b.pointer,d=function(a){var b=c.getPointFromEvent(a);void 0!==b&&(c.isDirectTouch=!0,b.onMouseOver(a))};a.points.forEach(function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=
+a)});a._hasTracking||(a.trackerGroups.forEach(function(f){if(a[f]){a[f].addClass("highcharts-tracker").on("mouseover",d).on("mouseout",function(a){c.onTrackerMouseOut(a)});if(w)a[f].on("touchstart",d);!b.styledMode&&a.options.cursor&&a[f].css(h).css({cursor:a.options.cursor})}}),a._hasTracking=!0);v(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),g=d.length,h=a.chart,l=h.pointer,m=h.renderer,e=h.options.tooltip.snap,
+q=a.tracker,p,n=function(){if(h.hoverSeries!==a)a.onMouseOver()},r="rgba(192,192,192,"+(f?.0001:.002)+")";if(g&&!c)for(p=g+1;p--;)"M"===d[p]&&d.splice(p+1,0,d[p+1]-e,d[p+2],"L"),(p&&"M"===d[p]||p===g)&&d.splice(p,0,"L",d[p-2]+e,d[p-1]);q?q.attr({d:d}):a.graph&&(a.tracker=m.path(d).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),h.styledMode||a.tracker.attr({"stroke-linejoin":"round",stroke:r,fill:c?r:"none","stroke-width":a.graph.strokeWidth()+
+(c?0:2*e)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){l.onTrackerMouseOut(a)});b.cursor&&!h.styledMode&&a.css({cursor:b.cursor});if(w)a.on("touchstart",n)}));v(this,"afterDrawTracker")}};l.column&&(l.column.prototype.drawTracker=x.drawTrackerPoint);l.pie&&(l.pie.prototype.drawTracker=x.drawTrackerPoint);l.scatter&&(l.scatter.prototype.drawTracker=x.drawTrackerPoint);u(g.prototype,{setItemEvents:function(a,b,c){var f=
+this,g=f.chart.renderer.boxWrapper,h="highcharts-legend-"+(a instanceof p?"point":"series")+"-active",l=f.chart.styledMode;(c?b:a.legendGroup).on("mouseover",function(){a.setState("hover");g.addClass(h);l||b.css(f.options.itemHoverStyle)}).on("mouseout",function(){f.styledMode||b.css(d(a.visible?f.itemStyle:f.itemHiddenStyle));g.removeClass(h);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};g.removeClass(h);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",
+b,c):v(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=E("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);y(a.checkbox,"click",function(b){v(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});u(G.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,d=c.lang,f=b.options.chart.resetZoomButton,g=f.theme,h=
+g.states,l="chart"===f.relativeTo?null:"plotBox";v(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(d.resetZoom,null,null,a,g,h&&h.hover).attr({align:f.position.align,title:d.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(f.position,!1,l)})},zoomOut:function(){v(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var b,c=this.pointer,d=!1,f;!a||a.resetSelection?(this.axes.forEach(function(a){b=a.zoom()}),c.initiated=!1):a.xAxis.concat(a.yAxis).forEach(function(a){var f=
+a.axis;c[f.isXAxis?"zoomX":"zoomY"]&&(b=f.zoom(a.min,a.max),f.displayBtn&&(d=!0))});f=this.resetZoomButton;d&&!f?this.showResetZoom():!d&&n(f)&&(this.resetZoomButton=f.destroy());b&&this.redraw(m(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,f;d&&d.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,g=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",e=c[d],h=(b.pointRange||
+0)/2,k=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,l=b.getExtremes(),m=b.toValue(e-g,!0)+h*k,k=b.toValue(e+b.len-g,!0)-h*k,p=k<m,e=p?k:m,m=p?m:k,k=Math.min(l.dataMin,h?l.min:b.toValue(b.toPixels(l.min)-b.minPixelPadding)),h=Math.max(l.dataMax,h?l.max:b.toValue(b.toPixels(l.max)+b.minPixelPadding)),p=k-e;0<p&&(m+=p,e=k);p=m-h;0<p&&(m=h,e-=p);b.series.length&&e!==l.min&&m!==l.max&&(b.setExtremes(e,m,!1,!1,{trigger:"pan"}),f=!0);c[d]=g});f&&c.redraw(!1);h(c.container,{cursor:"move"})}});u(p.prototype,
+{select:function(a,b){var c=this,d=c.series,f=d.chart;a=m(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[d.data.indexOf(c)]=c.options;c.setState(a&&"select");b||f.getSelectedPoints().forEach(function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,d.options.data[d.data.indexOf(a)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):
+c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=d(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(a,c){y(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,f=this.series,
+g=f.options.states[a||"normal"]||{},h=r[f.type].marker&&f.options.marker,l=h&&!1===h.enabled,e=h&&h.states&&h.states[a||"normal"]||{},p=!1===e.enabled,n=f.stateMarkerGraphic,t=this.marker||{},w=f.chart,x=f.halo,y,E=h&&f.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===g.enabled||a&&(p||l&&!1===e.enabled)||a&&t.states&&t.states[a]&&!1===t.states[a].enabled)){E&&(y=f.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),
+a&&this.graphic.addClass("highcharts-point-"+a),w.styledMode||this.graphic.animate(f.pointAttribs(this,a),m(w.options.chart.animation,g.animation)),y&&this.graphic.animate(y,m(w.options.chart.animation,e.animation,h.animation)),n&&n.hide();else{if(a&&e){h=t.symbol||f.symbol;n&&n.currentSymbol!==h&&(n=n.destroy());if(n)n[b?"animate":"attr"]({x:y.x,y:y.y});else h&&(f.stateMarkerGraphic=n=w.renderer.symbol(h,y.x,y.y,y.width,y.height).add(f.markerGroup),n.currentSymbol=h);!w.styledMode&&n&&n.attr(f.pointAttribs(this,
+a))}n&&(n[a&&w.isInsidePlot(c,d,w.inverted)?"show":"hide"](),n.element.point=this)}(c=g.halo)&&c.size?(x||(f.halo=x=w.renderer.path().add((this.graphic||n).parentGroup)),x.show()[b?"animate":"attr"]({d:this.haloPath(c.size)}),x.attr({"class":"highcharts-halo highcharts-color-"+m(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),x.point=this,w.styledMode||x.attr(u({fill:this.color||f.color,"fill-opacity":c.opacity},c.attributes))):x&&x.point&&x.point.haloPath&&x.animate({d:x.point.haloPath(0)},
+null,x.hide);this.state=a;v(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});u(b.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&v(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&
+v(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this,c=b.options,d=b.graph,f=c.states,g=c.lineWidth,c=0;a=a||"";if(b.state!==a&&([b.group,b.markerGroup,b.dataLabelsGroup].forEach(function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a,!(b.chart.styledMode||f[a]&&!1===f[a].enabled)&&(a&&(g=f[a].lineWidth||g+(f[a].lineWidthPlus||0)),d&&!d.dashstyle)))for(g=
+{"stroke-width":g},d.animate(g,m(f[a||"normal"]&&f[a||"normal"].animation,b.chart.options.chart.animation));b["zone-graph-"+c];)b["zone-graph-"+c].attr(g),c+=1},setVisible:function(a,b){var c=this,d=c.chart,f=c.legendItem,g,h=d.options.chart.ignoreHiddenSeries,l=c.visible;g=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!l:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(c[a])c[a][g]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===
+c)c.onMouseOut();f&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});c.linkedSeries.forEach(function(b){b.setVisible(a,!1)});h&&(d.isDirtyBox=!0);v(c,g);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=this.options.selected=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);v(this,a?"select":"unselect")},drawTracker:x.drawTrackerGraph})})(J);
+(function(a){var y=a.Chart,G=a.isArray,E=a.isObject,h=a.pick,c=a.splat;y.prototype.setResponsive=function(c){var h=this.options.responsive,r=[],w=this.currentResponsive;h&&h.rules&&h.rules.forEach(function(g){void 0===g._id&&(g._id=a.uniqueKey());this.matchResponsiveRule(g,r,c)},this);var n=a.merge.apply(0,r.map(function(c){return a.find(h.rules,function(a){return a._id===c}).chartOptions})),r=r.toString()||void 0;r!==(w&&w.ruleIds)&&(w&&this.update(w.undoOptions,c),r?(this.currentResponsive={ruleIds:r,
+mergedOptions:n,undoOptions:this.currentOptions(n)},this.update(n,c)):this.currentResponsive=void 0)};y.prototype.matchResponsiveRule=function(a,c){var r=a.condition;(r.callback||function(){return this.chartWidth<=h(r.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=h(r.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=h(r.minWidth,0)&&this.chartHeight>=h(r.minHeight,0)}).call(this)&&c.push(a._id)};y.prototype.currentOptions=function(h){function r(h,n,g,d){var m;a.objectEach(h,function(a,b){if(!d&&-1<["series",
+"xAxis","yAxis"].indexOf(b))for(a=c(a),g[b]=[],m=0;m<a.length;m++)n[b][m]&&(g[b][m]={},r(a[m],n[b][m],g[b][m],d+1));else E(a)?(g[b]=G(a)?[]:{},r(a,n[b]||{},g[b],d+1)):g[b]=n[b]||null})}var v={};r(h,this.options,v,0);return v}})(J);return J});
+//# sourceMappingURL=highcharts.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ 3D features for Highcharts JS
+
+ @license: www.highcharts.com/license
+*/
+(function(A){"object"===typeof module&&module.exports?module.exports=A:"function"===typeof define&&define.amd?define(function(){return A}):A("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(A){(function(b){var y=b.deg2rad,z=b.pick;b.perspective3D=function(b,q,v){q=0<v&&v<Number.POSITIVE_INFINITY?v/(b.z+q.z+v):1;return{x:b.x*q,y:b.y*q}};b.perspective=function(u,q,v){var x=q.options.chart.options3d,f=v?q.inverted:!1,w={x:q.plotWidth/2,y:q.plotHeight/2,z:x.depth/2,vd:z(x.depth,1)*z(x.viewDistance,
+0)},p=q.scale3d||1,e=y*x.beta*(f?-1:1),x=y*x.alpha*(f?-1:1),a=Math.cos(x),l=Math.cos(-e),r=Math.sin(x),k=Math.sin(-e);v||(w.x+=q.plotLeft,w.y+=q.plotTop);return u.map(function(e){var d;d=(f?e.y:e.x)-w.x;var c=(f?e.x:e.y)-w.y;e=(e.z||0)-w.z;d={x:l*d-k*e,y:-r*k*d+a*c-l*r*e,z:a*k*d+r*c+a*l*e};c=b.perspective3D(d,w,w.vd);c.x=c.x*p+w.x;c.y=c.y*p+w.y;c.z=d.z*p+w.z;return{x:f?c.y:c.x,y:f?c.x:c.y,z:c.z}})};b.pointCameraDistance=function(b,q){var v=q.options.chart.options3d,x=q.plotWidth/2;q=q.plotHeight/
+2;v=z(v.depth,1)*z(v.viewDistance,0)+v.depth;return Math.sqrt(Math.pow(x-b.plotX,2)+Math.pow(q-b.plotY,2)+Math.pow(v-b.plotZ,2))};b.shapeArea=function(b){var q=0,v,x;for(v=0;v<b.length;v++)x=(v+1)%b.length,q+=b[v].x*b[x].y-b[x].x*b[v].y;return q/2};b.shapeArea3d=function(u,q,v){return b.shapeArea(b.perspective(u,q,v))}})(A);(function(b){function y(a,d,h,b,g,C,e,p){var m=[],F=C-g;return C>g&&C-g>Math.PI/2+.0001?(m=m.concat(y(a,d,h,b,g,g+Math.PI/2,e,p)),m=m.concat(y(a,d,h,b,g+Math.PI/2,C,e,p))):C<g&&
+g-C>Math.PI/2+.0001?(m=m.concat(y(a,d,h,b,g,g-Math.PI/2,e,p)),m=m.concat(y(a,d,h,b,g-Math.PI/2,C,e,p))):["C",a+h*Math.cos(g)-h*c*F*Math.sin(g)+e,d+b*Math.sin(g)+b*c*F*Math.cos(g)+p,a+h*Math.cos(C)+h*c*F*Math.sin(C)+e,d+b*Math.sin(C)-b*c*F*Math.cos(C)+p,a+h*Math.cos(C)+e,d+b*Math.sin(C)+p]}var z=Math.cos,u=Math.PI,q=Math.sin,v=b.animObject,x=b.charts,f=b.color,w=b.defined,p=b.deg2rad,e=b.extend,a=b.merge,l=b.perspective,r=b.pick,k=b.SVGElement,t=b.SVGRenderer,d=b.wrap,c,n,g;c=4*(Math.sqrt(2)-1)/3/
+(u/2);t.prototype.toLinePath=function(a,d){var h=[];a.forEach(function(a){h.push("L",a.x,a.y)});a.length&&(h[0]="M",d&&h.push("Z"));return h};t.prototype.toLineSegments=function(a){var d=[],h=!0;a.forEach(function(a){d.push(h?"M":"L",a.x,a.y);h=!h});return d};t.prototype.face3d=function(a){var c=this,h=this.createElement("path");h.vertexes=[];h.insidePlotArea=!1;h.enabled=!0;d(h,"attr",function(a,d){if("object"===typeof d&&(w(d.enabled)||w(d.vertexes)||w(d.insidePlotArea))){this.enabled=r(d.enabled,
+this.enabled);this.vertexes=r(d.vertexes,this.vertexes);this.insidePlotArea=r(d.insidePlotArea,this.insidePlotArea);delete d.enabled;delete d.vertexes;delete d.insidePlotArea;var h=l(this.vertexes,x[c.chartIndex],this.insidePlotArea),m=c.toLinePath(h,!0),h=b.shapeArea(h),h=this.enabled&&0<h?"visible":"hidden";d.d=m;d.visibility=h}return a.apply(this,[].slice.call(arguments,1))});d(h,"animate",function(a,d){if("object"===typeof d&&(w(d.enabled)||w(d.vertexes)||w(d.insidePlotArea))){this.enabled=r(d.enabled,
+this.enabled);this.vertexes=r(d.vertexes,this.vertexes);this.insidePlotArea=r(d.insidePlotArea,this.insidePlotArea);delete d.enabled;delete d.vertexes;delete d.insidePlotArea;var h=l(this.vertexes,x[c.chartIndex],this.insidePlotArea),m=c.toLinePath(h,!0),h=b.shapeArea(h),h=this.enabled&&0<h?"visible":"hidden";d.d=m;this.attr("visibility",h)}return a.apply(this,[].slice.call(arguments,1))});return h.attr(a)};t.prototype.polyhedron=function(a){var c=this,h=this.g(),m=h.destroy;this.styledMode||h.attr({"stroke-linejoin":"round"});
+h.faces=[];h.destroy=function(){for(var a=0;a<h.faces.length;a++)h.faces[a].destroy();return m.call(this)};d(h,"attr",function(a,d,m,b,g){if("object"===typeof d&&w(d.faces)){for(;h.faces.length>d.faces.length;)h.faces.pop().destroy();for(;h.faces.length<d.faces.length;)h.faces.push(c.face3d().add(h));for(var e=0;e<d.faces.length;e++)c.styledMode&&delete d.faces[e].fill,h.faces[e].attr(d.faces[e],null,b,g);delete d.faces}return a.apply(this,[].slice.call(arguments,1))});d(h,"animate",function(a,d,
+m,b){if(d&&d.faces){for(;h.faces.length>d.faces.length;)h.faces.pop().destroy();for(;h.faces.length<d.faces.length;)h.faces.push(c.face3d().add(h));for(var g=0;g<d.faces.length;g++)h.faces[g].animate(d.faces[g],m,b);delete d.faces}return a.apply(this,[].slice.call(arguments,1))});return h.attr(a)};n={initArgs:function(a){var d=this,h=d.renderer,c=h[d.pathType+"Path"](a),m=c.zIndexes;d.parts.forEach(function(a){d[a]=h.path(c[a]).attr({"class":"highcharts-3d-"+a,zIndex:m[a]||0}).add(d)});d.attr({"stroke-linejoin":"round",
+zIndex:m.group});d.originalDestroy=d.destroy;d.destroy=d.destroyParts},singleSetterForParts:function(a,d,h,c,g,e){var m={};c=[null,null,c||"attr",g,e];var p=h&&h.zIndexes;h?(b.objectEach(h,function(d,c){m[c]={};m[c][a]=d;p&&(m[c].zIndex=h.zIndexes[c]||0)}),c[1]=m):(m[a]=d,c[0]=m);return this.processParts.apply(this,c)},processParts:function(a,d,c,g,e){var h=this;h.parts.forEach(function(m){d&&(a=b.pick(d[m],!1));if(!1!==a)h[m][c](a,g,e)});return h},destroyParts:function(){this.processParts(null,null,
+"destroy");return this.originalDestroy.call(this)}};g=b.merge(n,{parts:["front","top","side"],pathType:"cuboid",attr:function(a,d,c,b){if("string"===typeof a&&"undefined"!==typeof d){var h=a;a={};a[h]=d}return a.shapeArgs||w(a.x)?this.singleSetterForParts("d",null,this.renderer[this.pathType+"Path"](a.shapeArgs||a)):k.prototype.attr.call(this,a,void 0,c,b)},animate:function(a,d,c){w(a.x)&&w(a.y)?(a=this.renderer[this.pathType+"Path"](a),this.singleSetterForParts("d",null,a,"animate",d,c),this.attr({zIndex:a.zIndexes.group})):
+a.opacity?this.processParts(a,null,"animate",d,c):k.prototype.animate.call(this,a,d,c);return this},fillSetter:function(a){this.singleSetterForParts("fill",null,{front:a,top:f(a).brighten(.1).get(),side:f(a).brighten(-.1).get()});this.color=this.fill=a;return this},opacitySetter:function(a){return this.singleSetterForParts("opacity",a)}});t.prototype.elements3d={base:n,cuboid:g};t.prototype.element3d=function(a,d){var c=this.g();b.extend(c,this.elements3d[a]);c.initArgs(d);return c};t.prototype.cuboid=
+function(a){return this.element3d("cuboid",a)};b.SVGRenderer.prototype.cuboidPath=function(a){function d(a){return f[a]}var c=a.x,g=a.y,e=a.z,p=a.height,m=a.width,k=a.depth,r=x[this.chartIndex],n,t,v=r.options.chart.options3d.alpha,q=0,f=[{x:c,y:g,z:e},{x:c+m,y:g,z:e},{x:c+m,y:g+p,z:e},{x:c,y:g+p,z:e},{x:c,y:g+p,z:e+k},{x:c+m,y:g+p,z:e+k},{x:c+m,y:g,z:e+k},{x:c,y:g,z:e+k}],f=l(f,r,a.insidePlotArea);t=function(a,c){var h=[[],-1];a=a.map(d);c=c.map(d);0>b.shapeArea(a)?h=[a,0]:0>b.shapeArea(c)&&(h=[c,
+1]);return h};n=t([3,2,1,0],[7,6,5,4]);a=n[0];m=n[1];n=t([1,6,7,0],[4,5,2,3]);p=n[0];k=n[1];n=t([1,2,5,6],[0,7,4,3]);t=n[0];n=n[1];1===n?q+=1E4*(1E3-c):n||(q+=1E4*c);q+=10*(!k||0<=v&&180>=v||360>v&&357.5<v?r.plotHeight-g:10+g);1===m?q+=100*e:m||(q+=100*(1E3-e));return{front:this.toLinePath(a,!0),top:this.toLinePath(p,!0),side:this.toLinePath(t,!0),zIndexes:{group:Math.round(q)},isFront:m,isTop:k}};b.SVGRenderer.prototype.arc3d=function(c){function g(d){var c=!1,h={},g;d=a(d);for(g in d)-1!==l.indexOf(g)&&
+(h[g]=d[g],delete d[g],c=!0);return c?h:!1}var h=this.g(),m=h.renderer,l="x y r innerR start end".split(" ");c=a(c);c.alpha=(c.alpha||0)*p;c.beta=(c.beta||0)*p;h.top=m.path();h.side1=m.path();h.side2=m.path();h.inn=m.path();h.out=m.path();h.onAdd=function(){var a=h.parentGroup,d=h.attr("class");h.top.add(h);["out","inn","side1","side2"].forEach(function(c){h[c].attr({"class":d+" highcharts-3d-side"}).add(a)})};["addClass","removeClass"].forEach(function(a){h[a]=function(){var d=arguments;["top","out",
+"inn","side1","side2"].forEach(function(c){h[c][a].apply(h[c],d)})}});h.setPaths=function(a){var d=h.renderer.arc3dPath(a),c=100*d.zTop;h.attribs=a;h.top.attr({d:d.top,zIndex:d.zTop});h.inn.attr({d:d.inn,zIndex:d.zInn});h.out.attr({d:d.out,zIndex:d.zOut});h.side1.attr({d:d.side1,zIndex:d.zSide1});h.side2.attr({d:d.side2,zIndex:d.zSide2});h.zIndex=c;h.attr({zIndex:c});a.center&&(h.top.setRadialReference(a.center),delete a.center)};h.setPaths(c);h.fillSetter=function(a){var d=f(a).brighten(-.1).get();
+this.fill=a;this.side1.attr({fill:d});this.side2.attr({fill:d});this.inn.attr({fill:d});this.out.attr({fill:d});this.top.attr({fill:a});return this};["opacity","translateX","translateY","visibility"].forEach(function(a){h[a+"Setter"]=function(a,d){h[d]=a;["out","inn","side1","side2","top"].forEach(function(c){h[c].attr(d,a)})}});d(h,"attr",function(a,d){var c;"object"===typeof d&&(c=g(d))&&(e(h.attribs,c),h.setPaths(h.attribs));return a.apply(this,[].slice.call(arguments,1))});d(h,"animate",function(d,
+c,e,p){var m,k=this.attribs,l,n="data-"+Math.random().toString(26).substring(2,9);delete c.center;delete c.z;delete c.depth;delete c.alpha;delete c.beta;l=v(r(e,this.renderer.globalAnimation));l.duration&&(m=g(c),h[n]=0,c[n]=1,h[n+"Setter"]=b.noop,m&&(l.step=function(d,c){function h(a){return k[a]+(r(m[a],k[a])-k[a])*c.pos}c.prop===n&&c.elem.setPaths(a(k,{x:h("x"),y:h("y"),r:h("r"),innerR:h("innerR"),start:h("start"),end:h("end")}))}),e=l);return d.call(this,c,e,p)});h.destroy=function(){this.top.destroy();
+this.out.destroy();this.inn.destroy();this.side1.destroy();this.side2.destroy();k.prototype.destroy.call(this)};h.hide=function(){this.top.hide();this.out.hide();this.inn.hide();this.side1.hide();this.side2.hide()};h.show=function(a){this.top.show(a);this.out.show(a);this.inn.show(a);this.side1.show(a);this.side2.show(a)};return h};t.prototype.arc3dPath=function(a){function d(a){a%=2*Math.PI;a>Math.PI&&(a=2*Math.PI-a);return a}var c=a.x,g=a.y,b=a.start,e=a.end-.00001,p=a.r,k=a.innerR||0,l=a.depth||
+0,m=a.alpha,n=a.beta,r=Math.cos(b),t=Math.sin(b);a=Math.cos(e);var v=Math.sin(e),f=p*Math.cos(n),p=p*Math.cos(m),x=k*Math.cos(n),w=k*Math.cos(m),k=l*Math.sin(n),B=l*Math.sin(m),l=["M",c+f*r,g+p*t],l=l.concat(y(c,g,f,p,b,e,0,0)),l=l.concat(["L",c+x*a,g+w*v]),l=l.concat(y(c,g,x,w,e,b,0,0)),l=l.concat(["Z"]),A=0<n?Math.PI/2:0,n=0<m?0:Math.PI/2,A=b>-A?b:e>-A?-A:b,D=e<u-n?e:b<u-n?u-n:e,E=2*u-n,m=["M",c+f*z(A),g+p*q(A)],m=m.concat(y(c,g,f,p,A,D,0,0));e>E&&b<E?(m=m.concat(["L",c+f*z(D)+k,g+p*q(D)+B]),m=
+m.concat(y(c,g,f,p,D,E,k,B)),m=m.concat(["L",c+f*z(E),g+p*q(E)]),m=m.concat(y(c,g,f,p,E,e,0,0)),m=m.concat(["L",c+f*z(e)+k,g+p*q(e)+B]),m=m.concat(y(c,g,f,p,e,E,k,B)),m=m.concat(["L",c+f*z(E),g+p*q(E)]),m=m.concat(y(c,g,f,p,E,D,0,0))):e>u-n&&b<u-n&&(m=m.concat(["L",c+f*Math.cos(D)+k,g+p*Math.sin(D)+B]),m=m.concat(y(c,g,f,p,D,e,k,B)),m=m.concat(["L",c+f*Math.cos(e),g+p*Math.sin(e)]),m=m.concat(y(c,g,f,p,e,D,0,0)));m=m.concat(["L",c+f*Math.cos(D)+k,g+p*Math.sin(D)+B]);m=m.concat(y(c,g,f,p,D,A,k,B));
+m=m.concat(["Z"]);n=["M",c+x*r,g+w*t];n=n.concat(y(c,g,x,w,b,e,0,0));n=n.concat(["L",c+x*Math.cos(e)+k,g+w*Math.sin(e)+B]);n=n.concat(y(c,g,x,w,e,b,k,B));n=n.concat(["Z"]);r=["M",c+f*r,g+p*t,"L",c+f*r+k,g+p*t+B,"L",c+x*r+k,g+w*t+B,"L",c+x*r,g+w*t,"Z"];c=["M",c+f*a,g+p*v,"L",c+f*a+k,g+p*v+B,"L",c+x*a+k,g+w*v+B,"L",c+x*a,g+w*v,"Z"];v=Math.atan2(B,-k);g=Math.abs(e+v);a=Math.abs(b+v);b=Math.abs((b+e)/2+v);g=d(g);a=d(a);b=d(b);b*=1E5;e=1E5*a;g*=1E5;return{top:l,zTop:1E5*Math.PI+1,out:m,zOut:Math.max(b,
+e,g),inn:n,zInn:Math.max(b,e,g),side1:r,zSide1:.99*g,side2:c,zSide2:.99*e}}})(A);(function(b){function y(b,e){var a=b.plotLeft,p=b.plotWidth+a,r=b.plotTop,k=b.plotHeight+r,t=a+b.plotWidth/2,d=r+b.plotHeight/2,c=Number.MAX_VALUE,n=-Number.MAX_VALUE,g=Number.MAX_VALUE,m=-Number.MAX_VALUE,f,h=1;f=[{x:a,y:r,z:0},{x:a,y:r,z:e}];[0,1].forEach(function(a){f.push({x:p,y:f[a].y,z:f[a].z})});[0,1,2,3].forEach(function(a){f.push({x:f[a].x,y:k,z:f[a].z})});f=v(f,b,!1);f.forEach(function(a){c=Math.min(c,a.x);
+n=Math.max(n,a.x);g=Math.min(g,a.y);m=Math.max(m,a.y)});a>c&&(h=Math.min(h,1-Math.abs((a+t)/(c+t))%1));p<n&&(h=Math.min(h,(p-t)/(n-t)));r>g&&(h=0>g?Math.min(h,(r+d)/(-g+r+d)):Math.min(h,1-(r+d)/(g+d)%1));k<m&&(h=Math.min(h,Math.abs((k-d)/(m-d))));return h}var z=b.addEvent,u=b.Chart,q=b.merge,v=b.perspective,x=b.pick,f=b.wrap;u.prototype.is3d=function(){return this.options.chart.options3d&&this.options.chart.options3d.enabled};u.prototype.propsRequireDirtyBox.push("chart.options3d");u.prototype.propsRequireUpdateSeries.push("chart.options3d");
+z(u,"afterInit",function(){var b=this.options;this.is3d()&&(b.series||[]).forEach(function(e){"scatter"===(e.type||b.chart.type||b.chart.defaultSeriesType)&&(e.type="scatter3d")})});z(u,"addSeries",function(b){this.is3d()&&"scatter"===b.options.type&&(b.options.type="scatter3d")});b.wrap(b.Chart.prototype,"isInsidePlot",function(b){return this.is3d()||b.apply(this,[].slice.call(arguments,1))});var w=b.getOptions();q(!0,w,{chart:{options3d:{enabled:!1,alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,
+axisLabelPosition:null,frame:{visible:"default",size:1,bottom:{},top:{},left:{},right:{},back:{},front:{}}}}});z(u,"afterGetContainer",function(){this.styledMode&&(this.renderer.definition({tagName:"style",textContent:".highcharts-3d-top{filter: url(#highcharts-brighter)}\n.highcharts-3d-side{filter: url(#highcharts-darker)}\n"}),[{name:"darker",slope:.6},{name:"brighter",slope:1.4}].forEach(function(b){this.renderer.definition({tagName:"filter",id:"highcharts-"+b.name,children:[{tagName:"feComponentTransfer",
+children:[{tagName:"feFuncR",type:"linear",slope:b.slope},{tagName:"feFuncG",type:"linear",slope:b.slope},{tagName:"feFuncB",type:"linear",slope:b.slope}]}]})},this))});f(u.prototype,"setClassName",function(b){b.apply(this,[].slice.call(arguments,1));this.is3d()&&(this.container.className+=" highcharts-3d-chart")});z(b.Chart,"afterSetChartSize",function(){var b=this.options.chart.options3d;if(this.is3d()){var e=this.inverted,a=this.clipBox,l=this.margin;a[e?"y":"x"]=-(l[3]||0);a[e?"x":"y"]=-(l[0]||
+0);a[e?"height":"width"]=this.chartWidth+(l[3]||0)+(l[1]||0);a[e?"width":"height"]=this.chartHeight+(l[0]||0)+(l[2]||0);this.scale3d=1;!0===b.fitToPlot&&(this.scale3d=y(this,b.depth));this.frame3d=this.get3dFrame()}});z(u,"beforeRedraw",function(){this.is3d()&&(this.isDirtyBox=!0)});z(u,"beforeRender",function(){this.is3d()&&(this.frame3d=this.get3dFrame())});f(u.prototype,"renderSeries",function(b){var e=this.series.length;if(this.is3d())for(;e--;)b=this.series[e],b.translate(),b.render();else b.call(this)});
+z(u,"afterDrawChartBox",function(){if(this.is3d()){var p=this.renderer,e=this.options.chart.options3d,a=this.get3dFrame(),l=this.plotLeft,r=this.plotLeft+this.plotWidth,k=this.plotTop,t=this.plotTop+this.plotHeight,e=e.depth,d=l-(a.left.visible?a.left.size:0),c=r+(a.right.visible?a.right.size:0),n=k-(a.top.visible?a.top.size:0),g=t+(a.bottom.visible?a.bottom.size:0),m=0-(a.front.visible?a.front.size:0),f=e+(a.back.visible?a.back.size:0),h=this.hasRendered?"animate":"attr";this.frame3d=a;this.frameShapes||
+(this.frameShapes={bottom:p.polyhedron().add(),top:p.polyhedron().add(),left:p.polyhedron().add(),right:p.polyhedron().add(),back:p.polyhedron().add(),front:p.polyhedron().add()});this.frameShapes.bottom[h]({"class":"highcharts-3d-frame highcharts-3d-frame-bottom",zIndex:a.bottom.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.bottom.color).brighten(.1).get(),vertexes:[{x:d,y:g,z:m},{x:c,y:g,z:m},{x:c,y:g,z:f},{x:d,y:g,z:f}],enabled:a.bottom.visible},{fill:b.color(a.bottom.color).brighten(.1).get(),vertexes:[{x:l,
+y:t,z:e},{x:r,y:t,z:e},{x:r,y:t,z:0},{x:l,y:t,z:0}],enabled:a.bottom.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),vertexes:[{x:d,y:g,z:m},{x:d,y:g,z:f},{x:l,y:t,z:e},{x:l,y:t,z:0}],enabled:a.bottom.visible&&!a.left.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),vertexes:[{x:c,y:g,z:f},{x:c,y:g,z:m},{x:r,y:t,z:0},{x:r,y:t,z:e}],enabled:a.bottom.visible&&!a.right.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:c,y:g,z:m},{x:d,y:g,z:m},{x:l,y:t,z:0},{x:r,y:t,z:0}],
+enabled:a.bottom.visible&&!a.front.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:d,y:g,z:f},{x:c,y:g,z:f},{x:r,y:t,z:e},{x:l,y:t,z:e}],enabled:a.bottom.visible&&!a.back.visible}]});this.frameShapes.top[h]({"class":"highcharts-3d-frame highcharts-3d-frame-top",zIndex:a.top.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:d,y:n,z:f},{x:c,y:n,z:f},{x:c,y:n,z:m},{x:d,y:n,z:m}],enabled:a.top.visible},{fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:l,
+y:k,z:0},{x:r,y:k,z:0},{x:r,y:k,z:e},{x:l,y:k,z:e}],enabled:a.top.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:d,y:n,z:f},{x:d,y:n,z:m},{x:l,y:k,z:0},{x:l,y:k,z:e}],enabled:a.top.visible&&!a.left.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:c,y:n,z:m},{x:c,y:n,z:f},{x:r,y:k,z:e},{x:r,y:k,z:0}],enabled:a.top.visible&&!a.right.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:d,y:n,z:m},{x:c,y:n,z:m},{x:r,y:k,z:0},{x:l,y:k,z:0}],enabled:a.top.visible&&
+!a.front.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:c,y:n,z:f},{x:d,y:n,z:f},{x:l,y:k,z:e},{x:r,y:k,z:e}],enabled:a.top.visible&&!a.back.visible}]});this.frameShapes.left[h]({"class":"highcharts-3d-frame highcharts-3d-frame-left",zIndex:a.left.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.left.color).brighten(.1).get(),vertexes:[{x:d,y:g,z:m},{x:l,y:t,z:0},{x:l,y:t,z:e},{x:d,y:g,z:f}],enabled:a.left.visible&&!a.bottom.visible},{fill:b.color(a.left.color).brighten(.1).get(),vertexes:[{x:d,
+y:n,z:f},{x:l,y:k,z:e},{x:l,y:k,z:0},{x:d,y:n,z:m}],enabled:a.left.visible&&!a.top.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:d,y:g,z:f},{x:d,y:n,z:f},{x:d,y:n,z:m},{x:d,y:g,z:m}],enabled:a.left.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:l,y:k,z:e},{x:l,y:t,z:e},{x:l,y:t,z:0},{x:l,y:k,z:0}],enabled:a.left.visible},{fill:b.color(a.left.color).get(),vertexes:[{x:d,y:g,z:m},{x:d,y:n,z:m},{x:l,y:k,z:0},{x:l,y:t,z:0}],enabled:a.left.visible&&!a.front.visible},
+{fill:b.color(a.left.color).get(),vertexes:[{x:d,y:n,z:f},{x:d,y:g,z:f},{x:l,y:t,z:e},{x:l,y:k,z:e}],enabled:a.left.visible&&!a.back.visible}]});this.frameShapes.right[h]({"class":"highcharts-3d-frame highcharts-3d-frame-right",zIndex:a.right.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.right.color).brighten(.1).get(),vertexes:[{x:c,y:g,z:f},{x:r,y:t,z:e},{x:r,y:t,z:0},{x:c,y:g,z:m}],enabled:a.right.visible&&!a.bottom.visible},{fill:b.color(a.right.color).brighten(.1).get(),vertexes:[{x:c,y:n,z:m},
+{x:r,y:k,z:0},{x:r,y:k,z:e},{x:c,y:n,z:f}],enabled:a.right.visible&&!a.top.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:r,y:k,z:0},{x:r,y:t,z:0},{x:r,y:t,z:e},{x:r,y:k,z:e}],enabled:a.right.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:c,y:g,z:m},{x:c,y:n,z:m},{x:c,y:n,z:f},{x:c,y:g,z:f}],enabled:a.right.visible},{fill:b.color(a.right.color).get(),vertexes:[{x:c,y:n,z:m},{x:c,y:g,z:m},{x:r,y:t,z:0},{x:r,y:k,z:0}],enabled:a.right.visible&&!a.front.visible},
+{fill:b.color(a.right.color).get(),vertexes:[{x:c,y:g,z:f},{x:c,y:n,z:f},{x:r,y:k,z:e},{x:r,y:t,z:e}],enabled:a.right.visible&&!a.back.visible}]});this.frameShapes.back[h]({"class":"highcharts-3d-frame highcharts-3d-frame-back",zIndex:a.back.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.back.color).brighten(.1).get(),vertexes:[{x:c,y:g,z:f},{x:d,y:g,z:f},{x:l,y:t,z:e},{x:r,y:t,z:e}],enabled:a.back.visible&&!a.bottom.visible},{fill:b.color(a.back.color).brighten(.1).get(),vertexes:[{x:d,y:n,z:f},{x:c,
+y:n,z:f},{x:r,y:k,z:e},{x:l,y:k,z:e}],enabled:a.back.visible&&!a.top.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:d,y:g,z:f},{x:d,y:n,z:f},{x:l,y:k,z:e},{x:l,y:t,z:e}],enabled:a.back.visible&&!a.left.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:c,y:n,z:f},{x:c,y:g,z:f},{x:r,y:t,z:e},{x:r,y:k,z:e}],enabled:a.back.visible&&!a.right.visible},{fill:b.color(a.back.color).get(),vertexes:[{x:l,y:k,z:e},{x:r,y:k,z:e},{x:r,y:t,z:e},{x:l,y:t,z:e}],enabled:a.back.visible},
+{fill:b.color(a.back.color).get(),vertexes:[{x:d,y:g,z:f},{x:c,y:g,z:f},{x:c,y:n,z:f},{x:d,y:n,z:f}],enabled:a.back.visible}]});this.frameShapes.front[h]({"class":"highcharts-3d-frame highcharts-3d-frame-front",zIndex:a.front.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.front.color).brighten(.1).get(),vertexes:[{x:d,y:g,z:m},{x:c,y:g,z:m},{x:r,y:t,z:0},{x:l,y:t,z:0}],enabled:a.front.visible&&!a.bottom.visible},{fill:b.color(a.front.color).brighten(.1).get(),vertexes:[{x:c,y:n,z:m},{x:d,y:n,z:m},{x:l,
+y:k,z:0},{x:r,y:k,z:0}],enabled:a.front.visible&&!a.top.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:d,y:n,z:m},{x:d,y:g,z:m},{x:l,y:t,z:0},{x:l,y:k,z:0}],enabled:a.front.visible&&!a.left.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:c,y:g,z:m},{x:c,y:n,z:m},{x:r,y:k,z:0},{x:r,y:t,z:0}],enabled:a.front.visible&&!a.right.visible},{fill:b.color(a.front.color).get(),vertexes:[{x:r,y:k,z:0},{x:l,y:k,z:0},{x:l,y:t,z:0},{x:r,y:t,z:0}],enabled:a.front.visible},
+{fill:b.color(a.front.color).get(),vertexes:[{x:c,y:g,z:m},{x:d,y:g,z:m},{x:d,y:n,z:m},{x:c,y:n,z:m}],enabled:a.front.visible}]})}});u.prototype.retrieveStacks=function(b){var e=this.series,a={},l,p=1;this.series.forEach(function(k){l=x(k.options.stack,b?0:e.length-1-k.index);a[l]?a[l].series.push(k):(a[l]={series:[k],position:p},p++)});a.totalStacks=p+1;return a};u.prototype.get3dFrame=function(){var p=this,e=p.options.chart.options3d,a=e.frame,l=p.plotLeft,f=p.plotLeft+p.plotWidth,k=p.plotTop,t=
+p.plotTop+p.plotHeight,d=e.depth,c=function(a){a=b.shapeArea3d(a,p);return.5<a?1:-.5>a?-1:0},n=c([{x:l,y:t,z:d},{x:f,y:t,z:d},{x:f,y:t,z:0},{x:l,y:t,z:0}]),g=c([{x:l,y:k,z:0},{x:f,y:k,z:0},{x:f,y:k,z:d},{x:l,y:k,z:d}]),m=c([{x:l,y:k,z:0},{x:l,y:k,z:d},{x:l,y:t,z:d},{x:l,y:t,z:0}]),q=c([{x:f,y:k,z:d},{x:f,y:k,z:0},{x:f,y:t,z:0},{x:f,y:t,z:d}]),h=c([{x:l,y:t,z:0},{x:f,y:t,z:0},{x:f,y:k,z:0},{x:l,y:k,z:0}]),c=c([{x:l,y:k,z:d},{x:f,y:k,z:d},{x:f,y:t,z:d},{x:l,y:t,z:d}]),w=!1,u=!1,y=!1,z=!1;[].concat(p.xAxis,
+p.yAxis,p.zAxis).forEach(function(a){a&&(a.horiz?a.opposite?u=!0:w=!0:a.opposite?z=!0:y=!0)});var A=function(a,c,d){for(var b=["size","color","visible"],g={},e=0;e<b.length;e++)for(var m=b[e],h=0;h<a.length;h++)if("object"===typeof a[h]){var f=a[h][m];if(void 0!==f&&null!==f){g[m]=f;break}}a=d;!0===g.visible||!1===g.visible?a=g.visible:"auto"===g.visible&&(a=0<c);return{size:x(g.size,1),color:x(g.color,"none"),frontFacing:0<c,visible:a}},a={bottom:A([a.bottom,a.top,a],n,w),top:A([a.top,a.bottom,a],
+g,u),left:A([a.left,a.right,a.side,a],m,y),right:A([a.right,a.left,a.side,a],q,z),back:A([a.back,a.front,a],c,!0),front:A([a.front,a.back,a],h,!1)};"auto"===e.axisLabelPosition?(q=function(a,c){return a.visible!==c.visible||a.visible&&c.visible&&a.frontFacing!==c.frontFacing},e=[],q(a.left,a.front)&&e.push({y:(k+t)/2,x:l,z:0,xDir:{x:1,y:0,z:0}}),q(a.left,a.back)&&e.push({y:(k+t)/2,x:l,z:d,xDir:{x:0,y:0,z:-1}}),q(a.right,a.front)&&e.push({y:(k+t)/2,x:f,z:0,xDir:{x:0,y:0,z:1}}),q(a.right,a.back)&&e.push({y:(k+
+t)/2,x:f,z:d,xDir:{x:-1,y:0,z:0}}),n=[],q(a.bottom,a.front)&&n.push({x:(l+f)/2,y:t,z:0,xDir:{x:1,y:0,z:0}}),q(a.bottom,a.back)&&n.push({x:(l+f)/2,y:t,z:d,xDir:{x:-1,y:0,z:0}}),g=[],q(a.top,a.front)&&g.push({x:(l+f)/2,y:k,z:0,xDir:{x:1,y:0,z:0}}),q(a.top,a.back)&&g.push({x:(l+f)/2,y:k,z:d,xDir:{x:-1,y:0,z:0}}),m=[],q(a.bottom,a.left)&&m.push({z:(0+d)/2,y:t,x:l,xDir:{x:0,y:0,z:-1}}),q(a.bottom,a.right)&&m.push({z:(0+d)/2,y:t,x:f,xDir:{x:0,y:0,z:1}}),t=[],q(a.top,a.left)&&t.push({z:(0+d)/2,y:k,x:l,xDir:{x:0,
+y:0,z:-1}}),q(a.top,a.right)&&t.push({z:(0+d)/2,y:k,x:f,xDir:{x:0,y:0,z:1}}),l=function(a,c,d){if(0===a.length)return null;if(1===a.length)return a[0];for(var b=0,g=v(a,p,!1),e=1;e<g.length;e++)d*g[e][c]>d*g[b][c]?b=e:d*g[e][c]===d*g[b][c]&&g[e].z<g[b].z&&(b=e);return a[b]},a.axes={y:{left:l(e,"x",-1),right:l(e,"x",1)},x:{top:l(g,"y",-1),bottom:l(n,"y",1)},z:{top:l(t,"y",-1),bottom:l(m,"y",1)}}):a.axes={y:{left:{x:l,z:0,xDir:{x:1,y:0,z:0}},right:{x:f,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:k,z:0,xDir:{x:1,
+y:0,z:0}},bottom:{y:t,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:y?f:l,y:k,xDir:y?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:y?f:l,y:t,xDir:y?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return a};b.Fx.prototype.matrixSetter=function(){var f;if(1>this.pos&&(b.isArray(this.start)||b.isArray(this.end))){var e=this.start||[1,0,0,1,0,0],a=this.end||[1,0,0,1,0,0];f=[];for(var l=0;6>l;l++)f.push(this.pos*a[l]+(1-this.pos)*e[l])}else f=this.end;this.elem.attr(this.prop,f,null,!0)}})(A);(function(b){function y(d,c,b){if(!d.chart.is3d()||
+"colorAxis"===d.coll)return c;var g=d.chart,e=x*g.options.chart.options3d.alpha,f=x*g.options.chart.options3d.beta,h=a(b&&d.options.title.position3d,d.options.labels.position3d);b=a(b&&d.options.title.skew3d,d.options.labels.skew3d);var k=g.frame3d,n=g.plotLeft,t=g.plotWidth+n,r=g.plotTop,q=g.plotHeight+r,g=!1,v=0,w=0,u={x:0,y:1,z:0};c=d.swapZ({x:c.x,y:c.y,z:0});if(d.isZAxis)if(d.opposite){if(null===k.axes.z.top)return{};w=c.y-r;c.x=k.axes.z.top.x;c.y=k.axes.z.top.y;n=k.axes.z.top.xDir;g=!k.top.frontFacing}else{if(null===
+k.axes.z.bottom)return{};w=c.y-q;c.x=k.axes.z.bottom.x;c.y=k.axes.z.bottom.y;n=k.axes.z.bottom.xDir;g=!k.bottom.frontFacing}else if(d.horiz)if(d.opposite){if(null===k.axes.x.top)return{};w=c.y-r;c.y=k.axes.x.top.y;c.z=k.axes.x.top.z;n=k.axes.x.top.xDir;g=!k.top.frontFacing}else{if(null===k.axes.x.bottom)return{};w=c.y-q;c.y=k.axes.x.bottom.y;c.z=k.axes.x.bottom.z;n=k.axes.x.bottom.xDir;g=!k.bottom.frontFacing}else if(d.opposite){if(null===k.axes.y.right)return{};v=c.x-t;c.x=k.axes.y.right.x;c.z=k.axes.y.right.z;
+n=k.axes.y.right.xDir;n={x:n.z,y:n.y,z:-n.x}}else{if(null===k.axes.y.left)return{};v=c.x-n;c.x=k.axes.y.left.x;c.z=k.axes.y.left.z;n=k.axes.y.left.xDir}"chart"!==h&&("flap"===h?d.horiz?(f=Math.sin(e),e=Math.cos(e),d.opposite&&(f=-f),g&&(f=-f),u={x:n.z*f,y:e,z:-n.x*f}):n={x:Math.cos(f),y:0,z:Math.sin(f)}:"ortho"===h?d.horiz?(u=Math.cos(e),h=Math.sin(f)*u,e=-Math.sin(e),f=-u*Math.cos(f),u={x:n.y*f-n.z*e,y:n.z*h-n.x*f,z:n.x*e-n.y*h},e=1/Math.sqrt(u.x*u.x+u.y*u.y+u.z*u.z),g&&(e=-e),u={x:e*u.x,y:e*u.y,
+z:e*u.z}):n={x:Math.cos(f),y:0,z:Math.sin(f)}:d.horiz?u={x:Math.sin(f)*Math.sin(e),y:Math.cos(e),z:-Math.cos(f)*Math.sin(e)}:n={x:Math.cos(f),y:0,z:Math.sin(f)});c.x+=v*n.x+w*u.x;c.y+=v*n.y+w*u.y;c.z+=v*n.z+w*u.z;g=p([c],d.chart)[0];b&&(0>l(p([c,{x:c.x+n.x,y:c.y+n.y,z:c.z+n.z},{x:c.x+u.x,y:c.y+u.y,z:c.z+u.z}],d.chart))&&(n={x:-n.x,y:-n.y,z:-n.z}),d=p([{x:c.x,y:c.y,z:c.z},{x:c.x+n.x,y:c.y+n.y,z:c.z+n.z},{x:c.x+u.x,y:c.y+u.y,z:c.z+u.z}],d.chart),g.matrix=[d[1].x-d[0].x,d[1].y-d[0].y,d[2].x-d[0].x,d[2].y-
+d[0].y,g.x,g.y],g.matrix[4]-=g.x*g.matrix[0]+g.y*g.matrix[2],g.matrix[5]-=g.x*g.matrix[1]+g.y*g.matrix[3]);return g}var z,u=b.addEvent,q=b.Axis,v=b.Chart,x=b.deg2rad,f=b.extend,w=b.merge,p=b.perspective,e=b.perspective3D,a=b.pick,l=b.shapeArea,r=b.splat,k=b.Tick,t=b.wrap;w(!0,q.prototype.defaultOptions,{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}});u(q,"afterSetOptions",function(){var d;this.chart.is3d&&this.chart.is3d()&&"colorAxis"!==this.coll&&(d=this.options,d.tickWidth=
+a(d.tickWidth,0),d.gridLineWidth=a(d.gridLineWidth,1))});t(q.prototype,"getPlotLinePath",function(a){var c=a.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d()||"colorAxis"===this.coll||null===c)return c;var d=this.chart,b=d.options.chart.options3d,b=this.isZAxis?d.plotWidth:b.depth,d=d.frame3d,c=[this.swapZ({x:c[1],y:c[2],z:0}),this.swapZ({x:c[1],y:c[2],z:b}),this.swapZ({x:c[4],y:c[5],z:0}),this.swapZ({x:c[4],y:c[5],z:b})],b=[];this.horiz?(this.isZAxis?(d.left.visible&&b.push(c[0],c[2]),
+d.right.visible&&b.push(c[1],c[3])):(d.front.visible&&b.push(c[0],c[2]),d.back.visible&&b.push(c[1],c[3])),d.top.visible&&b.push(c[0],c[1]),d.bottom.visible&&b.push(c[2],c[3])):(d.front.visible&&b.push(c[0],c[2]),d.back.visible&&b.push(c[1],c[3]),d.left.visible&&b.push(c[0],c[1]),d.right.visible&&b.push(c[2],c[3]));b=p(b,this.chart,!1);return this.chart.renderer.toLineSegments(b)});t(q.prototype,"getLinePath",function(a){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:a.apply(this,[].slice.call(arguments,
+1))});t(q.prototype,"getPlotBandPath",function(a){if(!this.chart.is3d()||"colorAxis"===this.coll)return a.apply(this,[].slice.call(arguments,1));var d=arguments,b=d[2],e=[],d=this.getPlotLinePath(d[1]),b=this.getPlotLinePath(b);if(d&&b)for(var f=0;f<d.length;f+=6)e.push("M",d[f+1],d[f+2],"L",d[f+4],d[f+5],"L",b[f+4],b[f+5],"L",b[f+1],b[f+2],"Z");return e});t(k.prototype,"getMarkPath",function(a){var d=a.apply(this,[].slice.call(arguments,1)),d=[y(this.axis,{x:d[1],y:d[2],z:0}),y(this.axis,{x:d[4],
+y:d[5],z:0})];return this.axis.chart.renderer.toLineSegments(d)});u(k,"afterGetLabelPosition",function(a){f(a.pos,y(this.axis,a.pos))});t(q.prototype,"getTitlePosition",function(a){var d=a.apply(this,[].slice.call(arguments,1));return y(this,d,!0)});u(q,"drawCrosshair",function(a){this.chart.is3d()&&"colorAxis"!==this.coll&&a.point&&(a.point.crosshairPos=this.isXAxis?a.point.axisXpos:this.len-a.point.axisYpos)});u(q,"destroy",function(){["backFrame","bottomFrame","sideFrame"].forEach(function(a){this[a]&&
+(this[a]=this[a].destroy())},this)});q.prototype.swapZ=function(a,c){return this.isZAxis?(c=c?0:this.chart.plotLeft,{x:c+a.z,y:a.y,z:a.x-c}):a};z=b.ZAxis=function(){this.init.apply(this,arguments)};f(z.prototype,q.prototype);f(z.prototype,{isZAxis:!0,setOptions:function(a){a=w({offset:0,lineWidth:0},a);q.prototype.setOptions.call(this,a);this.coll="zAxis"},setAxisSize:function(){q.prototype.setAxisSize.call(this);this.width=this.len=this.chart.options.chart.options3d.depth;this.right=this.chart.chartWidth-
+this.width-this.left},getSeriesExtremes:function(){var d=this,c=d.chart;d.hasVisibleSeries=!1;d.dataMin=d.dataMax=d.ignoreMinPadding=d.ignoreMaxPadding=null;d.buildStacks&&d.buildStacks();d.series.forEach(function(b){if(b.visible||!c.options.chart.ignoreHiddenSeries)d.hasVisibleSeries=!0,b=b.zData,b.length&&(d.dataMin=Math.min(a(d.dataMin,b[0]),Math.min.apply(null,b)),d.dataMax=Math.max(a(d.dataMax,b[0]),Math.max.apply(null,b)))})}});u(v,"afterGetAxes",function(){var a=this,c=this.options,c=c.zAxis=
+r(c.zAxis||{});a.is3d()&&(this.zAxis=[],c.forEach(function(d,c){d.index=c;d.isX=!0;(new z(a,d)).setScale()}))});t(q.prototype,"getSlotWidth",function(d,c){if(this.chart.is3d()&&c&&c.label&&this.categories&&this.chart.frameShapes){var b=this.chart,g=this.ticks,f=this.gridGroup.element.childNodes[0].getBBox(),k=b.frameShapes.left.getBBox(),h=b.options.chart.options3d,b={x:b.plotWidth/2,y:b.plotHeight/2,z:h.depth/2,vd:a(h.depth,1)*a(h.viewDistance,0)},l,p,h=c.pos,r=g[h-1],g=g[h+1];0!==h&&r&&r.label.xy&&
+(l=e({x:r.label.xy.x,y:r.label.xy.y,z:null},b,b.vd));g&&g.label.xy&&(p=e({x:g.label.xy.x,y:g.label.xy.y,z:null},b,b.vd));g={x:c.label.xy.x,y:c.label.xy.y,z:null};g=e(g,b,b.vd);return Math.abs(l?g.x-l.x:p?p.x-g.x:f.x-k.x)}return d.apply(this,[].slice.call(arguments,1))})})(A);(function(b){var y=b.addEvent,z=b.perspective,u=b.pick;y(b.Series,"afterTranslate",function(){this.chart.is3d()&&this.translate3dPoints()});b.Series.prototype.translate3dPoints=function(){var b=this.chart,v=u(this.zAxis,b.options.zAxis[0]),
+x=[],f,w,p;for(p=0;p<this.data.length;p++)f=this.data[p],v&&v.translate?(w=v.isLog&&v.val2lin?v.val2lin(f.z):f.z,f.plotZ=v.translate(w),f.isInside=f.isInside?w>=v.min&&w<=v.max:!1):f.plotZ=0,f.axisXpos=f.plotX,f.axisYpos=f.plotY,f.axisZpos=f.plotZ,x.push({x:f.plotX,y:f.plotY,z:f.plotZ});b=z(x,b,!0);for(p=0;p<this.data.length;p++)f=this.data[p],v=b[p],f.plotX=v.x,f.plotY=v.y,f.plotZ=v.z}})(A);(function(b){function y(b){var e=b.apply(this,[].slice.call(arguments,1));this.chart.is3d&&this.chart.is3d()&&
+(e.stroke=this.options.edgeColor||e.fill,e["stroke-width"]=q(this.options.edgeWidth,1));return e}var z=b.addEvent,u=b.perspective,q=b.pick,v=b.Series,x=b.seriesTypes,f=b.svg,w=b.wrap;w(x.column.prototype,"translate",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.translate3dShapes()});w(b.Series.prototype,"alignDataLabel",function(b){arguments[3].outside3dPlot=arguments[1].outside3dPlot;b.apply(this,[].slice.call(arguments,1))});w(b.Series.prototype,"justifyDataLabel",
+function(b){return arguments[2].outside3dPlot?!1:b.apply(this,[].slice.call(arguments,1))});x.column.prototype.translate3dPoints=function(){};x.column.prototype.translate3dShapes=function(){var b=this,e=b.chart,a=b.options,f=a.depth||25,r=(a.stacking?a.stack||0:b.index)*(f+(a.groupZPadding||1)),k=b.borderWidth%2?.5:0;e.inverted&&!b.yAxis.reversed&&(k*=-1);!1!==a.grouping&&(r=0);r+=a.groupZPadding||1;b.data.forEach(function(a){a.outside3dPlot=null;if(null!==a.y){var d=a.shapeArgs,c=a.tooltipPos,l;
+[["x","width"],["y","height"]].forEach(function(c){l=d[c[0]]-k;0>l&&(d[c[1]]+=d[c[0]]+k,d[c[0]]=-k,l=0);l+d[c[1]]>b[c[0]+"Axis"].len&&0!==d[c[1]]&&(d[c[1]]=b[c[0]+"Axis"].len-d[c[0]]);if(0!==d[c[1]]&&(d[c[0]]>=b[c[0]+"Axis"].len||d[c[0]]+d[c[1]]<=k)){for(var e in d)d[e]=0;a.outside3dPlot=!0}});"rect"===a.shapeType&&(a.shapeType="cuboid");d.z=r;d.depth=f;d.insidePlotArea=!0;c=u([{x:c[0],y:c[1],z:r}],e,!0)[0];a.tooltipPos=[c.x,c.y]}});b.z=r};w(x.column.prototype,"animate",function(b){if(this.chart.is3d()){var e=
+arguments[1],a=this.yAxis,l=this,p=this.yAxis.reversed;f&&(e?l.data.forEach(function(b){null!==b.y&&(b.height=b.shapeArgs.height,b.shapey=b.shapeArgs.y,b.shapeArgs.height=1,p||(b.shapeArgs.y=b.stackY?b.plotY+a.translate(b.stackY):b.plotY+(b.negative?-b.height:b.height)))}):(l.data.forEach(function(a){null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,a.graphic&&a.graphic.animate(a.shapeArgs,l.options.animation))}),this.drawDataLabels(),l.animate=null))}else b.apply(this,[].slice.call(arguments,
+1))});w(x.column.prototype,"plotGroup",function(b,e,a,f,r,k){this.chart.is3d()&&k&&!this[e]&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(k)),this[e]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[e].survive=!0);return b.apply(this,Array.prototype.slice.call(arguments,1))});w(x.column.prototype,"setVisible",function(b,e){var a=this,f;a.chart.is3d()&&a.data.forEach(function(b){f=(b.visible=b.options.visible=e=void 0===e?!b.visible:
+e)?"visible":"hidden";a.options.data[a.data.indexOf(b)]=b.options;b.graphic&&b.graphic.attr({visibility:f})});b.apply(this,Array.prototype.slice.call(arguments,1))});x.column.prototype.handle3dGrouping=!0;z(v,"afterInit",function(){if(this.chart.is3d()&&this.handle3dGrouping){var b=this.options,e=b.grouping,a=b.stacking,f=q(this.yAxis.options.reversedStacks,!0),r=0;if(void 0===e||e){e=this.chart.retrieveStacks(a);r=b.stack||0;for(a=0;a<e[r].series.length&&e[r].series[a]!==this;a++);r=10*(e.totalStacks-
+e[r].position)+(f?a:-a);this.xAxis.reversed||(r=10*e.totalStacks-r)}b.zIndex=r}});w(x.column.prototype,"pointAttribs",y);x.columnrange&&(w(x.columnrange.prototype,"pointAttribs",y),x.columnrange.prototype.plotGroup=x.column.prototype.plotGroup,x.columnrange.prototype.setVisible=x.column.prototype.setVisible);w(v.prototype,"alignDataLabel",function(b){if(this.chart.is3d()&&this instanceof x.column){var e=arguments,a=e[4],e=e[1],f={x:a.x,y:a.y,z:this.z},f=u([f],this.chart,!0)[0];a.x=f.x;a.y=e.outside3dPlot?
+-9E9:f.y}b.apply(this,[].slice.call(arguments,1))});w(b.StackItem.prototype,"getStackBox",function(f,e){var a=f.apply(this,[].slice.call(arguments,1));if(e.is3d()){var l={x:a.x,y:a.y,z:0},l=b.perspective([l],e,!0)[0];a.x=l.x;a.y=l.y}return a})})(A);(function(b){var y=b.deg2rad,z=b.pick,u=b.seriesTypes,q=b.svg;b=b.wrap;b(u.pie.prototype,"translate",function(b){b.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var q=this,f=q.options,v=f.depth||0,p=q.chart.options.chart.options3d,e=p.alpha,
+a=p.beta,l=f.stacking?(f.stack||0)*v:q._i*v,l=l+v/2;!1!==f.grouping&&(l=0);q.data.forEach(function(b){var k=b.shapeArgs;b.shapeType="arc3d";k.z=l;k.depth=.75*v;k.alpha=e;k.beta=a;k.center=q.center;k=(k.end+k.start)/2;b.slicedTranslation={translateX:Math.round(Math.cos(k)*f.slicedOffset*Math.cos(e*y)),translateY:Math.round(Math.sin(k)*f.slicedOffset*Math.cos(e*y))}})}});b(u.pie.prototype.pointClass.prototype,"haloPath",function(b){var q=arguments;return this.series.chart.is3d()?[]:b.call(this,q[1])});
+b(u.pie.prototype,"pointAttribs",function(b,q,f){b=b.call(this,q,f);f=this.options;this.chart.is3d()&&!this.chart.styledMode&&(b.stroke=f.edgeColor||q.color||this.color,b["stroke-width"]=z(f.edgeWidth,1));return b});b(u.pie.prototype,"drawDataLabels",function(b){if(this.chart.is3d()){var q=this.chart.options.chart.options3d;this.data.forEach(function(b){var f=b.shapeArgs,p=f.r,e=(f.start+f.end)/2;b=b.labelPosition;var a=b.connectorPosition,l=-p*(1-Math.cos((f.alpha||q.alpha)*y))*Math.sin(e),r=p*(Math.cos((f.beta||
+q.beta)*y)-1)*Math.cos(e);[b.natural,a.breakAt,a.touchingSliceAt].forEach(function(a){a.x+=r;a.y+=l})})}b.apply(this,[].slice.call(arguments,1))});b(u.pie.prototype,"addPoint",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.update(this.userOptions,!0)});b(u.pie.prototype,"animate",function(b){if(this.chart.is3d()){var u=arguments[1],f=this.options.animation,v=this.center,p=this.group,e=this.markerGroup;q&&(!0===f&&(f={}),u?(p.oldtranslateX=p.translateX,p.oldtranslateY=
+p.translateY,u={translateX:v[0],translateY:v[1],scaleX:.001,scaleY:.001},p.attr(u),e&&(e.attrSetters=p.attrSetters,e.attr(u))):(u={translateX:p.oldtranslateX,translateY:p.oldtranslateY,scaleX:1,scaleY:1},p.animate(u,f),e&&e.animate(u,f),this.animate=null))}else b.apply(this,[].slice.call(arguments,1))})})(A);(function(b){var y=b.Point,z=b.seriesType,u=b.seriesTypes;z("scatter3d","scatter",{tooltip:{pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3ez: \x3cb\x3e{point.z}\x3c/b\x3e\x3cbr/\x3e"}},
+{pointAttribs:function(q){var v=u.scatter.prototype.pointAttribs.apply(this,arguments);this.chart.is3d()&&q&&(v.zIndex=b.pointCameraDistance(q,this.chart));return v},axisTypes:["xAxis","yAxis","zAxis"],pointArrayMap:["x","y","z"],parallelArrays:["x","y","z"],directTouch:!0},{applyOptions:function(){y.prototype.applyOptions.apply(this,arguments);void 0===this.z&&(this.z=0);return this}})})(A);(function(b){var y=b.addEvent,z=b.Axis,u=b.SVGRenderer,q=b.VMLRenderer;q&&(b.setOptions({animate:!1}),q.prototype.face3d=
+u.prototype.face3d,q.prototype.polyhedron=u.prototype.polyhedron,q.prototype.elements3d=u.prototype.elements3d,q.prototype.element3d=u.prototype.element3d,q.prototype.cuboid=u.prototype.cuboid,q.prototype.cuboidPath=u.prototype.cuboidPath,q.prototype.toLinePath=u.prototype.toLinePath,q.prototype.toLineSegments=u.prototype.toLineSegments,q.prototype.arc3d=function(b){b=u.prototype.arc3d.call(this,b);b.css({zIndex:b.zIndex});return b},b.VMLRenderer.prototype.arc3dPath=b.SVGRenderer.prototype.arc3dPath,
+y(z,"render",function(){this.sideFrame&&(this.sideFrame.css({zIndex:0}),this.sideFrame.front.attr({fill:this.sideFrame.color}));this.bottomFrame&&(this.bottomFrame.css({zIndex:1}),this.bottomFrame.front.attr({fill:this.bottomFrame.color}));this.backFrame&&(this.backFrame.css({zIndex:0}),this.backFrame.front.attr({fill:this.backFrame.color}))}))})(A)});
+//# sourceMappingURL=highcharts-3d.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ (c) 2009-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(y){"object"===typeof module&&module.exports?module.exports=y:"function"===typeof define&&define.amd?define(function(){return y}):y("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(y){(function(a){function v(a,d){this.init(a,d)}var w=a.CenteredSeriesMixin,e=a.extend,m=a.merge,u=a.splat;e(v.prototype,{coll:"pane",init:function(a,d){this.chart=d;this.background=[];d.pane.push(this);this.setOptions(a)},setOptions:function(a){this.options=m(this.defaultOptions,this.chart.angular?
+{background:{}}:void 0,a)},render:function(){var a=this.options,d=this.options.background,c=this.chart.renderer;this.group||(this.group=c.g("pane-group").attr({zIndex:a.zIndex||0}).add());this.updateCenter();if(d)for(d=u(d),a=Math.max(d.length,this.background.length||0),c=0;c<a;c++)d[c]&&this.axis?this.renderBackground(m(this.defaultBackgroundOptions,d[c]),c):this.background[c]&&(this.background[c]=this.background[c].destroy(),this.background.splice(c,1))},renderBackground:function(a,d){var c="animate",
+n={"class":"highcharts-pane "+(a.className||"")};this.chart.styledMode||e(n,{fill:a.backgroundColor,stroke:a.borderColor,"stroke-width":a.borderWidth});this.background[d]||(this.background[d]=this.chart.renderer.path().add(this.group),c="attr");this.background[d][c]({d:this.axis.getPlotBandPath(a.from,a.to,a)}).attr(n)},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,
+x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"},updateCenter:function(a){this.center=(a||this.axis||{}).center=w.getCenter.call(this)},update:function(a,d){m(!0,this.options,a);this.setOptions(this.options);this.render();this.chart.axes.forEach(function(c){c.pane===this&&(c.pane=null,c.update({},d))},this)}});a.Pane=v})(y);(function(a){var v=a.addEvent,w=a.Axis,e=a.extend,m=a.merge,u=a.noop,q=a.pick,d=a.pInt,c=a.Tick,n=a.wrap,
+b=a.correctFloat,l,k,h=w.prototype,f=c.prototype;a.radialAxisExtended||(a.radialAxisExtended=!0,l={getOffset:u,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:u,setCategories:u,setTitle:u},k={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},defaultRadialXOptions:{gridLineWidth:1,
+labels:{align:null,distance:15,x:0,y:null,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(b){b=this.options=m(this.defaultOptions,this.defaultRadialOptions,b);b.plotBands||(b.plotBands=[]);a.fireEvent(this,"afterSetOptions")},getOffset:function(){h.getOffset.call(this);this.chart.axisOffset[this.side]=0},
+getLinePath:function(b,c){b=this.center;var g=this.chart,p=q(c,b[2]/2-this.offset);this.isCircular||void 0!==c?(c=this.chart.renderer.symbols.arc(this.left+b[0],this.top+b[1],p,p,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}),c.xBounds=[this.left+b[0]],c.yBounds=[this.top+b[1]-p]):(c=this.postTranslate(this.angleRad,p),c=["M",b[0]+g.plotLeft,b[1]+g.plotTop,"L",c.x,c.y]);return c},setAxisTranslation:function(){h.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?
+(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===q(this.userMax,this.options.max)&&b(this.endAngleRad-this.startAngleRad)===b(2*Math.PI))this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){h.setAxisSize.call(this);this.isRadial&&(this.pane.updateCenter(this),
+this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*q(this.sector,1)/2)},getPosition:function(b,c){return this.postTranslate(this.isCircular?this.translate(b):this.angleRad,q(this.isCircular?c:this.translate(b),this.center[2]/2)-this.offset)},postTranslate:function(b,c){var g=this.chart,p=this.center;b=this.startAngleRad+b;return{x:g.plotLeft+p[0]+Math.cos(b)*c,y:g.plotTop+p[1]+Math.sin(b)*c}},getPlotBandPath:function(b,c,g){var p=this.center,
+n=this.startAngleRad,l=p[2]/2,a=[q(g.outerRadius,"100%"),g.innerRadius,q(g.thickness,10)],t=Math.min(this.offset,0),h=/%$/,k,f=this.isCircular;"polygon"===this.options.gridLineInterpolation?p=this.getPlotLinePath(b).concat(this.getPlotLinePath(c,!0)):(b=Math.max(b,this.min),c=Math.min(c,this.max),f||(a[0]=this.translate(b),a[1]=this.translate(c)),a=a.map(function(g){h.test(g)&&(g=d(g,10)*l/100);return g}),"circle"!==g.shape&&f?(b=n+this.translate(b),c=n+this.translate(c)):(b=-Math.PI/2,c=1.5*Math.PI,
+k=!0),a[0]-=t,a[2]-=t,p=this.chart.renderer.symbols.arc(this.left+p[0],this.top+p[1],a[0],a[0],{start:Math.min(b,c),end:Math.max(b,c),innerR:q(a[1],a[0]-a[2]),open:k}));return p},getPlotLinePath:function(b,c){var g=this,p=g.center,n=g.chart,d=g.getPosition(b),a,l,t;g.isCircular?t=["M",p[0]+n.plotLeft,p[1]+n.plotTop,"L",d.x,d.y]:"circle"===g.options.gridLineInterpolation?(b=g.translate(b),t=g.getLinePath(0,b)):(n.xAxis.forEach(function(b){b.pane===g.pane&&(a=b)}),t=[],b=g.translate(b),p=a.tickPositions,
+a.autoConnect&&(p=p.concat([p[0]])),c&&(p=[].concat(p).reverse()),p.forEach(function(g,c){l=a.getPosition(g,b);t.push(c?"L":"M",l.x,l.y)}));return t},getTitlePosition:function(){var b=this.center,c=this.chart,g=this.options.title;return{x:c.plotLeft+b[0]+(g.x||0),y:c.plotTop+b[1]-{high:.5,middle:.25,low:0}[g.align]*b[2]+(g.y||0)}}},v(w,"init",function(b){var c=this.chart,g=c.angular,p=c.polar,n=this.isXAxis,d=g&&n,a,h=c.options;b=b.userOptions.pane||0;b=this.pane=c.pane&&c.pane[b];if(g){if(e(this,
+d?l:k),a=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else p&&(e(this,k),this.defaultRadialOptions=(a=n)?this.defaultRadialXOptions:m(this.defaultYAxisOptions,this.defaultRadialYOptions));g||p?(this.isRadial=!0,c.inverted=!1,h.chart.zoomType=null):this.isRadial=!1;b&&a&&(b.axis=this);this.isCircular=a}),v(w,"afterInit",function(){var b=this.chart,c=this.options,g=this.pane,p=g&&g.options;b.angular&&this.isXAxis||!g||!b.angular&&!b.polar||(this.angleRad=(c.angle||0)*Math.PI/180,this.startAngleRad=
+(p.startAngle-90)*Math.PI/180,this.endAngleRad=(q(p.endAngle,p.startAngle+360)-90)*Math.PI/180,this.offset=c.offset||0)}),n(h,"autoLabelAlign",function(b){if(!this.isRadial)return b.apply(this,[].slice.call(arguments,1))}),v(c,"afterGetPosition",function(b){this.axis.getPosition&&e(b.pos,this.axis.getPosition(this.pos))}),v(c,"afterGetLabelPosition",function(b){var c=this.axis,g=this.label,p=c.options.labels,n=p.y,d,a=20,l=p.align,h=(c.translate(this.pos)+c.startAngleRad+Math.PI/2)/Math.PI*180%360;
+c.isRadial&&(d=c.getPosition(this.pos,c.center[2]/2+q(p.distance,-25)),"auto"===p.rotation?g.attr({rotation:h}):null===n&&(n=c.chart.renderer.fontMetrics(g.styles&&g.styles.fontSize).b-g.getBBox().height/2),null===l&&(c.isCircular?(this.label.getBBox().width>c.len*c.tickInterval/(c.max-c.min)&&(a=0),l=h>a&&h<180-a?"left":h>180+a&&h<360-a?"right":"center"):l="center",g.attr({align:l})),b.pos.x=d.x+p.x,b.pos.y=d.y+n)}),n(f,"getMarkPath",function(b,c,g,p,n,d,a){var l=this.axis;l.isRadial?(b=l.getPosition(this.pos,
+l.center[2]/2+p),c=["M",c,g,"L",b.x,b.y]):c=b.call(this,c,g,p,n,d,a);return c}))})(y);(function(a){var v=a.pick,w=a.extend,e=a.isArray,m=a.defined,u=a.seriesType,q=a.seriesTypes,d=a.Series.prototype,c=a.Point.prototype;u("arearange","area",{lineWidth:1,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,
+xLow:0,xHigh:0,yLow:0,yHigh:0}},{pointArrayMap:["low","high"],toYData:function(c){return[c.low,c.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(c){var b=this.chart,n=this.xAxis.postTranslate(c.rectPlotX,this.yAxis.len-c.plotHigh);c.plotHighX=n.x-b.plotLeft;c.plotHigh=n.y-b.plotTop;c.plotLowX=c.plotX},translate:function(){var c=this,b=c.yAxis,d=!!c.modifyValue;q.area.prototype.translate.apply(c);c.points.forEach(function(a){var n=a.low,l=a.high,k=a.plotY;null===l||null===n?(a.isNull=
+!0,a.plotY=null):(a.plotLow=k,a.plotHigh=b.translate(d?c.modifyValue(l,a):l,0,1,0,1),d&&(a.yBottom=a.plotHigh))});this.chart.polar&&this.points.forEach(function(b){c.highToXY(b);b.tooltipPos=[(b.plotHighX+b.plotLowX)/2,(b.plotHigh+b.plotLow)/2]})},getGraphPath:function(c){var b=[],a=[],d,n=q.area.prototype.getGraphPath,f,r,t;t=this.options;var g=this.chart.polar&&!1!==t.connectEnds,p=t.connectNulls,x=t.step;c=c||this.points;for(d=c.length;d--;)f=c[d],f.isNull||g||p||c[d+1]&&!c[d+1].isNull||a.push({plotX:f.plotX,
+plotY:f.plotY,doCurve:!1}),r={polarPlotY:f.polarPlotY,rectPlotX:f.rectPlotX,yBottom:f.yBottom,plotX:v(f.plotHighX,f.plotX),plotY:f.plotHigh,isNull:f.isNull},a.push(r),b.push(r),f.isNull||g||p||c[d-1]&&!c[d-1].isNull||a.push({plotX:f.plotX,plotY:f.plotY,doCurve:!1});c=n.call(this,c);x&&(!0===x&&(x="left"),t.step={left:"right",center:"center",right:"left"}[x]);b=n.call(this,b);a=n.call(this,a);t.step=x;t=[].concat(c,b);this.chart.polar||"M"!==a[0]||(a[0]="L");this.graphPath=t;this.areaPath=c.concat(a);
+t.isArea=!0;t.xMap=c.xMap;this.areaPath.xMap=c.xMap;return t},drawDataLabels:function(){var c=this.points,b=c.length,a,k=[],h=this.options.dataLabels,f,r,t=this.chart.inverted,g,p;e(h)?1<h.length?(g=h[0],p=h[1]):(g=h[0],p={enabled:!1}):(g=w({},h),g.x=h.xHigh,g.y=h.yHigh,p=w({},h),p.x=h.xLow,p.y=h.yLow);if(g.enabled||this._hasPointLabels){for(a=b;a--;)if(f=c[a])r=g.inside?f.plotHigh<f.plotLow:f.plotHigh>f.plotLow,f.y=f.high,f._plotY=f.plotY,f.plotY=f.plotHigh,k[a]=f.dataLabel,f.dataLabel=f.dataLabelUpper,
+f.below=r,t?g.align||(g.align=r?"right":"left"):g.verticalAlign||(g.verticalAlign=r?"top":"bottom");this.options.dataLabels=g;d.drawDataLabels&&d.drawDataLabels.apply(this,arguments);for(a=b;a--;)if(f=c[a])f.dataLabelUpper=f.dataLabel,f.dataLabel=k[a],delete f.dataLabels,f.y=f.low,f.plotY=f._plotY}if(p.enabled||this._hasPointLabels){for(a=b;a--;)if(f=c[a])r=p.inside?f.plotHigh<f.plotLow:f.plotHigh>f.plotLow,f.below=!r,t?p.align||(p.align=r?"left":"right"):p.verticalAlign||(p.verticalAlign=r?"bottom":
+"top");this.options.dataLabels=p;d.drawDataLabels&&d.drawDataLabels.apply(this,arguments)}if(g.enabled)for(a=b;a--;)if(f=c[a])f.dataLabels=[f.dataLabel,f.dataLabelUpper].filter(function(b){return!!b});this.options.dataLabels=h},alignDataLabel:function(){q.column.prototype.alignDataLabel.apply(this,arguments)},drawPoints:function(){var c=this.points.length,b,l;d.drawPoints.apply(this,arguments);for(l=0;l<c;)b=this.points[l],b.origProps={plotY:b.plotY,plotX:b.plotX,isInside:b.isInside,negative:b.negative,
+zone:b.zone,y:b.y},b.lowerGraphic=b.graphic,b.graphic=b.upperGraphic,b.plotY=b.plotHigh,m(b.plotHighX)&&(b.plotX=b.plotHighX),b.y=b.high,b.negative=b.high<(this.options.threshold||0),b.zone=this.zones.length&&b.getZone(),this.chart.polar||(b.isInside=b.isTopInside=void 0!==b.plotY&&0<=b.plotY&&b.plotY<=this.yAxis.len&&0<=b.plotX&&b.plotX<=this.xAxis.len),l++;d.drawPoints.apply(this,arguments);for(l=0;l<c;)b=this.points[l],b.upperGraphic=b.graphic,b.graphic=b.lowerGraphic,a.extend(b,b.origProps),delete b.origProps,
+l++},setStackedPoints:a.noop},{setState:function(){var a=this.state,b=this.series,d=b.chart.polar;m(this.plotHigh)||(this.plotHigh=b.yAxis.toPixels(this.high,!0));m(this.plotLow)||(this.plotLow=this.plotY=b.yAxis.toPixels(this.low,!0));b.stateMarkerGraphic&&(b.lowerStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.upperStateMarkerGraphic);this.graphic=this.upperGraphic;this.plotY=this.plotHigh;d&&(this.plotX=this.plotHighX);c.setState.apply(this,arguments);this.state=a;this.plotY=this.plotLow;
+this.graphic=this.lowerGraphic;d&&(this.plotX=this.plotLowX);b.stateMarkerGraphic&&(b.upperStateMarkerGraphic=b.stateMarkerGraphic,b.stateMarkerGraphic=b.lowerStateMarkerGraphic,b.lowerStateMarkerGraphic=void 0);c.setState.apply(this,arguments)},haloPath:function(){var a=this.series.chart.polar,b=[];this.plotY=this.plotLow;a&&(this.plotX=this.plotLowX);this.isInside&&(b=c.haloPath.apply(this,arguments));this.plotY=this.plotHigh;a&&(this.plotX=this.plotHighX);this.isTopInside&&(b=b.concat(c.haloPath.apply(this,
+arguments)));return b},destroyElements:function(){["lowerGraphic","upperGraphic"].forEach(function(c){this[c]&&(this[c]=this[c].destroy())},this);this.graphic=null;return c.destroyElements.apply(this,arguments)}})})(y);(function(a){var v=a.seriesType;v("areasplinerange","arearange",null,{getPointSpline:a.seriesTypes.spline.prototype.getPointSpline})})(y);(function(a){var v=a.defaultPlotOptions,w=a.merge,e=a.noop,m=a.pick,u=a.seriesType,q=a.seriesTypes.column.prototype;u("columnrange","arearange",
+w(v.column,v.arearange,{pointRange:null,marker:null,states:{hover:{halo:!1}}}),{translate:function(){var a=this,c=a.yAxis,n=a.xAxis,b=n.startAngleRad,l,k=a.chart,h=a.xAxis.isRadial,f=Math.max(k.chartWidth,k.chartHeight)+999,r;q.translate.apply(a);a.points.forEach(function(d){var g=d.shapeArgs,p=a.options.minPointLength,x,t;d.plotHigh=r=Math.min(Math.max(-f,c.translate(d.high,0,1,0,1)),f);d.plotLow=Math.min(Math.max(-f,d.plotY),f);t=r;x=m(d.rectPlotY,d.plotY)-r;Math.abs(x)<p?(p-=x,x+=p,t-=p/2):0>x&&
+(x*=-1,t-=x);h?(l=d.barX+b,d.shapeType="path",d.shapeArgs={d:a.polarArc(t+x,t,l,l+d.pointWidth)}):(g.height=x,g.y=t,d.tooltipPos=k.inverted?[c.len+c.pos-k.plotLeft-t-x/2,n.len+n.pos-k.plotTop-g.x-g.width/2,x]:[n.left-k.plotLeft+g.x+g.width/2,c.pos-k.plotTop+t+x/2,x])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:e,getSymbol:e,crispCol:function(){return q.crispCol.apply(this,arguments)},drawPoints:function(){return q.drawPoints.apply(this,arguments)},drawTracker:function(){return q.drawTracker.apply(this,
+arguments)},getColumnMetrics:function(){return q.getColumnMetrics.apply(this,arguments)},pointAttribs:function(){return q.pointAttribs.apply(this,arguments)},animate:function(){return q.animate.apply(this,arguments)},polarArc:function(){return q.polarArc.apply(this,arguments)},translate3dPoints:function(){return q.translate3dPoints.apply(this,arguments)},translate3dShapes:function(){return q.translate3dShapes.apply(this,arguments)}},{setState:q.pointClass.prototype.setState})})(y);(function(a){var v=
+a.pick,w=a.seriesType,e=a.seriesTypes.column.prototype;w("columnpyramid","column",{},{translate:function(){var a=this,u=a.chart,q=a.options,d=a.dense=2>a.closestPointRange*a.xAxis.transA,d=a.borderWidth=v(q.borderWidth,d?0:1),c=a.yAxis,n=q.threshold,b=a.translatedThreshold=c.getThreshold(n),l=v(q.minPointLength,5),k=a.getColumnMetrics(),h=k.width,f=a.barW=Math.max(h,1+2*d),r=a.pointXOffset=k.offset;u.inverted&&(b-=.5);q.pointPadding&&(f=Math.ceil(f));e.translate.apply(a);a.points.forEach(function(d){var g=
+v(d.yBottom,b),p=999+Math.abs(g),k=Math.min(Math.max(-p,d.plotY),c.len+p),p=d.plotX+r,t=f/2,e=Math.min(k,g),g=Math.max(k,g)-e,m,z,A,w,C,D;d.barX=p;d.pointWidth=h;d.tooltipPos=u.inverted?[c.len+c.pos-u.plotLeft-k,a.xAxis.len-p-t,g]:[p+t,k+c.pos-u.plotTop,g];k=n+(d.total||d.y);"percent"===q.stacking&&(k=n+(0>d.y)?-100:100);k=c.toPixels(k,!0);m=u.plotHeight-k-(u.plotHeight-b);z=t*(e-k)/m;A=t*(e+g-k)/m;m=p-z+t;z=p+z+t;w=p+A+t;A=p-A+t;C=e-l;D=e+g;0>d.y&&(C=e,D=e+g+l);u.inverted&&(w=u.plotWidth-e,m=k-(u.plotWidth-
+b),z=t*(k-w)/m,A=t*(k-(w-g))/m,m=p+t+z,z=m-2*z,w=p-A+t,A=p+A+t,C=e,D=e+g-l,0>d.y&&(D=e+g+l));d.shapeType="path";d.shapeArgs={x:m,y:C,width:z-m,height:g,d:["M",m,C,"L",z,C,w,D,A,D,"Z"]}})}})})(y);(function(a){var v=a.isNumber,w=a.merge,e=a.pick,m=a.pInt,u=a.Series,q=a.seriesType,d=a.TrackerMixin;q("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,
+directTouch:!0,drawGraph:a.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],translate:function(){var c=this.yAxis,a=this.options,b=c.center;this.generatePoints();this.points.forEach(function(d){var n=w(a.dial,d.dial),h=m(e(n.radius,80))*b[2]/200,f=m(e(n.baseLength,70))*h/100,l=m(e(n.rearLength,10))*h/100,t=n.baseWidth||3,g=n.topWidth||1,p=a.overshoot,x=c.startAngleRad+c.translate(d.y,null,null,null,!0);v(p)?(p=p/180*Math.PI,x=Math.max(c.startAngleRad-p,Math.min(c.endAngleRad+
+p,x))):!1===a.wrap&&(x=Math.max(c.startAngleRad,Math.min(c.endAngleRad,x)));x=180*x/Math.PI;d.shapeType="path";d.shapeArgs={d:n.path||["M",-l,-t/2,"L",f,-t/2,h,-g/2,h,g/2,f,t/2,-l,t/2,"z"],translateX:b[0],translateY:b[1],rotation:x};d.plotX=b[0];d.plotY=b[1]})},drawPoints:function(){var c=this,a=c.chart,b=c.yAxis.center,d=c.pivot,k=c.options,h=k.pivot,f=a.renderer;c.points.forEach(function(b){var d=b.graphic,g=b.shapeArgs,p=g.d,n=w(k.dial,b.dial);d?(d.animate(g),g.d=p):(b.graphic=f[b.shapeType](g).attr({rotation:g.rotation,
+zIndex:1}).addClass("highcharts-dial").add(c.group),a.styledMode||b.graphic.attr({stroke:n.borderColor||"none","stroke-width":n.borderWidth||0,fill:n.backgroundColor||"#000000"}))});d?d.animate({translateX:b[0],translateY:b[1]}):(c.pivot=f.circle(0,0,e(h.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(b[0],b[1]).add(c.group),a.styledMode||c.pivot.attr({"stroke-width":h.borderWidth||0,stroke:h.borderColor||"#cccccc",fill:h.backgroundColor||"#000000"}))},animate:function(c){var a=
+this;c||(a.points.forEach(function(b){var c=b.graphic;c&&(c.attr({rotation:180*a.yAxis.startAngleRad/Math.PI}),c.animate({rotation:b.shapeArgs.rotation},a.options.animation))}),a.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);u.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(c,a){u.prototype.setData.call(this,c,!1);this.processData();this.generatePoints();e(a,
+!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(c){this.state=c}})})(y);(function(a){var v=a.noop,w=a.pick,e=a.seriesType,m=a.seriesTypes;e("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},
+whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2},{pointArrayMap:["low","q1","median","q3","high"],toYData:function(a){return[a.low,a.q1,a.median,a.q3,a.high]},pointValKey:"high",pointAttribs:function(){return{}},drawDataLabels:v,translate:function(){var a=this.yAxis,e=this.pointArrayMap;m.column.prototype.translate.apply(this);this.points.forEach(function(d){e.forEach(function(c){null!==d[c]&&(d[c+"Plot"]=a.translate(d[c],0,1,0,1))})})},drawPoints:function(){var a=
+this,e=a.options,d=a.chart,c=d.renderer,n,b,l,k,h,f,m=0,t,g,p,x,E=!1!==a.doQuartiles,F,B=a.options.whiskerLength;a.points.forEach(function(r){var q=r.graphic,u=q?"animate":"attr",z=r.shapeArgs,v={},H={},J={},y={},G=r.color||a.color;void 0!==r.plotY&&(t=z.width,g=Math.floor(z.x),p=g+t,x=Math.round(t/2),n=Math.floor(E?r.q1Plot:r.lowPlot),b=Math.floor(E?r.q3Plot:r.lowPlot),l=Math.floor(r.highPlot),k=Math.floor(r.lowPlot),q||(r.graphic=q=c.g("point").add(a.group),r.stem=c.path().addClass("highcharts-boxplot-stem").add(q),
+B&&(r.whiskers=c.path().addClass("highcharts-boxplot-whisker").add(q)),E&&(r.box=c.path(void 0).addClass("highcharts-boxplot-box").add(q)),r.medianShape=c.path(void 0).addClass("highcharts-boxplot-median").add(q)),d.styledMode||(H.stroke=r.stemColor||e.stemColor||G,H["stroke-width"]=w(r.stemWidth,e.stemWidth,e.lineWidth),H.dashstyle=r.stemDashStyle||e.stemDashStyle,r.stem.attr(H),B&&(J.stroke=r.whiskerColor||e.whiskerColor||G,J["stroke-width"]=w(r.whiskerWidth,e.whiskerWidth,e.lineWidth),r.whiskers.attr(J)),
+E&&(v.fill=r.fillColor||e.fillColor||G,v.stroke=e.lineColor||G,v["stroke-width"]=e.lineWidth||0,r.box.attr(v)),y.stroke=r.medianColor||e.medianColor||G,y["stroke-width"]=w(r.medianWidth,e.medianWidth,e.lineWidth),r.medianShape.attr(y)),f=r.stem.strokeWidth()%2/2,m=g+x+f,r.stem[u]({d:["M",m,b,"L",m,l,"M",m,n,"L",m,k]}),E&&(f=r.box.strokeWidth()%2/2,n=Math.floor(n)+f,b=Math.floor(b)+f,g+=f,p+=f,r.box[u]({d:["M",g,b,"L",g,n,"L",p,n,"L",p,b,"L",g,b,"z"]})),B&&(f=r.whiskers.strokeWidth()%2/2,l+=f,k+=f,
+F=/%$/.test(B)?x*parseFloat(B)/100:B/2,r.whiskers[u]({d:["M",m-F,l,"L",m+F,l,"M",m-F,k,"L",m+F,k]})),h=Math.round(r.medianPlot),f=r.medianShape.strokeWidth()%2/2,h+=f,r.medianShape[u]({d:["M",g,h,"L",p,h]}))})},setStackedPoints:v})})(y);(function(a){var v=a.noop,w=a.seriesType,e=a.seriesTypes;w("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},
+whiskerWidth:null},{type:"errorbar",pointArrayMap:["low","high"],toYData:function(a){return[a.low,a.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:e.arearange?function(){var a=this.pointValKey;e.arearange.prototype.drawDataLabels.call(this);this.data.forEach(function(e){e.y=e[a]})}:v,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||e.column.prototype.getColumnMetrics.call(this)}})})(y);(function(a){var v=a.correctFloat,w=a.isNumber,e=a.pick,m=a.Point,
+u=a.Series,q=a.seriesType,d=a.seriesTypes;q("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",showLine:!0,generatePoints:function(){var c=this.options.threshold,a,b,l,k;d.column.prototype.generatePoints.apply(this);l=0;for(b=this.points.length;l<b;l++)a=this.points[l],k=this.processedYData[l],a.isSum?a.y=v(k):a.isIntermediateSum&&(a.y=v(k-c),c=k)},translate:function(){var c=this.options,
+a=this.yAxis,b,l,k,h,f,r,t,g,p,m,q=e(c.minPointLength,5),u=q/2,B=c.threshold,z=c.stacking,v;d.column.prototype.translate.apply(this);g=p=B;l=this.points;b=0;for(c=l.length;b<c;b++)k=l[b],t=this.processedYData[b],h=k.shapeArgs,f=z&&a.stacks[(this.negStacks&&t<B?"-":"")+this.stackKey],v=this.getStackIndicator(v,k.x,this.index),m=e(f&&f[k.x].points[v.key],[0,t]),r=Math.max(g,g+k.y)+m[0],h.y=a.translate(r,0,1,0,1),k.isSum?(h.y=a.translate(m[1],0,1,0,1),h.height=Math.min(a.translate(m[0],0,1,0,1),a.len)-
+h.y):k.isIntermediateSum?(h.y=a.translate(m[1],0,1,0,1),h.height=Math.min(a.translate(p,0,1,0,1),a.len)-h.y,p=m[1]):(h.height=0<t?a.translate(g,0,1,0,1)-h.y:a.translate(g,0,1,0,1)-a.translate(g-t,0,1,0,1),g+=f&&f[k.x]?f[k.x].total:t,k.below=g<e(B,0)),0>h.height&&(h.y+=h.height,h.height*=-1),k.plotY=h.y=Math.round(h.y)-this.borderWidth%2/2,h.height=Math.max(Math.round(h.height),.001),k.yBottom=h.y+h.height,h.height<=q&&!k.isNull?(h.height=q,h.y-=u,k.plotY=h.y,k.minPointLengthOffset=0>k.y?-u:u):(k.isNull&&
+(h.width=0),k.minPointLengthOffset=0),h=k.plotY+(k.negative?h.height:0),this.chart.inverted?k.tooltipPos[0]=a.len-h:k.tooltipPos[1]=h},processData:function(a){var c=this.yData,b=this.options.data,d,k=c.length,h,f,r,e,g,p;f=h=r=e=this.options.threshold||0;for(p=0;p<k;p++)g=c[p],d=b&&b[p]?b[p]:{},"sum"===g||d.isSum?c[p]=v(f):"intermediateSum"===g||d.isIntermediateSum?c[p]=v(h):(f+=g,h+=g),r=Math.min(f,r),e=Math.max(f,e);u.prototype.processData.call(this,a);this.options.stacking||(this.dataMin=r,this.dataMax=
+e)},toYData:function(a){return a.isSum?0===a.x?null:"sum":a.isIntermediateSum?0===a.x?null:"intermediateSum":a.y},pointAttribs:function(a,n){var b=this.options.upColor;b&&!a.options.color&&(a.color=0<a.y?b:null);a=d.column.prototype.pointAttribs.call(this,a,n);delete a.dashstyle;return a},getGraphPath:function(){return["M",0,0]},getCrispPath:function(){var a=this.data,d=a.length,b=this.graph.strokeWidth()+this.borderWidth,b=Math.round(b)%2/2,l=this.xAxis.reversed,k=this.yAxis.reversed,h=[],f,r,e;
+for(e=1;e<d;e++){r=a[e].shapeArgs;f=a[e-1].shapeArgs;r=["M",f.x+(l?0:f.width),f.y+a[e-1].minPointLengthOffset+b,"L",r.x+(l?f.width:0),f.y+a[e-1].minPointLengthOffset+b];if(0>a[e-1].y&&!k||0<a[e-1].y&&k)r[2]+=f.height,r[5]+=f.height;h=h.concat(r)}return h},drawGraph:function(){u.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},setStackedPoints:function(){var a=this.options,d,b;u.prototype.setStackedPoints.apply(this,arguments);d=this.stackedYData?this.stackedYData.length:0;
+for(b=1;b<d;b++)a.data[b].isSum||a.data[b].isIntermediateSum||(this.stackedYData[b]+=this.stackedYData[b-1])},getExtremes:function(){if(this.options.stacking)return u.prototype.getExtremes.apply(this,arguments)}},{getClassName:function(){var a=m.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum");return a},isValid:function(){return w(this.y,!0)||this.isSum||this.isIntermediateSum}})})(y);(function(a){var v=a.Series,w=a.seriesType,
+e=a.seriesTypes;w("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var a=v.prototype.getGraphPath.call(this),e=a.length+1;e--;)(e===a.length||"M"===a[e])&&0<e&&a.splice(e,0,"z");return this.areaPath=a},drawGraph:function(){this.options.fillColor=this.color;e.area.prototype.drawGraph.call(this)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawTracker:v.prototype.drawTracker,
+setStackedPoints:a.noop})})(y);(function(a){var v=a.Series,w=a.Legend,e=a.Chart,m=a.addEvent,u=a.wrap,q=a.color,d=a.isNumber,c=a.numberFormat,n=a.objectEach,b=a.merge,l=a.noop,k=a.pick,h=a.stableSort,f=a.setOptions,r=a.arrayMin,t=a.arrayMax;f({legend:{bubbleLegend:{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",
+style:{fontSize:10,color:void 0},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}});a.BubbleLegend=function(a,b){this.init(a,b)};a.BubbleLegend.prototype={init:function(a,b){this.options=a;this.visible=!0;this.chart=b.chart;this.legend=b},setState:l,addToLegend:function(a){a.splice(this.options.legendIndex,0,this)},drawLegendSymbol:function(a){var b=this.chart,c=this.options,
+g=k(a.options.itemDistance,20),f,e=c.ranges;f=c.connectorDistance;this.fontMetrics=b.renderer.fontMetrics(c.labels.style.fontSize.toString()+"px");e&&e.length&&d(e[0].value)?(h(e,function(a,b){return b.value-a.value}),this.ranges=e,this.setOptions(),this.render(),b=this.getMaxLabelSize(),e=this.ranges[0].radius,a=2*e,f=f-e+b.width,f=0<f?f:0,this.maxLabel=b,this.movementX="left"===c.labels.align?f:0,this.legendItemWidth=a+f+g,this.legendItemHeight=a+this.fontMetrics.h/2):a.options.bubbleLegend.autoRanges=
+!0},setOptions:function(){var a=this,c=a.ranges,d=a.options,h=a.chart.series[d.seriesIndex],f=a.legend.baseline,e={"z-index":d.zIndex,"stroke-width":d.borderWidth},l={"z-index":d.zIndex,"stroke-width":d.connectorWidth},n=a.getLabelStyles(),r=h.options.marker.fillOpacity,m=a.chart.styledMode;c.forEach(function(g,p){m||(e.stroke=k(g.borderColor,d.borderColor,h.color),e.fill=k(g.color,d.color,1!==r?q(h.color).setOpacity(r).get("rgba"):h.color),l.stroke=k(g.connectorColor,d.connectorColor,h.color));c[p].radius=
+a.getRangeRadius(g.value);c[p]=b(c[p],{center:c[0].radius-c[p].radius+f});m||b(!0,c[p],{bubbleStyle:b(!1,e),connectorStyle:b(!1,l),labelStyle:n})})},getLabelStyles:function(){var a=this.options,c={},d="left"===a.labels.align,h=this.legend.options.rtl;n(a.labels.style,function(a,b){"color"!==b&&"fontSize"!==b&&"z-index"!==b&&(c[b]=a)});return b(!1,c,{"font-size":a.labels.style.fontSize,fill:k(a.labels.style.color,"#000000"),"z-index":a.zIndex,align:h||d?"right":"left"})},getRangeRadius:function(a){var b=
+this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,b.ranges[b.ranges.length-1].value,b.ranges[0].value,b.minSize,b.maxSize,a)},render:function(){var a=this,b=a.chart.renderer,c=a.options.zThreshold;a.symbols||(a.symbols={connectors:[],bubbleItems:[],labels:[]});a.legendSymbol=b.g("bubble-legend");a.legendItem=b.g("bubble-legend-item");a.legendSymbol.translateX=0;a.legendSymbol.translateY=0;a.ranges.forEach(function(b){b.value>=c&&a.renderRange(b)});a.legendSymbol.add(a.legendItem);
+a.legendItem.add(a.legendGroup);a.hideOverlappingLabels()},renderRange:function(a){var b=this.options,c=b.labels,d=this.chart.renderer,g=this.symbols,h=g.labels,f=a.center,e=Math.abs(a.radius),k=b.connectorDistance,l=c.align,r=c.style.fontSize,k=this.legend.options.rtl||"left"===l?-k:k,c=b.connectorWidth,n=this.ranges[0].radius,m=f-e-b.borderWidth/2+c/2,t,r=r/2-(this.fontMetrics.h-r)/2,q=d.styledMode;"center"===l&&(k=0,b.connectorDistance=0,a.labelStyle.align="center");l=m+b.labels.y;t=n+k+b.labels.x;
+g.bubbleItems.push(d.circle(n,f+((m%1?1:.5)-(c%2?0:.5)),e).attr(q?{}:a.bubbleStyle).addClass((q?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-symbol "+(b.className||"")).add(this.legendSymbol));g.connectors.push(d.path(d.crispLine(["M",n,m,"L",n+k,m],b.connectorWidth)).attr(q?{}:a.connectorStyle).addClass((q?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(b.connectorClassName||"")).add(this.legendSymbol));a=d.text(this.formatLabel(a),
+t,l+r).attr(q?{}:a.labelStyle).addClass("highcharts-bubble-legend-labels "+(b.labels.className||"")).add(this.legendSymbol);h.push(a);a.placed=!0;a.alignAttr={x:t,y:l+r}},getMaxLabelSize:function(){var a,b;this.symbols.labels.forEach(function(c){b=c.getBBox(!0);a=a?b.width>a.width?b:a:b});return a||{}},formatLabel:function(b){var d=this.options,g=d.labels.formatter;return(d=d.labels.format)?a.format(d,b):g?g.call(b):c(b.value,1)},hideOverlappingLabels:function(){var a=this.chart,b=this.symbols;!this.options.labels.allowOverlap&&
+b&&(a.hideOverlappingLabels(b.labels),b.labels.forEach(function(a,c){a.newOpacity?a.newOpacity!==a.oldOpacity&&b.connectors[c].show():b.connectors[c].hide()}))},getRanges:function(){var a=this.legend.bubbleLegend,c,h=a.options.ranges,f,e=Number.MAX_VALUE,l=-Number.MAX_VALUE;a.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&&(f=a.zData.filter(d),f.length&&(e=k(a.options.zMin,Math.min(e,Math.max(r(f),!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),l=k(a.options.zMax,
+Math.max(l,t(f)))))});c=e===l?[{value:l}]:[{value:e},{value:(e+l)/2},{value:l,autoRanges:!0}];h.length&&h[0].radius&&c.reverse();c.forEach(function(a,d){h&&h[d]&&(c[d]=b(!1,h[d],a))});return c},predictBubbleSizes:function(){var a=this.chart,b=this.fontMetrics,c=a.legend.options,d="horizontal"===c.layout,h=d?a.legend.lastLineHeight:0,f=a.plotSizeX,e=a.plotSizeY,l=a.series[this.options.seriesIndex],a=Math.ceil(l.minPxSize),k=Math.ceil(l.maxPxSize),l=l.options.maxSize,r=Math.min(e,f);if(c.floating||
+!/%$/.test(l))b=k;else if(l=parseFloat(l),b=(r+h-b.h/2)*l/100/(l/100+1),d&&e-b>=f||!d&&f-b>=e)b=k;return[a,Math.ceil(b)]},updateRanges:function(a,b){var c=this.legend.options.bubbleLegend;c.minSize=a;c.maxSize=b;c.ranges=this.getRanges()},correctSizes:function(){var a=this.legend,b=this.chart.series[this.options.seriesIndex];1<Math.abs(Math.ceil(b.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,b.maxPxSize),a.render())}};m(a.Legend,"afterGetAllItems",function(b){var c=this.bubbleLegend,
+d=this.options,g=d.bubbleLegend,h=this.chart.getVisibleBubbleSeriesIndex();c&&c.ranges&&c.ranges.length&&(g.ranges.length&&(g.autoRanges=g.ranges[0].autoRanges?!0:!1),this.destroyItem(c));0<=h&&d.enabled&&g.enabled&&(g.seriesIndex=h,this.bubbleLegend=new a.BubbleLegend(g,this),this.bubbleLegend.addToLegend(b.allItems))});e.prototype.getVisibleBubbleSeriesIndex=function(){for(var a=this.series,b=0;b<a.length;){if(a[b]&&a[b].isBubble&&a[b].visible&&a[b].zData.length)return b;b++}return-1};w.prototype.getLinesHeights=
+function(){var a=this.allItems,b=[],c,d=a.length,h,f=0;for(h=0;h<d;h++)if(a[h].legendItemHeight&&(a[h].itemHeight=a[h].legendItemHeight),a[h]===a[d-1]||a[h+1]&&a[h]._legendItemPos[1]!==a[h+1]._legendItemPos[1]){b.push({height:0});c=b[b.length-1];for(f;f<=h;f++)a[f].itemHeight>c.height&&(c.height=a[f].itemHeight);c.step=h}return b};w.prototype.retranslateItems=function(a){var b,c,d,h=this.options.rtl,f=0;this.allItems.forEach(function(g,e){b=g.legendGroup.translateX;c=g._legendItemPos[1];if((d=g.movementX)||
+h&&g.ranges)d=h?b-g.options.maxSize/2:b+d,g.legendGroup.attr({translateX:d});e>a[f].step&&f++;g.legendGroup.attr({translateY:Math.round(c+a[f].height/2)});g._legendItemPos[1]=c+a[f].height/2})};m(v,"legendItemClick",function(){var a=this.chart,b=this.visible,c=this.chart.legend;c&&c.bubbleLegend&&(this.visible=!b,this.ignoreSeries=b,a=0<=a.getVisibleBubbleSeriesIndex(),c.bubbleLegend.visible!==a&&(c.update({bubbleLegend:{enabled:a}}),c.bubbleLegend.visible=a),this.visible=b)});u(e.prototype,"drawChartBox",
+function(a,b,c){var d=this.legend,h=0<=this.getVisibleBubbleSeriesIndex(),f;d&&d.options.enabled&&d.bubbleLegend&&d.options.bubbleLegend.autoRanges&&h?(f=d.bubbleLegend.options,h=d.bubbleLegend.predictBubbleSizes(),d.bubbleLegend.updateRanges(h[0],h[1]),f.placed||(d.group.placed=!1,d.allItems.forEach(function(a){a.legendGroup.translateY=null})),d.render(),this.getMargins(),this.axes.forEach(function(a){a.render();f.placed||(a.setScale(),a.updateNames(),n(a.ticks,function(a){a.isNew=!0;a.isNewLabel=
+!0}))}),f.placed=!0,this.getMargins(),a.call(this,b,c),d.bubbleLegend.correctSizes(),d.retranslateItems(d.getLinesHeights())):(a.call(this,b,c),d&&d.options.enabled&&d.bubbleLegend&&(d.render(),d.retranslateItems(d.getLinesHeights())))})})(y);(function(a){var v=a.arrayMax,w=a.arrayMin,e=a.Axis,m=a.color,u=a.isNumber,q=a.noop,d=a.pick,c=a.pInt,n=a.Point,b=a.Series,l=a.seriesType,k=a.seriesTypes;l("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},
+animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,isBubble:!0,pointAttribs:function(a,
+c){var d=this.options.marker.fillOpacity;a=b.prototype.pointAttribs.call(this,a,c);1!==d&&(a.fill=m(a.fill).setOpacity(d).get("rgba"));return a},getRadii:function(a,b,c){var d,h=this.zData,f=c.minPxSize,e=c.maxPxSize,l=[],k;d=0;for(c=h.length;d<c;d++)k=h[d],l.push(this.getRadius(a,b,f,e,k));this.radii=l},getRadius:function(a,b,c,d,e){var h=this.options,f="width"!==h.sizeBy,g=h.zThreshold,l=b-a;h.sizeByAbsoluteValue&&null!==e&&(e=Math.abs(e-g),l=Math.max(b-g,Math.abs(a-g)),a=0);u(e)?e<a?c=c/2-1:(a=
+0<l?(e-a)/l:.5,f&&0<=a&&(a=Math.sqrt(a)),c=Math.ceil(c+a*(d-c))/2):c=null;return c},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(this.points.forEach(function(a){var b=a.graphic,c;b&&b.width&&(c={x:b.x,y:b.y,width:b.width,height:b.height},b.attr({x:a.plotX,y:a.plotY,width:1,height:1}),b.animate(c,this.options.animation))},this),this.animate=null)},translate:function(){var b,c=this.data,d,e,g=this.radii;k.scatter.prototype.translate.call(this);for(b=c.length;b--;)d=c[b],
+e=g?g[b]:0,u(e)&&e>=this.minPxSize/2?(d.marker=a.extend(d.marker,{radius:e,width:2*e,height:2*e}),d.dlBox={x:d.plotX-e,y:d.plotY-e,width:2*e,height:2*e}):d.shapeArgs=d.plotY=d.dlBox=void 0},alignDataLabel:k.column.prototype.alignDataLabel,buildKDTree:q,applyZones:q},{haloPath:function(a){return n.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});e.prototype.beforePadding=function(){var b=this,e=this.len,l=this.chart,k=0,g=e,n=this.isXAxis,m=n?"xData":"yData",
+q=this.min,y={},B=Math.min(l.plotWidth,l.plotHeight),z=Number.MAX_VALUE,A=-Number.MAX_VALUE,I=this.max-q,C=e/I,D=[];this.series.forEach(function(e){var f=e.options;!e.bubblePadding||!e.visible&&l.options.chart.ignoreHiddenSeries||(b.allowZoomOutside=!0,D.push(e),n&&(["minSize","maxSize"].forEach(function(a){var b=f[a],d=/%$/.test(b),b=c(b);y[a]=d?B*b/100:b}),e.minPxSize=y.minSize,e.maxPxSize=Math.max(y.maxSize,y.minSize),e=e.zData.filter(a.isNumber),e.length&&(z=d(f.zMin,Math.min(z,Math.max(w(e),
+!1===f.displayNegative?f.zThreshold:-Number.MAX_VALUE))),A=d(f.zMax,Math.max(A,v(e))))))});D.forEach(function(a){var c=a[m],d=c.length,e;n&&a.getRadii(z,A,a);if(0<I)for(;d--;)u(c[d])&&b.dataMin<=c[d]&&c[d]<=b.dataMax&&(e=a.radii[d],k=Math.min((c[d]-q)*C-e,k),g=Math.max((c[d]-q)*C+e,g))});D.length&&0<I&&!this.isLog&&(g-=e,C*=(e+Math.max(0,k)-Math.min(g,e))/e,[["min","userMin",k],["max","userMax",g]].forEach(function(a){void 0===d(b.options[a[0]],b[a[1]])&&(b[a[0]]+=a[2]/C)}))}})(y);(function(a){var v=
+a.seriesType,w=a.defined;v("packedbubble","bubble",{minSize:"10%",maxSize:"100%",sizeBy:"radius",zoneAxis:"y",tooltip:{pointFormat:"Value: {point.value}"}},{pointArrayMap:["value"],pointValKey:"value",isCartesian:!1,axisTypes:[],accumulateAllPoints:function(a){var e=a.chart,u=[],q,d;for(q=0;q<e.series.length;q++)if(a=e.series[q],a.visible||!e.options.chart.ignoreHiddenSeries)for(d=0;d<a.yData.length;d++)u.push([null,null,a.yData[d],a.index,d]);return u},translate:function(){var e,m=this.chart,u=this.data,
+q=this.index,d,c,n;this.processedXData=this.xData;this.generatePoints();w(m.allDataPoints)||(m.allDataPoints=this.accumulateAllPoints(this),this.getPointRadius());e=this.placeBubbles(m.allDataPoints);for(n=0;n<e.length;n++)e[n][3]===q&&(d=u[e[n][4]],c=e[n][2],d.plotX=e[n][0]-m.plotLeft+m.diffX,d.plotY=e[n][1]-m.plotTop+m.diffY,d.marker=a.extend(d.marker,{radius:c,width:2*c,height:2*c}))},checkOverlap:function(a,m){var e=a[0]-m[0],q=a[1]-m[1];return-.001>Math.sqrt(e*e+q*q)-Math.abs(a[2]+m[2])},positionBubble:function(a,
+m,u){var e=Math.sqrt,d=Math.asin,c=Math.acos,n=Math.pow,b=Math.abs,e=e(n(a[0]-m[0],2)+n(a[1]-m[1],2)),c=c((n(e,2)+n(u[2]+m[2],2)-n(u[2]+a[2],2))/(2*(u[2]+m[2])*e)),d=d(b(a[0]-m[0])/e);a=(0>a[1]-m[1]?0:Math.PI)+c+d*(0>(a[0]-m[0])*(a[1]-m[1])?1:-1);return[m[0]+(m[2]+u[2])*Math.sin(a),m[1]-(m[2]+u[2])*Math.cos(a),u[2],u[3],u[4]]},placeBubbles:function(a){var e=this.checkOverlap,u=this.positionBubble,q=[],d=1,c=0,n=0,b,l;b=a.sort(function(a,b){return b[2]-a[2]});if(!b.length)return[];if(2>b.length)return[0,
+0,b[0][0],b[0][1],b[0][2]];q.push([[0,0,b[0][2],b[0][3],b[0][4]]]);q.push([[0,0-b[1][2]-b[0][2],b[1][2],b[1][3],b[1][4]]]);for(l=2;l<b.length;l++)b[l][2]=b[l][2]||1,a=u(q[d][c],q[d-1][n],b[l]),e(a,q[d][0])?(q.push([]),n=0,q[d+1].push(u(q[d][c],q[d][0],b[l])),d++,c=0):1<d&&q[d-1][n+1]&&e(a,q[d-1][n+1])?(n++,q[d].push(u(q[d][c],q[d-1][n],b[l])),c++):(c++,q[d].push(a));this.chart.stages=q;this.chart.rawPositions=[].concat.apply([],q);this.resizeRadius();return this.chart.rawPositions},resizeRadius:function(){var a=
+this.chart,m=a.rawPositions,u=Math.min,q=Math.max,d=a.plotLeft,c=a.plotTop,n=a.plotHeight,b=a.plotWidth,l,k,h,f,r,t;l=h=Number.POSITIVE_INFINITY;k=f=Number.NEGATIVE_INFINITY;for(t=0;t<m.length;t++)r=m[t][2],l=u(l,m[t][0]-r),k=q(k,m[t][0]+r),h=u(h,m[t][1]-r),f=q(f,m[t][1]+r);t=[k-l,f-h];u=u.apply([],[(b-d)/t[0],(n-c)/t[1]]);if(1e-10<Math.abs(u-1)){for(t=0;t<m.length;t++)m[t][2]*=u;this.placeBubbles(m)}else a.diffY=n/2+c-h-(f-h)/2,a.diffX=b/2+d-l-(k-l)/2},getPointRadius:function(){var a=this,m=a.chart,
+u=a.options,q=Math.min(m.plotWidth,m.plotHeight),d={},c=[],n=m.allDataPoints,b,l,k,h;["minSize","maxSize"].forEach(function(a){var b=parseInt(u[a],10),c=/%$/.test(b);d[a]=c?q*b/100:b});m.minRadius=b=d.minSize;m.maxRadius=l=d.maxSize;(n||[]).forEach(function(d,e){k=d[2];h=a.getRadius(b,l,b,l,k);0===k&&(h=null);n[e][2]=h;c.push(h)});this.radii=c},alignDataLabel:a.Series.prototype.alignDataLabel});a.addEvent(a.seriesTypes.packedbubble,"updatedData",function(){var a=this;this.chart.series.forEach(function(e){e.type===
+a.type&&(e.isDirty=!0)})});a.addEvent(a.Chart,"beforeRedraw",function(){this.allDataPoints&&delete this.allDataPoints})})(y);(function(a){var v=a.pick,w=a.Series,e=a.seriesTypes,m=a.wrap,u=w.prototype,q=a.Pointer.prototype;a.polarExtended||(a.polarExtended=!0,u.searchPointByAngle=function(a){var c=this.chart,d=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(a.chartX-d[0]-c.plotLeft,a.chartY-d[1]-c.plotTop)})},u.getConnectors=function(a,c,e,b){var d,k,h,f,n,m,g,
+p;k=b?1:0;d=0<=c&&c<=a.length-1?c:0>c?a.length-1+c:0;c=0>d-1?a.length-(1+k):d-1;k=d+1>a.length-1?k:d+1;h=a[c];k=a[k];f=h.plotX;h=h.plotY;n=k.plotX;m=k.plotY;k=a[d].plotX;d=a[d].plotY;f=(1.5*k+f)/2.5;h=(1.5*d+h)/2.5;n=(1.5*k+n)/2.5;g=(1.5*d+m)/2.5;m=Math.sqrt(Math.pow(f-k,2)+Math.pow(h-d,2));p=Math.sqrt(Math.pow(n-k,2)+Math.pow(g-d,2));f=Math.atan2(h-d,f-k);g=Math.PI/2+(f+Math.atan2(g-d,n-k))/2;Math.abs(f-g)>Math.PI/2&&(g-=Math.PI);f=k+Math.cos(g)*m;h=d+Math.sin(g)*m;n=k+Math.cos(Math.PI+g)*p;g=d+
+Math.sin(Math.PI+g)*p;k={rightContX:n,rightContY:g,leftContX:f,leftContY:h,plotX:k,plotY:d};e&&(k.prevPointCont=this.getConnectors(a,c,!1,b));return k},m(u,"buildKDTree",function(a){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:this.options.findNearestPointBy="xy");a.apply(this)}),u.toXY=function(a){var c,d=this.chart,b=a.plotX;c=a.plotY;a.rectPlotX=b;a.rectPlotY=c;c=this.xAxis.postTranslate(a.plotX,this.yAxis.len-c);a.plotX=a.polarPlotX=c.x-d.plotLeft;a.plotY=a.polarPlotY=
+c.y-d.plotTop;this.kdByAngle?(d=(b/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>d&&(d+=360),a.clientX=d):a.clientX=a.plotX},e.spline&&(m(e.spline.prototype,"getPointSpline",function(a,c,e,b){this.chart.polar?b?(a=this.getConnectors(c,b,!0,this.connectEnds),a=["C",a.prevPointCont.rightContX,a.prevPointCont.rightContY,a.leftContX,a.leftContY,a.plotX,a.plotY]):a=["M",e.plotX,e.plotY]:a=a.call(this,c,e,b);return a}),e.areasplinerange&&(e.areasplinerange.prototype.getPointSpline=e.spline.prototype.getPointSpline)),
+a.addEvent(w,"afterTranslate",function(){var d=this.chart,c,e;if(d.polar){this.kdByAngle=d.tooltip&&d.tooltip.shared;if(!this.preventPostTranslate)for(c=this.points,e=c.length;e--;)this.toXY(c[e]);this.hasClipCircleSetter||(this.hasClipCircleSetter=!!a.addEvent(this,"afterRender",function(){var b;d.polar&&(b=this.yAxis.center,this.group.clip(d.renderer.clipCircle(b[0],b[1],b[2]/2)),this.setClip=a.noop)}))}},{order:2}),m(u,"getGraphPath",function(a,c){var d=this,b,e,k;if(this.chart.polar){c=c||this.points;
+for(b=0;b<c.length;b++)if(!c[b].isNull){e=b;break}!1!==this.options.connectEnds&&void 0!==e&&(this.connectEnds=!0,c.splice(c.length,0,c[e]),k=!0);c.forEach(function(a){void 0===a.polarPlotY&&d.toXY(a)})}b=a.apply(this,[].slice.call(arguments,1));k&&c.pop();return b}),w=function(a,c){var d=this.chart,b=this.options.animation,e=this.group,k=this.markerGroup,h=this.xAxis.center,f=d.plotLeft,m=d.plotTop;d.polar?d.renderer.isSVG&&(!0===b&&(b={}),c?(a={translateX:h[0]+f,translateY:h[1]+m,scaleX:.001,scaleY:.001},
+e.attr(a),k&&k.attr(a)):(a={translateX:f,translateY:m,scaleX:1,scaleY:1},e.animate(a,b),k&&k.animate(a,b),this.animate=null)):a.call(this,c)},m(u,"animate",w),e.column&&(e=e.column.prototype,e.polarArc=function(a,c,e,b){var d=this.xAxis.center,k=this.yAxis.len;return this.chart.renderer.symbols.arc(d[0],d[1],k-c,null,{start:e,end:b,innerR:k-v(a,k)})},m(e,"animate",w),m(e,"translate",function(a){var c=this.xAxis,d=c.startAngleRad,b,e,k;this.preventPostTranslate=!0;a.call(this);if(c.isRadial)for(b=
+this.points,k=b.length;k--;)e=b[k],a=e.barX+d,e.shapeType="path",e.shapeArgs={d:this.polarArc(e.yBottom,e.plotY,a,a+e.pointWidth)},this.toXY(e),e.tooltipPos=[e.plotX,e.plotY],e.ttBelow=e.plotY>c.center[1]}),m(e,"alignDataLabel",function(a,c,e,b,l,k){this.chart.polar?(a=c.rectPlotX/Math.PI*180,null===b.align&&(b.align=20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===b.verticalAlign&&(b.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle"),u.alignDataLabel.call(this,c,e,b,l,k)):a.call(this,
+c,e,b,l,k)})),m(q,"getCoordinates",function(a,c){var d=this.chart,b={xAxis:[],yAxis:[]};d.polar?d.axes.forEach(function(a){var e=a.isXAxis,h=a.center,f=c.chartX-h[0]-d.plotLeft,h=c.chartY-h[1]-d.plotTop;b[e?"xAxis":"yAxis"].push({axis:a,value:a.translate(e?Math.PI-Math.atan2(f,h):Math.sqrt(Math.pow(f,2)+Math.pow(h,2)),!0)})}):b=a.call(this,c);return b}),a.SVGRenderer.prototype.clipCircle=function(d,c,e){var b=a.uniqueKey(),l=this.createElement("clipPath").attr({id:b}).add(this.defs);d=this.circle(d,
+c,e).add(l);d.id=b;d.clipPath=l;return d},a.addEvent(a.Chart,"getAxes",function(){this.pane||(this.pane=[]);a.splat(this.options.pane).forEach(function(d){new a.Pane(d,this)},this)}),a.addEvent(a.Chart,"afterDrawChartBox",function(){this.pane.forEach(function(a){a.render()})}),m(a.Chart.prototype,"get",function(d,c){return a.find(this.pane,function(a){return a.options.id===c})||d.call(this,c)}))})(y)});
+//# sourceMappingURL=highcharts-more.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Highstock as a plugin for Highcharts
+
+ (c) 2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(H){"object"===typeof module&&module.exports?module.exports=H:"function"===typeof define&&define.amd?define(function(){return H}):H("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(H){(function(b){var D=b.addEvent,n=b.Axis,E=b.Chart,p=b.css,C=b.defined,G=b.extend,B=b.noop,w=b.pick,A=b.timeUnits,z=b.wrap;z(b.Series.prototype,"init",function(b){var e;b.apply(this,Array.prototype.slice.call(arguments,1));(e=this.xAxis)&&e.options.ordinal&&D(this,"updatedData",function(){delete e.ordinalIndex})});
+z(n.prototype,"getTimeTicks",function(b,e,d,l,a,f,u,m){var c=0,k,q,h={},y,r,x,g=[],t=-Number.MAX_VALUE,v=this.options.tickPixelInterval,K=this.chart.time;if(!this.options.ordinal&&!this.options.breaks||!f||3>f.length||void 0===d)return b.call(this,e,d,l,a);r=f.length;for(k=0;k<r;k++){x=k&&f[k-1]>l;f[k]<d&&(c=k);if(k===r-1||f[k+1]-f[k]>5*u||x){if(f[k]>t){for(q=b.call(this,e,f[c],f[k],a);q.length&&q[0]<=t;)q.shift();q.length&&(t=q[q.length-1]);g=g.concat(q)}c=k+1}if(x)break}b=q.info;if(m&&b.unitRange<=
+A.hour){k=g.length-1;for(c=1;c<k;c++)K.dateFormat("%d",g[c])!==K.dateFormat("%d",g[c-1])&&(h[g[c]]="day",y=!0);y&&(h[g[0]]="day");b.higherRanks=h}g.info=b;if(m&&C(v)){m=K=g.length;k=[];var I;for(y=[];m--;)c=this.translate(g[m]),I&&(y[m]=I-c),k[m]=I=c;y.sort();y=y[Math.floor(y.length/2)];y<.6*v&&(y=null);m=g[K-1]>l?K-1:K;for(I=void 0;m--;)c=k[m],l=Math.abs(I-c),I&&l<.8*v&&(null===y||l<.8*y)?(h[g[m]]&&!h[g[m+1]]?(l=m+1,I=c):l=m,g.splice(l,1)):I=c}return g});G(n.prototype,{beforeSetTickPositions:function(){var b,
+e=[],d,l=!1,a,f=this.getExtremes(),u=f.min,m=f.max,c,k=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,q=Number.MAX_VALUE,h=this.chart.options.chart.ignoreHiddenSeries,y;if(f||k){this.series.forEach(function(a,c){d=[];if(!(h&&!1===a.visible||!1===a.takeOrdinalPosition&&!k)&&(e=e.concat(a.processedXData),b=e.length,e.sort(function(g,a){return g-a}),q=Math.min(q,w(a.closestPointRange,q)),b)){for(c=0;c<b-1;)e[c]!==e[c+1]&&d.push(e[c+1]),c++;d[0]!==e[0]&&d.unshift(e[0]);e=d}a.isSeriesBoosting&&
+(y=!0)});y&&(e.length=0);b=e.length;if(2<b){a=e[1]-e[0];for(c=b-1;c--&&!l;)e[c+1]-e[c]!==a&&(l=!0);!this.options.keepOrdinalPadding&&(e[0]-u>a||m-e[e.length-1]>a)&&(l=!0)}else this.options.overscroll&&(2===b?q=e[1]-e[0]:1===b?(q=this.options.overscroll,e=[e[0],e[0]+q]):q=this.overscrollPointsRange);l?(this.options.overscroll&&(this.overscrollPointsRange=q,e=e.concat(this.getOverscrollPositions())),this.ordinalPositions=e,a=this.ordinal2lin(Math.max(u,e[0]),!0),c=Math.max(this.ordinal2lin(Math.min(m,
+e[e.length-1]),!0),1),this.ordinalSlope=m=(m-u)/(c-a),this.ordinalOffset=u-a*m):(this.overscrollPointsRange=w(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=f&&l;this.groupIntervalFactor=null},val2lin:function(b,e){var d=this.ordinalPositions;if(d){var l=d.length,a,f;for(a=l;a--;)if(d[a]===b){f=a;break}for(a=l-1;a--;)if(b>d[a]||0===a){b=(b-d[a])/(d[a+1]-d[a]);f=a+b;break}e=e?f:this.ordinalSlope*(f||0)+this.ordinalOffset}else e=
+b;return e},lin2val:function(b,e){var d=this.ordinalPositions;if(d){var l=this.ordinalSlope,a=this.ordinalOffset,f=d.length-1,u;if(e)0>b?b=d[0]:b>f?b=d[f]:(f=Math.floor(b),u=b-f);else for(;f--;)if(e=l*f+a,b>=e){l=l*(f+1)+a;u=(b-e)/(l-e);break}return void 0!==u&&void 0!==d[f]?d[f]+(u?u*(d[f+1]-d[f]):0):b}return b},getExtendedPositions:function(){var b=this,e=b.chart,d=b.series[0].currentDataGrouping,l=b.ordinalIndex,a=d?d.count+d.unitName:"raw",f=b.options.overscroll,u=b.getExtremes(),m,c;l||(l=b.ordinalIndex=
+{});l[a]||(m={series:[],chart:e,getExtremes:function(){return{min:u.dataMin,max:u.dataMax+f}},options:{ordinal:!0},val2lin:n.prototype.val2lin,ordinal2lin:n.prototype.ordinal2lin},b.series.forEach(function(a){c={xAxis:m,xData:a.xData.slice(),chart:e,destroyGroupedData:B};c.xData=c.xData.concat(b.getOverscrollPositions());c.options={dataGrouping:d?{enabled:!0,forced:!0,approximation:"open",units:[[d.unitName,[d.count]]]}:{enabled:!1}};a.processData.apply(c);m.series.push(c)}),b.beforeSetTickPositions.apply(m),
+l[a]=m.ordinalPositions);return l[a]},getOverscrollPositions:function(){var F=this.options.overscroll,e=this.overscrollPointsRange,d=[],l=this.dataMax;if(b.defined(e))for(d.push(l);l<=this.dataMax+F;)l+=e,d.push(l);return d},getGroupIntervalFactor:function(b,e,d){var l;d=d.processedXData;var a=d.length,f=[];l=this.groupIntervalFactor;if(!l){for(l=0;l<a-1;l++)f[l]=d[l+1]-d[l];f.sort(function(a,f){return a-f});f=f[Math.floor(a/2)];b=Math.max(b,d[0]);e=Math.min(e,d[a-1]);this.groupIntervalFactor=l=a*
+f/(e-b)}return l},postProcessTickInterval:function(b){var e=this.ordinalSlope;return e?this.options.breaks?this.closestPointRange||b:b/(e/this.closestPointRange):b}});n.prototype.ordinal2lin=n.prototype.val2lin;z(E.prototype,"pan",function(b,e){var d=this.xAxis[0],l=d.options.overscroll,a=e.chartX,f=!1;if(d.options.ordinal&&d.series.length){var u=this.mouseDownX,m=d.getExtremes(),c=m.dataMax,k=m.min,q=m.max,h=this.hoverPoints,y=d.closestPointRange||d.overscrollPointsRange,u=(u-a)/(d.translationSlope*
+(d.ordinalSlope||y)),r={ordinalPositions:d.getExtendedPositions()},y=d.lin2val,x=d.val2lin,g;r.ordinalPositions?1<Math.abs(u)&&(h&&h.forEach(function(g){g.setState()}),0>u?(h=r,g=d.ordinalPositions?d:r):(h=d.ordinalPositions?d:r,g=r),r=g.ordinalPositions,c>r[r.length-1]&&r.push(c),this.fixedRange=q-k,u=d.toFixedRange(null,null,y.apply(h,[x.apply(h,[k,!0])+u,!0]),y.apply(g,[x.apply(g,[q,!0])+u,!0])),u.min>=Math.min(m.dataMin,k)&&u.max<=Math.max(c,q)+l&&d.setExtremes(u.min,u.max,!0,!1,{trigger:"pan"}),
+this.mouseDownX=a,p(this.container,{cursor:"move"})):f=!0}else f=!0;f&&(l&&(d.max=d.dataMax+l),b.apply(this,Array.prototype.slice.call(arguments,1)))});D(n,"foundExtremes",function(){this.isXAxis&&C(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&C(this.userMin)&&(this.min+=this.options.overscroll))})})(H);(function(b){function D(){return Array.prototype.slice.call(arguments,
+1)}function n(b){b.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,p(this.pointArrayMap,["y"]))}var E=b.addEvent,p=b.pick,C=b.wrap,G=b.extend,B=b.isArray,w=b.fireEvent,A=b.Axis,z=b.Series;G(A.prototype,{isInBreak:function(b,e){var d=b.repeat||Infinity,l=b.from,a=b.to-b.from;e=e>=l?(e-l)%d:d-(l-e)%d;return b.inclusive?e<=a:e<a&&0!==e},isInAnyBreak:function(b,e){var d=this.options.breaks,l=d&&d.length,a,f,u;if(l){for(;l--;)this.isInBreak(d[l],b)&&(a=!0,f||(f=p(d[l].showPoints,
+this.isXAxis?!1:!0)));u=a&&e?a&&!f:a}return u}});E(A,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});E(A,"afterSetTickPositions",function(){if(this.isBroken){var b=this.tickPositions,e=this.tickPositions.info,d=[],l;for(l=0;l<b.length;l++)this.isInAnyBreak(b[l])||d.push(b[l]);this.tickPositions=d;this.tickPositions.info=e}});E(A,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});A.prototype.setBreaks=function(b,e){function d(b){var f=
+b,c,k;for(k=0;k<a.breakArray.length;k++)if(c=a.breakArray[k],c.to<=b)f-=c.len;else if(c.from>=b)break;else if(a.isInBreak(c,b)){f-=b-c.from;break}return f}function l(b){var f,c;for(c=0;c<a.breakArray.length&&!(f=a.breakArray[c],f.from>=b);c++)f.to<b?b+=f.len:a.isInBreak(f,b)&&(b+=f.len);return b}var a=this,f=B(b)&&!!b.length;a.isDirty=a.isBroken!==f;a.isBroken=f;a.options.breaks=a.userOptions.breaks=b;a.forceRedraw=!0;f||a.val2lin!==d||(delete a.val2lin,delete a.lin2val);f&&(a.userOptions.ordinal=
+!1,a.val2lin=d,a.lin2val=l,a.setExtremes=function(a,b,c,f,q){if(this.isBroken){for(;this.isInAnyBreak(a);)a-=this.closestPointRange;for(;this.isInAnyBreak(b);)b-=this.closestPointRange}A.prototype.setExtremes.call(this,a,b,c,f,q)},a.setAxisTranslation=function(b){A.prototype.setAxisTranslation.call(this,b);this.unitLength=null;if(this.isBroken){b=a.options.breaks;var f=[],c=[],k=0,q,h,y=a.userMin||a.min,r=a.userMax||a.max,x=p(a.pointRangePadding,0),g,t;b.forEach(function(g){h=g.repeat||Infinity;a.isInBreak(g,
+y)&&(y+=g.to%h-y%h);a.isInBreak(g,r)&&(r-=r%h-g.from%h)});b.forEach(function(a){g=a.from;for(h=a.repeat||Infinity;g-h>y;)g-=h;for(;g<y;)g+=h;for(t=g;t<r;t+=h)f.push({value:t,move:"in"}),f.push({value:t+(a.to-a.from),move:"out",size:a.breakSize})});f.sort(function(g,a){return g.value===a.value?("in"===g.move?0:1)-("in"===a.move?0:1):g.value-a.value});q=0;g=y;f.forEach(function(a){q+="in"===a.move?1:-1;1===q&&"in"===a.move&&(g=a.value);0===q&&(c.push({from:g,to:a.value,len:a.value-g-(a.size||0)}),k+=
+a.value-g-(a.size||0))});a.breakArray=c;a.unitLength=r-y-k+x;w(a,"afterBreaks");a.staticScale?a.transA=a.staticScale:a.unitLength&&(a.transA*=(r-a.min+x)/a.unitLength);x&&(a.minPixelPadding=a.transA*a.minPointOffset);a.min=y;a.max=r}});p(e,!0)&&this.chart.redraw()};C(z.prototype,"generatePoints",function(b){b.apply(this,D(arguments));var e=this.xAxis,d=this.yAxis,l=this.points,a,f=l.length,u=this.options.connectNulls,m;if(e&&d&&(e.options.breaks||d.options.breaks))for(;f--;)a=l[f],m=null===a.y&&!1===
+u,m||!e.isInAnyBreak(a.x,!0)&&!d.isInAnyBreak(a.y,!0)||(l.splice(f,1),this.data[f]&&this.data[f].destroyElements())});b.Series.prototype.drawBreaks=function(b,e){var d=this,l=d.points,a,f,u,m;b&&e.forEach(function(c){a=b.breakArray||[];f=b.isXAxis?b.min:p(d.options.threshold,b.min);l.forEach(function(k){m=p(k["stack"+c.toUpperCase()],k[c]);a.forEach(function(a){u=!1;if(f<a.from&&m>a.to||f>a.from&&m<a.from)u="pointBreak";else if(f<a.from&&m>a.from&&m<a.to||f>a.from&&m>a.to&&m<a.from)u="pointInBreak";
+u&&w(b,u,{point:k,brk:a})})})})};b.Series.prototype.gappedPath=function(){var p=this.currentDataGrouping,e=p&&p.totalRange,p=this.options.gapSize,d=this.points.slice(),l=d.length-1,a=this.yAxis;if(p&&0<l)for("value"!==this.options.gapUnit&&(p*=this.closestPointRange),e&&e>p&&(p=e);l--;)d[l+1].x-d[l].x>p&&(e=(d[l].x+d[l+1].x)/2,d.splice(l+1,0,{isNull:!0,x:e}),this.options.stacking&&(e=a.stacks[this.stackKey][e]=new b.StackItem(a,a.options.stackLabels,!1,e,this.stack),e.total=0));return this.getGraphPath(d)};
+C(b.seriesTypes.column.prototype,"drawPoints",n);C(b.Series.prototype,"drawPoints",n)})(H);(function(b){var D=b.addEvent,n=b.arrayMax,E=b.arrayMin,p=b.Axis,C=b.defaultPlotOptions,G=b.defined,B=b.extend,w=b.format,A=b.isNumber,z=b.merge,F=b.pick,e=b.Point,d=b.Series,l=b.Tooltip,a=b.wrap,f=d.prototype,u=f.processData,m=f.generatePoints,c={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S",
+"%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},k={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",
+groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},q=b.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]],h=b.approximations={sum:function(a){var c=a.length,b;if(!c&&a.hasNulls)b=null;else if(c)for(b=0;c--;)b+=a[c];return b},average:function(a){var c=a.length;a=h.sum(a);
+A(a)&&c&&(a/=c);return a},averages:function(){var a=[];[].forEach.call(arguments,function(c){a.push(h.average(c))});return void 0===a[0]?void 0:a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?n(a):a.hasNulls?null:void 0},low:function(a){return a.length?E(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(a,c,b,g){a=h.open(a);c=h.high(c);b=h.low(b);g=h.close(g);if(A(a)||A(c)||A(b)||A(g))return[a,
+c,b,g]},range:function(a,c){a=h.low(a);c=h.high(c);if(A(a)||A(c))return[a,c];if(null===a&&null===c)return null}};f.groupData=function(a,b,f,g){var t=this,v=t.data,r=t.options.data,I=[],y=[],q=[],d=a.length,x,l,u=!!b,m=[];g="function"===typeof g?g:h[g]||k[t.type]&&h[k[t.type].approximation]||h[c.approximation];var e=t.pointArrayMap,p=e&&e.length,w=["x"].concat(e||["y"]),n=0,C=0,B,J;p?e.forEach(function(){m.push([])}):m.push([]);B=p||1;for(J=0;J<=d&&!(a[J]>=f[0]);J++);for(J;J<=d;J++){for(;void 0!==
+f[n+1]&&a[J]>=f[n+1]||J===d;){x=f[n];t.dataGroupInfo={start:C,length:m[0].length};l=g.apply(t,m);G(t.dataGroupInfo.options)||(t.dataGroupInfo.options=z(t.pointClass.prototype.optionsToObject.call({series:t},t.options.data[C])),w.forEach(function(a){delete t.dataGroupInfo.options[a]}));void 0!==l&&(I.push(x),y.push(l),q.push(t.dataGroupInfo));C=J;for(x=0;x<B;x++)m[x].length=0,m[x].hasNulls=!1;n+=1;if(J===d)break}if(J===d)break;if(e){x=t.cropStart+J;l=v&&v[x]||t.pointClass.prototype.applyOptions.apply({series:t},
+[r[x]]);var F;for(x=0;x<p;x++)F=l[e[x]],A(F)?m[x].push(F):null===F&&(m[x].hasNulls=!0)}else x=u?b[J]:null,A(x)?m[0].push(x):null===x&&(m[0].hasNulls=!0)}return[I,y,q]};f.processData=function(){var a=this.chart,c=this.options.dataGrouping,b=!1!==this.allowDG&&c&&F(c.enabled,a.options.isStock),g=this.visible||!a.options.chart.ignoreHiddenSeries,t,v=this.currentDataGrouping,k;this.forceCrop=b;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==u.apply(this,arguments)&&b){this.destroyGroupedData();
+var I,h=c.groupAll?this.xData:this.processedXData,d=c.groupAll?this.yData:this.processedYData,m=a.plotSizeX,a=this.xAxis,l=a.options.ordinal,e=this.groupPixelWidth=a.getGroupPixelWidth&&a.getGroupPixelWidth();if(e){this.isDirty=t=!0;this.points=null;b=a.getExtremes();k=b.min;b=b.max;l=l&&a.getGroupIntervalFactor(k,b,this)||1;e=e*(b-k)/m*l;m=a.getTimeTicks(a.normalizeTimeTickInterval(e,c.units||q),Math.min(k,h[0]),Math.max(b,h[h.length-1]),a.options.startOfWeek,h,this.closestPointRange);d=f.groupData.apply(this,
+[h,d,m,c.approximation]);h=d[0];l=d[1];if(c.smoothed&&h.length){I=h.length-1;for(h[I]=Math.min(h[I],b);I--&&0<I;)h[I]+=e/2;h[0]=Math.max(h[0],k)}k=m.info;this.closestPointRange=m.info.totalRange;this.groupMap=d[2];if(G(h[0])&&h[0]<a.dataMin&&g){if(!G(a.options.min)&&a.min<=a.dataMin||a.min===a.dataMin)a.min=h[0];a.dataMin=h[0]}c.groupAll&&(c=this.cropData(h,l,a.min,a.max,1),h=c.xData,l=c.yData);this.processedXData=h;this.processedYData=l}else this.groupMap=null;this.hasGroupedData=t;this.currentDataGrouping=
+k;this.preventGraphAnimation=(v&&v.totalRange)!==(k&&k.totalRange)}};f.destroyGroupedData=function(){var a=this.groupedData;(a||[]).forEach(function(c,b){c&&(a[b]=c.destroy?c.destroy():null)});this.groupedData=null};f.generatePoints=function(){m.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};D(e,"update",function(){if(this.dataGroup)return b.error(24,!1,this.series.chart),!1});a(l.prototype,"tooltipFooterHeaderFormatter",function(a,c,b){var g=this.chart.time,
+t=c.series,v=t.tooltipOptions,f=t.options.dataGrouping,h=v.xDateFormat,k,r=t.xAxis,d=v[(b?"footer":"header")+"Format"];return r&&"datetime"===r.options.type&&f&&A(c.key)?(a=t.currentDataGrouping,f=f.dateTimeLabelFormats,a?(v=f[a.unitName],1===a.count?h=v[0]:(h=v[1],k=v[2])):!h&&f&&(h=this.getXDateFormat(c,v,r)),h=g.dateFormat(h,c.key),k&&(h+=g.dateFormat(k,c.key+a.totalRange-1)),t.chart.styledMode&&(d=this.styledModeFormat(d)),w(d,{point:B(c.point,{key:h}),series:t},g)):a.call(this,c,b)});D(d,"destroy",
+f.destroyGroupedData);D(d,"afterSetOptions",function(a){a=a.options;var b=this.type,f=this.chart.options.plotOptions,g=C[b].dataGrouping,t=this.useCommonDataGrouping&&c;if(k[b]||t)g||(g=z(c,k[b])),a.dataGrouping=z(t,g,f.series&&f.series.dataGrouping,f[b].dataGrouping,this.userOptions.dataGrouping);this.chart.options.isStock&&(this.requireSorting=!0)});D(p,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});p.prototype.getGroupPixelWidth=function(){var a=this.series,c=
+a.length,b,g=0,t=!1,f;for(b=c;b--;)(f=a[b].options.dataGrouping)&&(g=Math.max(g,f.groupPixelWidth));for(b=c;b--;)(f=a[b].options.dataGrouping)&&a[b].hasProcessed&&(c=(a[b].processedXData||a[b].data).length,a[b].groupPixelWidth||c>this.chart.plotSizeX/g||c&&f.forced)&&(t=!0);return t?g:0};p.prototype.setDataGrouping=function(a,c){var b;c=F(c,!0);a||(a={forced:!1,units:null});if(this instanceof p)for(b=this.series.length;b--;)this.series[b].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(g){g.dataGrouping=
+a},!1);this.ordinalSlope=null;c&&this.chart.redraw()}})(H);(function(b){var D=b.Point,n=b.seriesType,E=b.seriesTypes;n("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high",
+"low","close"],toYData:function(b){return[b.open,b.high,b.low,b.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){E.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(b,n){n=E.column.prototype.pointAttribs.call(this,b,n);var p=this.options;delete n.fill;!b.options.color&&p.upColor&&b.open<b.close&&(n.stroke=p.upColor);return n},translate:function(){var b=this,n=b.yAxis,G=!!b.modifyValue,B=["plotOpen",
+"plotHigh","plotLow","plotClose","yBottom"];E.column.prototype.translate.apply(b);b.points.forEach(function(p){[p.open,p.high,p.low,p.close,p.low].forEach(function(w,z){null!==w&&(G&&(w=b.modifyValue(w)),p[B[z]]=n.toPixels(w,!0))});p.tooltipPos[1]=p.plotHigh+n.pos-b.chart.plotTop})},drawPoints:function(){var b=this,n=b.chart;b.points.forEach(function(p){var B,w,A,z,C=p.graphic,e,d=!C;void 0!==p.plotY&&(C||(p.graphic=C=n.renderer.path().add(b.group)),n.styledMode||C.attr(b.pointAttribs(p,p.selected&&
+"select")),w=C.strokeWidth()%2/2,e=Math.round(p.plotX)-w,A=Math.round(p.shapeArgs.width/2),z=["M",e,Math.round(p.yBottom),"L",e,Math.round(p.plotHigh)],null!==p.open&&(B=Math.round(p.plotOpen)+w,z.push("M",e,B,"L",e-A,B)),null!==p.close&&(B=Math.round(p.plotClose)+w,z.push("M",e,B,"L",e+A,B)),C[d?"attr":"animate"]({d:z}).addClass(p.getClassName(),!0))})},animate:null},{getClassName:function(){return D.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(H);
+(function(b){var D=b.defaultPlotOptions,n=b.merge,E=b.seriesType,p=b.seriesTypes;E("candlestick","ohlc",n(D.column,{states:{hover:{lineWidth:2}},tooltip:D.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(b,n){var B=p.column.prototype.pointAttribs.call(this,b,n),w=this.options,A=b.open<b.close,z=w.lineColor||this.color;B["stroke-width"]=w.lineWidth;B.fill=b.options.color||(A?w.upColor||this.color:this.color);B.stroke=b.lineColor||
+(A?w.upLineColor||z:z);n&&(b=w.states[n],B.fill=b.color||B.fill,B.stroke=b.lineColor||B.stroke,B["stroke-width"]=b.lineWidth||B["stroke-width"]);return B},drawPoints:function(){var b=this,p=b.chart,n=b.yAxis.reversed;b.points.forEach(function(w){var A=w.graphic,z,B,e,d,l,a,f,u=!A;void 0!==w.plotY&&(A||(w.graphic=A=p.renderer.path().add(b.group)),b.chart.styledMode||A.attr(b.pointAttribs(w,w.selected&&"select")).shadow(b.options.shadow),l=A.strokeWidth()%2/2,a=Math.round(w.plotX)-l,z=w.plotOpen,B=
+w.plotClose,e=Math.min(z,B),z=Math.max(z,B),f=Math.round(w.shapeArgs.width/2),B=n?z!==w.yBottom:Math.round(e)!==Math.round(w.plotHigh),d=n?Math.round(e)!==Math.round(w.plotHigh):z!==w.yBottom,e=Math.round(e)+l,z=Math.round(z)+l,l=[],l.push("M",a-f,z,"L",a-f,e,"L",a+f,e,"L",a+f,z,"Z","M",a,e,"L",a,B?Math.round(n?w.yBottom:w.plotHigh):e,"M",a,z,"L",a,d?Math.round(n?w.plotHigh:w.yBottom):z),A[u?"attr":"animate"]({d:l}).addClass(w.getClassName(),!0))})}})})(H);var U=function(b){var D=b.defined,n=b.seriesTypes,
+E=b.stableSort;return{getPlotBox:function(){return b.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){n.column.prototype.translate.apply(this);var b=this.options,C=this.chart,G=this.points,B=G.length-1,w,A,z=b.onSeries,z=z&&C.get(z),b=b.onKey||"y",F=z&&z.options.step,e=z&&z.points,d=e&&e.length,l=C.inverted,a=this.xAxis,f=this.yAxis,u=0,m,c,k,q;if(z&&z.visible&&d)for(u=(z.pointXOffset||0)+(z.barW||0)/2,w=z.currentDataGrouping,
+c=e[d-1].x+(w?w.totalRange:0),E(G,function(a,b){return a.x-b.x}),b="plot"+b[0].toUpperCase()+b.substr(1);d--&&G[B]&&!(m=e[d],w=G[B],w.y=m.y,m.x<=w.x&&void 0!==m[b]&&(w.x<=c&&(w.plotY=m[b],m.x<w.x&&!F&&(k=e[d+1])&&void 0!==k[b]&&(q=(w.x-m.x)/(k.x-m.x),w.plotY+=q*(k[b]-m[b]),w.y+=q*(k.y-m.y))),B--,d++,0>B)););G.forEach(function(b,c){var k;b.plotX+=u;if(void 0===b.plotY||l)0<=b.plotX&&b.plotX<=a.len?l?(b.plotY=a.translate(b.x,0,1,0,1),b.plotX=D(b.y)?f.translate(b.y,0,0,0,1):0):b.plotY=C.chartHeight-
+a.bottom-(a.opposite?a.height:0)+a.offset-f.top:b.shapeArgs={};(A=G[c-1])&&A.plotX===b.plotX&&(void 0===A.stackIndex&&(A.stackIndex=0),k=A.stackIndex+1);b.stackIndex=k});this.onSeries=z}}}(H);(function(b,D){function n(b){e[b+"pin"]=function(d,a,f,u,m){var c=m&&m.anchorX;m=m&&m.anchorY;"circle"===b&&u>f&&(d-=Math.round((u-f)/2),f=u);d=e[b](d,a,f,u);c&&m&&(d.push("M","circle"===b?d[1]-d[4]:d[1]+d[4]/2,a>m?a:a+u,"L",c,m),d=d.concat(e.circle(c-1,m-1,2,2)));return d}}var E=b.addEvent,p=b.merge,C=b.noop,
+G=b.defined,B=b.Renderer,w=b.Series,A=b.seriesType,z=b.TrackerMixin,F=b.VMLRenderer,e=b.SVGRenderer.prototype.symbols;A("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],
+forceCrop:!0,init:w.prototype.init,pointAttribs:function(b,e){var a=this.options,f=b&&b.color||this.color,d=a.lineColor,m=b&&b.lineWidth;b=b&&b.fillColor||a.fillColor;e&&(b=a.states[e].fillColor,d=a.states[e].lineColor,m=a.states[e].lineWidth);return{fill:b||f,stroke:d||f,"stroke-width":m||a.lineWidth||0}},translate:D.translate,getPlotBox:D.getPlotBox,drawPoints:function(){var d=this.points,e=this.chart,a=e.renderer,f,u,m=e.inverted,c=this.options,k=c.y,q,h,y,r,x,g,t=this.yAxis,v={},K=[];for(h=d.length;h--;)y=
+d[h],g=(m?y.plotY:y.plotX)>this.xAxis.len,f=y.plotX,r=y.stackIndex,q=y.options.shape||c.shape,u=y.plotY,void 0!==u&&(u=y.plotY+k-(void 0!==r&&r*c.stackDistance)),y.anchorX=r?void 0:y.plotX,x=r?void 0:y.plotY,r=y.graphic,void 0!==u&&0<=f&&!g?(r||(r=y.graphic=a.label("",null,null,q,null,null,c.useHTML),e.styledMode||r.attr(this.pointAttribs(y)).css(p(c.style,y.style)),r.attr({align:"flag"===q?"left":"center",width:c.width,height:c.height,"text-align":c.textAlign}).addClass("highcharts-point").add(this.markerGroup),
+y.graphic.div&&(y.graphic.div.point=y),e.styledMode||r.shadow(c.shadow),r.isNew=!0),0<f&&(f-=r.strokeWidth()%2),q={y:u,anchorY:x},c.allowOverlapX&&(q.x=f,q.anchorX=y.anchorX),r.attr({text:y.options.title||c.title||"A"})[r.isNew?"attr":"animate"](q),c.allowOverlapX||(v[y.plotX]?v[y.plotX].size=Math.max(v[y.plotX].size,r.width):v[y.plotX]={align:0,size:r.width,target:f,anchorX:f}),y.tooltipPos=[f,u+t.pos-e.plotTop]):r&&(y.graphic=r.destroy());c.allowOverlapX||(b.objectEach(v,function(a){a.plotX=a.anchorX;
+K.push(a)}),b.distribute(K,m?t.len:this.xAxis.len,100),d.forEach(function(a){var b=a.graphic&&v[a.plotX];b&&(a.graphic[a.graphic.isNew?"attr":"animate"]({x:b.pos,anchorX:a.anchorX}),G(b.pos)?a.graphic.isNew=!1:(a.graphic.attr({x:-9999,anchorX:-9999}),a.graphic.isNew=!0))}));c.useHTML&&b.wrap(this.markerGroup,"on",function(a){return b.SVGElement.prototype.on.apply(a.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var b=this.points;z.drawTrackerPoint.apply(this);
+b.forEach(function(d){var a=d.graphic;a&&E(a.element,"mouseover",function(){0<d.stackIndex&&!d.raised&&(d._y=a.y,a.attr({y:d._y-8}),d.raised=!0);b.forEach(function(a){a!==d&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:function(b){b?this.setClip():this.animate=null},setClip:function(){w.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:C,invertGroups:C});e.flag=function(b,
+l,a,f,u){var d=u&&u.anchorX||b;u=u&&u.anchorY||l;return e.circle(d-1,u-1,2,2).concat(["M",d,u,"L",b,l+f,b,l,b+a,l,b+a,l+f,b,l+f,"Z"])};n("circle");n("square");B===F&&["flag","circlepin","squarepin"].forEach(function(b){F.prototype.symbols[b]=e[b]})})(H,U);(function(b){function D(a,b,d){this.init(a,b,d)}var n=b.addEvent,E=b.Axis,p=b.correctFloat,C=b.defaultOptions,G=b.defined,B=b.destroyObjectProperties,w=b.fireEvent,A=b.hasTouch,z=b.merge,F=b.pick,e=b.removeEvent,d,l={height:b.isTouchDevice?20:14,
+barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};C.scrollbar=z(!0,l,C.scrollbar);b.swapXY=d=function(a,b){var f=a.length,d;if(b)for(b=0;b<f;b+=3)d=a[b+1],a[b+1]=a[b+2],a[b+2]=d;return a};
+D.prototype={init:function(a,b,d){this.scrollbarButtons=[];this.renderer=a;this.userOptions=b;this.options=z(l,b);this.chart=d;this.size=F(this.options.size,this.options.height);b.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,b=this.options,e=this.size,m=this.chart.styledMode,c;this.group=c=a.g("scrollbar").attr({zIndex:b.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:b.trackBorderRadius||
+0,height:e,width:e}).add(c);m||this.track.attr({fill:b.trackBackgroundColor,stroke:b.trackBorderColor,"stroke-width":b.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(c);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:b.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(d(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L",0,2*e/3,"M",3,e/4,"L",3,2*e/3],
+b.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);m||(this.scrollbar.attr({fill:b.barBackgroundColor,stroke:b.barBorderColor,"stroke-width":b.barBorderWidth}),this.scrollbarRifles.attr({stroke:b.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,b,d,e){var c=this.options.vertical,
+f=0,q=this.rendered?"animate":"attr";this.x=a;this.y=b+this.trackBorderWidth;this.width=d;this.xOffset=this.height=e;this.yOffset=f;c?(this.width=this.yOffset=d=f=this.size,this.xOffset=b=0,this.barWidth=e-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=e=b=this.size,this.barWidth=d-2*e,this.y+=this.options.margin);this.group[q]({translateX:a,translateY:this.y});this.track[q]({width:d,height:e});this.scrollbarButtons[1][q]({translateX:c?0:d-b,translateY:c?e-f:0})},drawScrollbarButton:function(a){var b=
+this.renderer,e=this.scrollbarButtons,m=this.options,c=this.size,k;k=b.g().add(this.group);e.push(k);k=b.rect().addClass("highcharts-scrollbar-button").add(k);this.chart.styledMode||k.attr({stroke:m.buttonBorderColor,"stroke-width":m.buttonBorderWidth,fill:m.buttonBackgroundColor});k.attr(k.crisp({x:-.5,y:-.5,width:c+1,height:c+1,r:m.buttonBorderRadius},k.strokeWidth()));k=b.path(d(["M",c/2+(a?-1:1),c/2-3,"L",c/2+(a?-1:1),c/2+3,"L",c/2+(a?2:-2),c/2],m.vertical)).addClass("highcharts-scrollbar-arrow").add(e[a]);
+this.chart.styledMode||k.attr({fill:m.buttonArrowColor})},setRange:function(a,b){var f=this.options,d=f.vertical,c=f.minWidth,k=this.barWidth,e,h,y=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";G(k)&&(a=Math.max(a,0),e=Math.ceil(k*a),this.calculatedWidth=h=p(k*Math.min(b,1)-e),h<c&&(e=(k-c+h)*a,h=c),c=Math.floor(e+this.xOffset+this.yOffset),k=h/2-.5,this.from=a,this.to=b,d?(this.scrollbarGroup[y]({translateY:c}),this.scrollbar[y]({height:h}),
+this.scrollbarRifles[y]({translateY:k}),this.scrollbarTop=c,this.scrollbarLeft=0):(this.scrollbarGroup[y]({translateX:c}),this.scrollbar[y]({width:h}),this.scrollbarRifles[y]({translateX:k}),this.scrollbarLeft=c,this.scrollbarTop=0),12>=h?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===f.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var f=a.chart.pointer.normalize(b),e=a.options.vertical?
+"chartY":"chartX",c=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][e]||(f=a.cursorToScrollbarPosition(f)[e],e=a[e],e=f-e,a.hasDragged=!0,a.updatePosition(c[0]+e,c[1]+e),a.hasDragged&&w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);
+b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var f=p(a.to-a.from)*a.options.step;a.updatePosition(p(a.from-f),p(a.to-f));w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var f=(a.to-a.from)*a.options.step;a.updatePosition(a.from+f,a.to+f);w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var f=a.chart.pointer.normalize(b),
+e=a.to-a.from,c=a.y+a.scrollbarTop,k=a.x+a.scrollbarLeft;a.options.vertical&&f.chartY>c||!a.options.vertical&&f.chartX>k?a.updatePosition(a.from+e,a.to+e):a.updatePosition(a.from-e,a.to-e);w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,
+b){1<b&&(a=p(1-p(b-a)),b=1);0>a&&(b=p(b-a),a=0);this.from=a;this.to=b},update:function(a){this.destroy();this.init(this.chart.renderer,z(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,e=this.scrollbarGroup.element,d=this.mouseDownHandler,c=this.mouseMoveHandler,k=this.mouseUpHandler,a=[[b[a[0]].element,"click",this.buttonToMinClick],[b[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e,
+"mousedown",d],[e.ownerDocument,"mousemove",c],[e.ownerDocument,"mouseup",k]];A&&a.push([e,"touchstart",d],[e.ownerDocument,"touchmove",c],[e.ownerDocument,"touchend",k]);a.forEach(function(a){n.apply(null,a)});this._events=a},removeEvents:function(){this._events.forEach(function(a){e.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&
+(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,B(a.scrollbarButtons))}};n(E,"afterInit",function(){var a=this;a.options&&a.options.scrollbar&&a.options.scrollbar.enabled&&(a.options.scrollbar.vertical=!a.horiz,a.options.startOnTick=a.options.endOnTick=!1,a.scrollbar=new D(a.chart.renderer,a.options.scrollbar,a.chart),n(a.scrollbar,"changed",function(b){var e=Math.min(F(a.options.min,a.min),a.min,a.dataMin),d=Math.max(F(a.options.max,a.max),a.max,a.dataMax)-e,c;a.horiz&&
+!a.reversed||!a.horiz&&a.reversed?(c=e+d*this.to,e+=d*this.from):(c=e+d*(1-this.from),e+=d*(1-this.to));a.setExtremes(e,c,!0,!1,b)}))});n(E,"afterRender",function(){var a=Math.min(F(this.options.min,this.min),this.min,F(this.dataMin,this.min)),b=Math.max(F(this.options.max,this.max),this.max,F(this.dataMax,this.max)),e=this.scrollbar,d=this.titleOffset||0;if(e){this.horiz?(e.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:d+this.axisTitleMargin+this.offset),
+this.width,this.height),d=1):(e.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?d+this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),d=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[d]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(a)||isNaN(b)||!G(this.min)||!G(this.max)?e.setRange(0,0):(d=(this.min-a)/(b-a),a=(this.max-a)/(b-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?e.setRange(d,
+a):e.setRange(1-a,1-d))}});n(E,"afterGetOffset",function(){var a=this.horiz?2:1,b=this.scrollbar;b&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=b.size+b.options.margin)});b.Scrollbar=D})(H);(function(b){function D(a){this.init(a)}var n=b.addEvent,E=b.Axis,p=b.Chart,C=b.color,G=b.defaultOptions,B=b.defined,w=b.destroyObjectProperties,A=b.erase,z=b.error,F=b.extend,e=b.hasTouch,d=b.isArray,l=b.isNumber,a=b.isObject,f=b.isTouchDevice,u=b.merge,m=b.pick,c=b.removeEvent,k=b.Scrollbar,
+q=b.Series,h=b.seriesTypes,y=b.wrap,r=[].concat(b.defaultDataGroupingUnits),x=function(a){var b=[].filter.call(arguments,l);if(b.length)return Math[a].apply(0,b)};r[4]=["day",[1,2,3,4]];r[5]=["week",[1,2,3]];h=void 0===h.areaspline?"line":"areaspline";F(G,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:C("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",
+outlineWidth:1,series:{type:h,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:r},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},
+x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});b.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,e,d){a=d.width/2;b=Math.round(a/3)+.5;d=d.height;return["M",-a-1,.5,"L",a,.5,"L",a,d+.5,"L",-a-1,d+.5,"L",-a-1,.5,"M",-b,4,"L",-b,d-3,"M",b-1,4,"L",b-1,d-3]};D.prototype={drawHandle:function(a,b,c,e){var g=this.navigatorOptions.handles.height;
+this.handles[b][e](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-g)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-g/2-1)})},drawOutline:function(a,b,c,e){var g=this.navigatorOptions.maskInside,t=this.outline.strokeWidth(),v=t/2,t=t%2/2,d=this.outlineHeight,k=this.scrollbarHeight,h=this.size,f=this.left-k,q=this.top;c?(f-=v,c=q+b+t,b=q+a+t,a=["M",f+d,q-k-t,"L",f+d,c,"L",f,c,"L",f,b,"L",f+d,b,"L",f+
+d,q+h+k].concat(g?["M",f+d,c-v,"L",f+d,b+v]:[])):(a+=f+k-t,b+=f+k-t,q+=v,a=["M",f,q,"L",a,q,"L",a,q+d,"L",b,q+d,"L",b,q,"L",f+h+2*k,q].concat(g?["M",a-v,q,"L",b+v,q]:[]));this.outline[e]({d:a})},drawMasks:function(a,b,c,e){var g=this.left,t=this.top,v=this.height,d,k,h,f;c?(h=[g,g,g],f=[t,t+a,t+b],k=[v,v,v],d=[a,b-a,this.size-b]):(h=[g,g+a,g+b],f=[t,t,t],k=[a,b-a,this.size-b],d=[v,v,v]);this.shades.forEach(function(a,b){a[e]({x:h[b],y:f[b],width:k[b],height:d[b]})})},renderElements:function(){var a=
+this,b=a.navigatorOptions,c=b.maskInside,e=a.chart,d=e.renderer,k,h={cursor:e.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=k=d.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!c,c,!c].forEach(function(g,c){a.shades[c]=d.rect().addClass("highcharts-navigator-mask"+(1===c?"-inside":"-outside")).add(k);e.styledMode||a.shades[c].attr({fill:g?b.maskFill:"rgba(0,0,0,0)"}).css(1===c&&h)});a.outline=d.path().addClass("highcharts-navigator-outline").add(k);e.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,
+stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(c){b.handles.inverted=e.inverted;a.handles[c]=d.symbol(b.handles.symbols[c],-b.handles.width/2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[c].attr({zIndex:7-c}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][c]).add(k);if(!e.styledMode){var g=b.handles;a.handles[c].attr({fill:g.backgroundColor,stroke:g.borderColor,"stroke-width":g.lineWidth}).css(h)}})},update:function(b){(this.series||
+[]).forEach(function(b){b.baseSeries&&delete b.baseSeries.navigatorSeries});this.destroy();u(!0,this.chart.options.navigator,this.options,b);this.init(this.chart)},render:function(a,c,e,d){var g=this.chart,t,v,k=this.scrollbarHeight,h,f=this.xAxis;t=f.fake?g.xAxis[0]:f;var q=this.navigatorEnabled,r,x=this.rendered;v=g.inverted;var y,K=g.xAxis[0].minRange,n=g.xAxis[0].options.maxRange;if(!this.hasDragged||B(e)){if(!l(a)||!l(c))if(x)e=0,d=m(f.width,t.width);else return;this.left=m(f.left,g.plotLeft+
+k+(v?g.plotWidth:0));this.size=r=h=m(f.len,(v?g.plotHeight:g.plotWidth)-2*k);g=v?k:h+2*k;e=m(e,f.toPixels(a,!0));d=m(d,f.toPixels(c,!0));l(e)&&Infinity!==Math.abs(e)||(e=0,d=g);a=f.toValue(e,!0);c=f.toValue(d,!0);y=Math.abs(b.correctFloat(c-a));y<K?this.grabbedLeft?e=f.toPixels(c-K,!0):this.grabbedRight&&(d=f.toPixels(a+K,!0)):B(n)&&y>n&&(this.grabbedLeft?e=f.toPixels(c-n,!0):this.grabbedRight&&(d=f.toPixels(a+n,!0)));this.zoomedMax=Math.min(Math.max(e,d,0),r);this.zoomedMin=Math.min(Math.max(this.fixedWidth?
+this.zoomedMax-this.fixedWidth:Math.min(e,d),0),r);this.range=this.zoomedMax-this.zoomedMin;r=Math.round(this.zoomedMax);e=Math.round(this.zoomedMin);q&&(this.navigatorGroup.attr({visibility:"visible"}),x=x&&!this.hasDragged?"animate":"attr",this.drawMasks(e,r,v,x),this.drawOutline(e,r,v,x),this.navigatorOptions.handles.enabled&&(this.drawHandle(e,0,v,x),this.drawHandle(r,1,v,x)));this.scrollbar&&(v?(v=this.top-k,t=this.left-k+(q||!t.opposite?0:(t.titleOffset||0)+t.axisTitleMargin),k=h+2*k):(v=this.top+
+(q?this.height:-k),t=this.left-k),this.scrollbar.position(t,v,g,k),this.scrollbar.setRange(this.zoomedMin/(h||1),this.zoomedMax/(h||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,c=b.container,d=[],k,f;a.mouseMoveHandler=k=function(b){a.onMouseMove(b)};a.mouseUpHandler=f=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(n(c,"mousemove",k),n(c.ownerDocument,"mouseup",f));e&&(d.push(n(c,"touchmove",k),n(c.ownerDocument,"touchend",f)),d.concat(a.getPartsEvents("touchstart")));
+a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(n(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,c=[];["shades","handles"].forEach(function(g){b[g].forEach(function(e,d){c.push(n(e.element,a,function(a){b[g+"Mousedown"](a,d)}))})});return c},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,g=this.xAxis,e=this.zoomedMin,d=this.left,t=this.size,k=this.range,f=a.chartX,h,q;c.inverted&&(f=
+a.chartY,d=this.top);1===b?(this.grabbedCenter=f,this.fixedWidth=k,this.dragOffset=f-e):(a=f-d-k/2,0===b?a=Math.max(0,a):2===b&&a+k>=t&&(a=t-k,this.reversedExtremes?(a-=k,q=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=k,b=g.toFixedRange(a,a+k,q,h),B(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],g=
+this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=g?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=g?c.max:c.min);a.fixedRange=null},onMouseMove:function(a){var c=this,g=c.chart,e=c.left,d=c.navigatorSize,k=c.range,h=c.dragOffset,q=g.inverted;a.touches&&0===a.touches[0].pageX||(a=g.pointer.normalize(a),g=a.chartX,q&&(e=c.top,g=a.chartY),c.grabbedLeft?(c.hasDragged=!0,c.render(0,0,g-e,c.otherHandlePos)):c.grabbedRight?
+(c.hasDragged=!0,c.render(0,0,c.otherHandlePos,g-e)):c.grabbedCenter&&(c.hasDragged=!0,g<h?g=h:g>d+h-k&&(g=d+h-k),c.render(0,0,g-h,g-h+k)),c.hasDragged&&c.scrollbar&&m(c.scrollbar.options.liveRedraw,b.svg&&!f&&!this.chart.isBoosting)&&(a.DOMType=a.type,setTimeout(function(){c.onMouseUp(a)},0)))},onMouseUp:function(a){var b=this.chart,c=this.xAxis,g=this.scrollbar,e,d,k=a.DOMEvent||a;(!this.hasDragged||g&&g.hasDragged)&&"scrollbar"!==a.trigger||(g=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?
+e=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(d=this.fixedExtreme),this.zoomedMax===this.size&&(d=this.reversedExtremes?g.dataMin:g.dataMax),0===this.zoomedMin&&(e=this.reversedExtremes?g.dataMax:g.dataMin),c=c.toFixedRange(this.zoomedMin,this.zoomedMax,e,d),B(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:k}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=
+this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){c(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&c(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},
+init:function(a){var b=a.options,c=b.navigator,g=c.enabled,e=b.scrollbar,d=e.enabled,b=g?c.height:0,f=d?e.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=b;this.scrollbarHeight=f;this.scrollbarEnabled=d;this.navigatorEnabled=g;this.navigatorOptions=c;this.scrollbarOptions=e;this.outlineHeight=b+f;this.opposite=m(c.opposite,!g&&a.inverted);var h=this,g=h.baseSeries,e=a.xAxis.length,d=a.yAxis.length,q=g&&g[0]&&g[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;
+h.navigatorEnabled?(h.xAxis=new E(a,u({breaks:q.options.breaks,ordinal:q.options.ordinal},c.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:e,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[f,0,-f,0],width:b}:{offsets:[0,-f,0,f],height:b})),h.yAxis=new E(a,u(c.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:d,isInternal:!0,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),
+g||c.series.data?h.updateNavigatorSeries(!1):0===a.series.length&&(h.unbindRedraw=n(a,"beforeRedraw",function(){0<a.series.length&&!h.series&&(h.setBaseSeries(),h.unbindRedraw())})),h.reversedExtremes=a.inverted&&!h.xAxis.reversed||!a.inverted&&h.xAxis.reversed,h.renderElements(),h.addMouseEvents()):h.xAxis={translate:function(b,c){var g=a.xAxis[0],e=g.getExtremes(),d=g.len-2*f,h=x("min",g.options.min,e.dataMin),g=x("max",g.options.max,e.dataMax)-h;return c?b*g/d+h:d*(b-h)/g},toPixels:function(a){return this.translate(a)},
+toValue:function(a){return this.translate(a,!0)},toFixedRange:E.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=h.scrollbar=new k(a.renderer,u(a.options.scrollbar,{margin:h.navigatorEnabled?0:10,vertical:a.inverted}),a),n(h.scrollbar,"changed",function(b){var c=h.size,g=c*this.to,c=c*this.from;h.hasDragged=h.scrollbar.hasDragged;h.render(0,0,c,g);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){h.onMouseUp(b)})}));
+h.addBaseSeriesEvents();h.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],c=this.xAxis,g=c.options,e=b.options,d;a&&null===b.dataMin||(d={dataMin:m(g&&g.min,x("min",e.min,b.dataMin,c.dataMin,c.min)),dataMax:m(g&&g.max,x("max",e.max,b.dataMax,c.dataMax,c.max))});return d},setBaseSeries:function(a,b){var c=this.chart,g=this.baseSeries=[];a=a||c.options&&c.options.navigator.baseSeries||0;(c.series||[]).forEach(function(b,c){b.options.isInternal||!b.options.showInNavigator&&(c!==
+a&&b.options.id!==a||!1===b.options.showInNavigator)||g.push(b)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,b)},updateNavigatorSeries:function(a,e){var g=this,h=g.chart,k=g.baseSeries,f,q,t=g.navigatorOptions.series,r,x={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0},y=g.series=(g.series||[]).filter(function(a){var b=a.baseSeries;return 0>k.indexOf(b)?(b&&(c(b,"updatedData",
+g.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});k&&k.length&&k.forEach(function(a){var b=a.navigatorSeries,c=F({color:a.color,visible:a.visible},d(t)?G.navigator.series:t);b&&!1===g.navigatorOptions.adaptToUpdatedData||(x.name="Navigator "+k.length,f=a.options||{},r=f.navigatorOptions||{},q=u(f,x,c,r),c=r.data||c.data,g.hasNavigatorData=g.hasNavigatorData||!!c,q.data=c||f.data&&f.data.slice(0),b&&b.options?b.update(q,e):(a.navigatorSeries=h.initSeries(q),a.navigatorSeries.baseSeries=
+a,y.push(a.navigatorSeries)))});if(t.data&&(!k||!k.length)||d(t))g.hasNavigatorData=!1,t=b.splat(t),t.forEach(function(a,b){x.name="Navigator "+(y.length+1);q=u(G.navigator.series,{color:h.series[b]&&!h.series[b].options.isInternal&&h.series[b].color||h.options.colors[b]||h.options.colors[0]},x,a);q.data=a.data;q.data&&(g.hasNavigatorData=!0,y.push(h.initSeries(q)))});a&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&n(b[0].xAxis,"foundExtremes",
+this.modifyBaseAxisExtremes);b.forEach(function(b){n(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});n(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&n(b,"updatedData",this.updatedDataHandler);n(b,"remove",function(){this.navigatorSeries&&(A(a.series,this.navigatorSeries),B(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},
+getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData[0])},a)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,e=b.dataMax,b=b.max-b.min,d=a.stickToMin,h=a.stickToMax,k=m(this.options.overscroll,0),f,q,r=a.series&&a.series[0],x=!!this.setExtremes;
+this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(d&&(q=c,f=q+b),h&&(f=e+k,d||(q=Math.max(f-b,a.getBaseSeriesMin(r&&r.xData?r.xData[0]:-Number.MAX_VALUE)))),x&&(d||h)&&l(q)&&(this.min=this.userMin=q,this.max=this.userMax=f));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=
+l(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(n(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),n(this.chart,"getMargins",function(){var a=this.navigator,
+b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();this.xAxis&&(A(this.chart.xAxis,this.xAxis),A(this.chart.axes,this.xAxis));this.yAxis&&(A(this.chart.yAxis,this.yAxis),A(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&
+this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){w(a)},this)}};b.Navigator=D;y(E.prototype,"zoom",function(a,b,c){var e=this.chart.options,d=e.chart.zoomType,g=e.chart.pinchType,h=e.navigator,e=e.rangeSelector,k;this.isXAxis&&(h&&h.enabled||e&&e.enabled)&&("y"===d?k=!1:(!f&&"xy"===d||f&&"xy"===g)&&this.options.range&&(d=this.previousZoom,B(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!==k?k:a.call(this,
+b,c)});n(p,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||c&&c.enabled)&&(!f&&"x"===a.chart.zoomType||f&&"x"===a.chart.pinchType))return!1});n(p,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});n(p,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,c,e,d,h;b&&(e=a&&a.options,d=b.xAxis,h=b.yAxis,c=b.scrollbarHeight,this.inverted?(b.left=b.opposite?
+this.chartWidth-c-b.height:this.spacing[3]+c,b.top=this.plotTop+c):(b.left=this.plotLeft+c,b.top=b.navigatorOptions.top||this.chartHeight-b.height-c-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(e&&"bottom"===e.verticalAlign&&e.enabled&&!e.floating?a.legendHeight+m(e.margin,10):0)),d&&h&&(this.inverted?d.options.left=h.options.left=b.left:d.options.top=h.options.top=b.top,d.setAxisSize(),h.setAxisSize()))});n(p,"update",function(a){var b=a.options.navigator||
+{},c=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!c.enabled||(u(!0,this.options.navigator,b),u(!0,this.options.scrollbar,c),delete a.options.navigator,delete a.options.scrollbar)});n(p,"afterUpdate",function(){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new D(this))});y(q.prototype,"addPoint",function(b,c,e,d,h){var g=this.options.turboThreshold;g&&this.xData.length>g&&a(c,!0)&&this.chart.navigator&&
+z(20,!0,this.chart);b.call(this,c,e,d,h)});n(p,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)});n(q,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)});p.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))})})(H);(function(b){function D(a){this.init(a)}var n=b.addEvent,E=b.Axis,p=b.Chart,C=b.css,G=b.createElement,B=b.defaultOptions,
+w=b.defined,A=b.destroyObjectProperties,z=b.discardElement,F=b.extend,e=b.fireEvent,d=b.isNumber,l=b.merge,a=b.pick,f=b.pInt,u=b.splat,m=b.wrap;F(B,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});B.lang=l(B.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(b,
+e){var c=this,h=c.chart,k=c.buttonOptions[b],f=h.xAxis[0],x=h.scroller&&h.scroller.getUnionExtremes()||f||{},g=x.dataMin,t=x.dataMax,v,l=f&&Math.round(Math.min(f.max,a(t,f.max))),m=k.type,p,x=k._range,w,z,B,A=k.dataGrouping;if(null!==g&&null!==t){h.fixedRange=x;A&&(this.forcedDataGrouping=!0,E.prototype.setDataGrouping.call(f||{chart:this.chart},A,!1),this.frozenStates=k.preserveDataGrouping);if("month"===m||"year"===m)f?(m={range:k,max:l,chart:h,dataMin:g,dataMax:t},v=f.minFromRange.call(m),d(m.newMax)&&
+(l=m.newMax)):x=k;else if(x)v=Math.max(l-x,g),l=Math.min(v+x,t);else if("ytd"===m)if(f)void 0===t&&(g=Number.MAX_VALUE,t=Number.MIN_VALUE,h.series.forEach(function(a){a=a.xData;g=Math.min(a[0],g);t=Math.max(a[a.length-1],t)}),e=!1),l=c.getYTDExtremes(t,g,h.time.useUTC),v=w=l.min,l=l.max;else{n(h,"beforeRender",function(){c.clickButton(b)});return}else"all"===m&&f&&(v=g,l=t);v+=k._offsetMin;l+=k._offsetMax;c.setSelected(b);f?f.setExtremes(v,l,a(e,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:k}):
+(p=u(h.options.xAxis)[0],B=p.range,p.range=x,z=p.min,p.min=w,n(h,"load",function(){p.range=B;p.min=z}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||[].concat(b.defaultButtons),f=c.selected,r=function(){var a=b.minInput,
+c=b.maxInput;a&&a.blur&&e(a,"blur");c&&c.blur&&e(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=n(a.container,"mousedown",r);this.unResize=n(a,"resize",r);d.forEach(b.computeButtonRange);void 0!==f&&d[f]&&this.clickButton(f,!1);n(a,"load",function(){a.xAxis&&a.xAxis[0]&&n(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&!b.frozenStates&&
+this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,b=this.chart,e=b.xAxis[0],h=Math.round(e.max-e.min),f=!e.hasVisibleSeries,r=b.scroller&&b.scroller.getUnionExtremes()||e,x=r.dataMin,g=r.dataMax,b=a.getYTDExtremes(g,x,b.time.useUTC),l=b.min,v=b.max,m=a.selected,p=d(m),n=a.options.allButtonsEnabled,u=a.buttons;a.buttonOptions.forEach(function(b,c){var d=b._range,k=b.type,q=b.count||1,r=u[c],t=0;b=b._offsetMax-b._offsetMin;c=c===m;var y=d>g-x,w=d<e.minRange,I=!1,z=!1,d=d===h;
+("month"===k||"year"===k)&&h+36E5>=864E5*{month:28,year:365}[k]*q-b&&h-36E5<=864E5*{month:31,year:366}[k]*q+b?d=!0:"ytd"===k?(d=v-l+b===h,I=!c):"all"===k&&(d=e.max-e.min>=g-x,z=!c&&p&&d);k=!n&&(y||w||z||f);q=c&&d||d&&!p&&!I||c&&a.frozenStates;k?t=3:q&&(p=!0,t=2);r.state!==t&&r.setState(t)})},computeButtonRange:function(b){var c=b.type,e=b.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[c])b._range=d[c]*e;else if("month"===c||"year"===c)b._range=864E5*{month:30,
+year:365}[c]*e;b._offsetMin=a(b.offsetMin,0);b._offsetMax=a(b.offsetMax,0);b._range+=b._offsetMax-b._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,e=this.chart.time,d=this[a+"Input"];w(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=e.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:e.dateFormat(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];C(this[a+"Input"],{left:b.translateX+
+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){C(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function c(){var a=v.value,b=(x.inputDateParser||Date.parse)(a),c=h.xAxis[0],g=h.scroller&&h.scroller.xAxis?h.scroller.xAxis:c,k=g.dataMin,g=g.dataMax;b!==v.previousValue&&(v.previousValue=b,d(b)||(b=a.split("-"),b=Date.UTC(f(b[0]),f(b[1])-1,f(b[2]))),d(b)&&(h.time.useUTC||(b+=
+6E4*(new Date).getTimezoneOffset()),t?b>e.maxInput.HCTime?b=void 0:b<k&&(b=k):b<e.minInput.HCTime?b=void 0:b>g&&(b=g),void 0!==b&&c.setExtremes(t?b:c.min,t?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var e=this,h=e.chart,m=h.renderer.style||{},r=h.renderer,x=h.options.rangeSelector,g=e.div,t="min"===a,v,p,n=this.inputGroup;this[a+"Label"]=p=r.label(B.lang[t?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(n);n.offset+=
+p.width+5;this[a+"DateBox"]=r=r.label("",n.offset).addClass("highcharts-range-input").attr({padding:2,width:x.inputBoxWidth||90,height:x.inputBoxHeight||17,"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()});h.styledMode||r.attr({stroke:x.inputBoxBorderColor||"#cccccc","stroke-width":1});r.add(n);n.offset+=r.width+(t?10:0);this[a+"Input"]=v=G("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:h.plotTop+"px"},g);h.styledMode||(p.css(l(m,x.labelStyle)),
+r.css(l({color:"#333333"},m,x.inputStyle)),C(v,F({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:m.fontSize,fontFamily:m.fontFamily,top:"-9999em"},x.inputStyle)));v.onfocus=function(){e.showInput(a)};v.onblur=function(){v===b.doc.activeElement&&(c(),e.hideInput(a))};v.onchange=c;v.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+
+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,e){var c=this.chart.time,d=new c.Date(a),f=c.get("FullYear",d);e=e?c.Date.UTC(f,0,1):+new c.Date(f,0,1);b=Math.max(b||0,e);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(b,e){var c=this,d=c.chart,f=d.renderer,k=d.container,x=d.options,g=x.exporting&&!1!==x.exporting.enabled&&x.navigation&&x.navigation.buttonOptions,l=B.lang,v=c.div,m=x.rangeSelector,n=a(x.chart.style&&x.chart.style.zIndex,0)+1,x=m.floating,
+p=c.buttons,v=c.inputGroup,u=m.buttonTheme,w=m.buttonPosition,z=m.inputPosition,A=m.inputEnabled,C=u&&u.states,D=d.plotLeft,F,E=c.buttonGroup,H;H=c.rendered;var O=c.options.verticalAlign,Q=d.legend,R=Q&&Q.options,J=w.y,P=z.y,S=H||!1,T=S?"animate":"attr",N=0,L=0,M;if(!1!==m.enabled){H||(c.group=H=f.g("range-selector-group").attr({zIndex:7}).add(),c.buttonGroup=E=f.g("range-selector-buttons").add(H),c.zoomText=f.text(l.rangeSelectorZoom,0,15).add(E),d.styledMode||(c.zoomText.css(m.labelStyle),u["stroke-width"]=
+a(u["stroke-width"],0)),c.buttonOptions.forEach(function(a,b){p[b]=f.button(a.text,0,0,function(){var d=a.events&&a.events.click,e;d&&(e=d.call(a));!1!==e&&c.clickButton(b);c.isActive=!0},u,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(E)}),!1!==A&&(c.div=v=G("div",null,{position:"relative",height:0,zIndex:n}),k.parentNode.insertBefore(v,k),c.inputGroup=v=f.g("input-group").add(H),v.offset=0,c.drawInput("min"),c.drawInput("max")));c.zoomText[T]({x:a(D+w.x,D)});F=a(D+w.x,
+D)+c.zoomText.getBBox().width+5;c.buttonOptions.forEach(function(b,c){p[c][T]({x:F});F+=p[c].width+a(m.buttonSpacing,5)});D=d.plotLeft-d.spacing[3];c.updateButtonStates();g&&this.titleCollision(d)&&"top"===O&&"right"===w.align&&w.y+E.getBBox().height-12<(g.y||0)+g.height&&(N=-40);"left"===w.align?M=w.x-d.spacing[3]:"right"===w.align&&(M=w.x+N-d.spacing[1]);E.align({y:w.y,width:E.getBBox().width,align:w.align,x:M},!0,d.spacingBox);c.group.placed=S;c.buttonGroup.placed=S;!1!==A&&(N=g&&this.titleCollision(d)&&
+"top"===O&&"right"===z.align&&z.y-v.getBBox().height-12<(g.y||0)+g.height+d.spacing[0]?-40:0,"left"===z.align?M=D:"right"===z.align&&(M=-Math.max(d.axisOffset[1],-N)),v.align({y:z.y,width:v.getBBox().width,align:z.align,x:z.x+M-2},!0,d.spacingBox),k=v.alignAttr.translateX+v.alignOptions.x-N+v.getBBox().x+2,g=v.alignOptions.width,l=E.alignAttr.translateX+E.getBBox().x,M=E.getBBox().width+20,(z.align===w.align||l+M>k&&k+g>l&&J<P+v.getBBox().height)&&v.attr({translateX:v.alignAttr.translateX+(d.axisOffset[1]>=
+-N?0:-N),translateY:v.alignAttr.translateY+E.getBBox().height+10}),c.setInputValue("min",b),c.setInputValue("max",e),c.inputGroup.placed=S);c.group.align({verticalAlign:O},!0,d.spacingBox);b=c.group.getBBox().height+20;e=c.group.alignAttr.translateY;"bottom"===O&&(Q=R&&"bottom"===R.verticalAlign&&R.enabled&&!R.floating?Q.legendHeight+a(R.margin,10):0,b=b+Q-20,L=e-b-(x?0:m.y)-10);if("top"===O)x&&(L=0),d.titleOffset&&(L=d.titleOffset+d.options.title.margin),L+=d.margin[0]-d.spacing[0]||0;else if("middle"===
+O)if(P===J)L=0>P?e+void 0:e;else if(P||J)L=0>P||0>J?L-Math.min(P,J):e-b+NaN;c.group.translate(m.x,m.y+Math.floor(L));!1!==A&&(c.minInput.style.marginTop=c.group.translateY+"px",c.maxInput.style.marginTop=c.group.translateY+"px");c.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,d=a.y,e=a.buttonPosition.y,a=a.inputPosition.y,b=b?b.getBBox(!0).height+13+d:0,d=Math.min(a,e);if(0>a&&0>e||0<a&&0<e)b+=Math.abs(d);return b},titleCollision:function(a){return!(a.options.title.text||a.options.subtitle.text)},
+update:function(a){var b=this.chart;l(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var a=this,d=a.minInput,e=a.maxInput;a.unMouseDown();a.unResize();A(a.buttons);d&&(d.onfocus=d.onblur=d.onchange=null);e&&(e.onfocus=e.onblur=e.onchange=null);b.objectEach(a,function(b,c){b&&"chart"!==c&&(b.destroy?b.destroy():b.nodeType&&z(this[c]));b!==D.prototype[c]&&(a[c]=null)},this)}};E.prototype.toFixedRange=function(b,e,f,h){var c=this.chart&&this.chart.fixedRange;
+b=a(f,this.translate(b,!0,!this.horiz));e=a(h,this.translate(e,!0,!this.horiz));f=c&&(e-b)/c;.7<f&&1.3>f&&(h?b=e-c:e=b+c);d(b)&&d(e)||(b=e=void 0);return{min:b,max:e}};E.prototype.minFromRange=function(){var b=this.range,e={month:"Month",year:"FullYear"}[b.type],f,h=this.max,l,r,x=function(a,b){var c=new Date(a),d=c["get"+e]();c["set"+e](d+b);d===c["get"+e]()&&c.setDate(0);return c.getTime()-a};d(b)?(f=h-b,r=b):(f=h+x(h,-b.count),this.chart&&(this.chart.fixedRange=h-f));l=a(this.dataMin,Number.MIN_VALUE);
+d(f)||(f=l);f<=l&&(f=l,void 0===r&&(r=x(f,b.count)),this.newMax=Math.min(f+r,this.dataMax));d(h)||(f=void 0);return f};n(p,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new D(this))});m(p.prototype,"render",function(a,b,e){var c=this.axes,d=this.rangeSelector;d&&(c.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),d.render(),c=d.options.verticalAlign,d.options.floating||("bottom"===c?this.extraBottomMargin=!0:"middle"!==c&&(this.extraTopMargin=
+!0)));a.call(this,b,e)});n(p,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,d=this.extraTopMargin;b&&b.enabled&&!w(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new D(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==c||this.extraTopMargin!==
+d)&&(this.isDirtyBox=!0)});m(p.prototype,"redraw",function(a,b,d){var c=this.rangeSelector;c&&!c.options.floating&&(c.render(),c=c.options.verticalAlign,"bottom"===c?this.extraBottomMargin=!0:"middle"!==c&&(this.extraTopMargin=!0));a.call(this,b,d)});n(p,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))});p.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();d(c.min)&&
+e.render(c.min,c.max)}var c,e=a.rangeSelector,f,r;e&&(r=n(a.xAxis[0],"afterSetExtremes",function(a){e.render(a.min,a.max)}),f=n(a,"redraw",b),b());n(a,"destroy",function(){e&&(f(),r())})});b.RangeSelector=D})(H);(function(b){var D=b.addEvent,n=b.arrayMax,E=b.arrayMin,p=b.Axis,C=b.Chart,G=b.defined,B=b.extend,w=b.format,A=b.isNumber,z=b.isString,F=b.merge,e=b.pick,d=b.Point,l=b.Renderer,a=b.Series,f=b.splat,u=b.SVGRenderer,m=b.VMLRenderer,c=b.wrap,k=a.prototype,q=k.init,h=k.processData,y=d.prototype.tooltipFormatter;
+b.StockChart=b.stockChart=function(a,c,d){var g=z(a)||a.nodeName,h=arguments[g?1:0],k=h,r=h.series,l=b.getOptions(),x,m=e(h.navigator&&h.navigator.enabled,l.navigator.enabled,!0),p=m?{startOnTick:!1,endOnTick:!1}:null,n={marker:{enabled:!1,radius:2}},q={shadow:!1,borderWidth:0};h.xAxis=f(h.xAxis||{}).map(function(a,b){return F({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},l.xAxis,l.xAxis&&l.xAxis[b],a,{type:"datetime",categories:null},
+p)});h.yAxis=f(h.yAxis||{}).map(function(a,b){x=e(a.opposite,!0);return F({labels:{y:-2},opposite:x,showLastLabel:!(!a.categories&&"category"!==a.type),title:{text:null}},l.yAxis,l.yAxis&&l.yAxis[b],a)});h.series=null;h=F({chart:{panning:!0,pinchType:"x"},navigator:{enabled:m},scrollbar:{enabled:e(l.scrollbar.enabled,!0)},rangeSelector:{enabled:e(l.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:e(l.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1},plotOptions:{line:n,spline:n,area:n,
+areaspline:n,arearange:n,areasplinerange:n,column:q,columnrange:q,candlestick:q,ohlc:q}},h,{isStock:!0});h.series=k.series=r;return g?new C(a,h,d):new C(h,c)};c(p.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=this,"right"):a.apply(this,[].slice.call(arguments,1))});
+D(p,"destroy",function(){var a=this.chart,b=this.options&&this.options.top+","+this.options.height;b&&a._labelPanes&&a._labelPanes[b]===this&&delete a._labelPanes[b]});c(p.prototype,"getPlotLinePath",function(a,c,d,f,h,k){var g=this,l=this.isLinked&&!this.series?this.linkedParent.series:this.series,r=g.chart,m=r.renderer,x=g.left,t=g.top,n,v,p,q,w=[],u=[],y,B;if("xAxis"!==g.coll&&"yAxis"!==g.coll)return a.apply(this,[].slice.call(arguments,1));u=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=g.options[b];
+return A(a)?[r[b][a]]:z(a)?[r.get(a)]:l.map(function(a){return a[b]})}(g.coll);(g.isXAxis?r.yAxis:r.xAxis).forEach(function(a){if(G(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=G(a.options[b])?r[b][a.options[b]]:r[b][0];g===b&&u.push(a)}});y=u.length?[]:[g.isXAxis?r.yAxis[0]:r.xAxis[0]];u.forEach(function(a){-1!==y.indexOf(a)||b.find(y,function(b){return b.pos===a.pos&&b.len===a.len})||y.push(a)});B=e(k,g.translate(c,null,null,f));A(B)&&(g.horiz?y.forEach(function(a){var b;
+v=a.pos;q=v+a.len;n=p=Math.round(B+g.transB);"pass"!==h&&(n<x||n>x+g.width)&&(h?n=p=Math.min(Math.max(x,n),x+g.width):b=!0);b||w.push("M",n,v,"L",p,q)}):y.forEach(function(a){var b;n=a.pos;p=n+a.len;v=q=Math.round(t+g.height-B);"pass"!==h&&(v<t||v>t+g.height)&&(h?v=q=Math.min(Math.max(t,v),g.top+g.height):b=!0);b||w.push("M",n,v,"L",p,q)}));return 0<w.length?m.crispPolyLine(w,d||1):null});u.prototype.crispPolyLine=function(a,b){var c;for(c=0;c<a.length;c+=6)a[c+1]===a[c+4]&&(a[c+1]=a[c+4]=Math.round(a[c+
+1])-b%2/2),a[c+2]===a[c+5]&&(a[c+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};l===m&&(m.prototype.crispPolyLine=u.prototype.crispPolyLine);c(p.prototype,"hideCrosshair",function(a,b){a.call(this,b);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});D(p,"afterDrawCrosshair",function(a){var b,c;if(G(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var d=this.chart,f=this.options.crosshair.label,h=this.horiz;b=this.opposite;c=this.left;var k=this.top,l=this.crossLabel,m=f.format,
+r="",n="inside"===this.options.tickPosition,p=!1!==this.crosshair.snap,q=0,u=a.e||this.cross&&this.cross.e,y=a.point;a=this.lin2log;var z,A;this.isLog?(z=a(this.min),A=a(this.max)):(z=this.min,A=this.max);a=h?"center":b?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";l||(l=this.crossLabel=d.renderer.label(null,null,null,f.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:f.align||
+a,padding:e(f.padding,8),r:e(f.borderRadius,3),zIndex:2}).add(this.labelGroup),d.styledMode||l.attr({fill:f.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:f.borderColor||"","stroke-width":f.borderWidth||0}).css(B({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},f.style)));h?(a=p?y.plotX+c:u.chartX,k+=b?0:this.height):(a=b?this.width+c:0,k=p?y.plotY+k:u.chartY);m||f.formatter||(this.isDatetimeAxis&&(r="%b %d, %Y"),m="{value"+(r?":"+r:"")+"}");r=p?y[this.isXAxis?
+"x":"y"]:this.toValue(h?u.chartX:u.chartY);l.attr({text:m?w(m,{value:r},d.time):f.formatter.call(this,r),x:a,y:k,visibility:r<z||r>A?"hidden":"visible"});f=l.getBBox();if(h){if(n&&!b||!n&&b)k=l.y-f.height}else k=l.y-f.height/2;h?(b=c-f.x,c=c+this.width-f.x):(b="left"===this.labelAlign?c:0,c="right"===this.labelAlign?c+this.width:d.chartWidth);l.translateX<b&&(q=b-l.translateX);l.translateX+f.width>=c&&(q=-(l.translateX+f.width-c));l.attr({x:a+q,y:k,anchorX:h?a:this.opposite?0:d.chartWidth,anchorY:h?
+this.opposite?d.chartHeight:0:k+f.height/2})}});k.init=function(){q.apply(this,arguments);this.setCompare(this.options.compare)};k.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};k.processData=function(){var a,b=-1,c,d,e=!0===this.options.compareStart?
+0:1,f,k;h.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,f=d.length,this.pointArrayMap&&(b=this.pointArrayMap.indexOf("close"),-1===b&&(b=this.pointArrayMap.indexOf(this.pointValKey||"y"))),a=0;a<f-e;a++)if(k=d[a]&&-1<b?d[a][b]:d[a],A(k)&&c[a+e]>=this.xAxis.min&&0!==k){this.compareValue=k;break}};c(k,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],
+this.dataMin=E(b),this.dataMax=n(b))});p.prototype.setCompare=function(a,b){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),e(b,!0)&&this.chart.redraw())};d.prototype.tooltipFormatter=function(a){a=a.replace("{point.change}",(0<this.change?"+":"")+b.numberFormat(this.change,e(this.series.tooltipOptions.changeDecimals,2)));return y.apply(this,[a])};c(a.prototype,"render",function(a){var b;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(b=this.yAxis.len-
+(this.xAxis.axisLine?Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=F(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=b):this.chart[this.sharedClipKey]?this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:b}):this.clipBox&&(this.clipBox.width=this.xAxis.len,this.clipBox.height=b));a.call(this)});c(C.prototype,"getSelectedPoints",function(a){var b=a.call(this);this.series.forEach(function(a){a.hasGroupedData&&(b=b.concat((a.points||
+[]).filter(function(a){return a.selected})))});return b});D(C,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(F(!0,this.options.scrollbar,a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})})(H)});
+//# sourceMappingURL=stock.js.map
+</script>
+<script>/*
+ Highmaps JS v7.0.1 (2018-12-19)
+ Highmaps as a plugin for Highcharts or Highstock.
+
+ (c) 2011-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(z){"object"===typeof module&&module.exports?module.exports=z:"function"===typeof define&&define.amd?define(function(){return z}):z("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(z){(function(a){var p=a.addEvent,h=a.Axis,n=a.pick;p(h,"getSeriesExtremes",function(){var a=[];this.isXAxis&&(this.series.forEach(function(e,r){e.useMapGeometry&&(a[r]=e.xData,e.xData=[])}),this.seriesXData=a)});p(h,"afterGetSeriesExtremes",function(){var a=this.seriesXData,e,t,h;this.isXAxis&&(e=
+n(this.dataMin,Number.MAX_VALUE),t=n(this.dataMax,-Number.MAX_VALUE),this.series.forEach(function(d,b){d.useMapGeometry&&(e=Math.min(e,n(d.minX,e)),t=Math.max(t,n(d.maxX,t)),d.xData=a[b],h=!0)}),h&&(this.dataMin=e,this.dataMax=t),delete this.seriesXData)});p(h,"afterSetAxisTranslation",function(){var a=this.chart,e;e=a.plotWidth/a.plotHeight;var a=a.xAxis[0],h;"yAxis"===this.coll&&void 0!==a.transA&&this.series.forEach(function(a){a.preserveAspectRatio&&(h=!0)});if(h&&(this.transA=a.transA=Math.min(this.transA,
+a.transA),e/=(a.max-a.min)/(this.max-this.min),e=1>e?this:a,a=(e.max-e.min)*e.transA,e.pixelPadding=e.len-a,e.minPixelPadding=e.pixelPadding/2,a=e.fixTo)){a=a[1]-e.toValue(a[0],!0);a*=e.transA;if(Math.abs(a)>e.minPixelPadding||e.min===e.dataMin&&e.max===e.dataMax)a=0;e.minPixelPadding-=a}});p(h,"render",function(){this.fixTo=null})})(z);(function(a){var p=a.addEvent,h=a.Axis,n=a.Chart,r=a.color,e,t=a.extend,y=a.isNumber,d=a.Legend,b=a.LegendSymbolMixin,f=a.noop,u=a.merge,q=a.pick;a.ColorAxis||(e=
+a.ColorAxis=function(){this.init.apply(this,arguments)},t(e.prototype,h.prototype),t(e.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(h.prototype.keepProps),
+init:function(c,l){var g="vertical"!==c.options.legend.layout,a;this.coll="colorAxis";a=u(this.defaultColorAxisOptions,{side:g?2:1,reversed:!g},l,{opposite:!g,showEmpty:!1,title:null,visible:c.options.legend.enabled});h.prototype.init.call(this,c,a);l.dataClasses&&this.initDataClasses(l);this.initStops();this.horiz=g;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(c){var l=this.chart,g,a=0,k=l.options.chart.colorCount,m=this.options,b=c.dataClasses.length;this.dataClasses=
+g=[];this.legendItems=[];c.dataClasses.forEach(function(c,x){c=u(c);g.push(c);if(l.styledMode||!c.color)"category"===m.dataClassColor?(l.styledMode||(x=l.options.colors,k=x.length,c.color=x[a]),c.colorIndex=a,a++,a===k&&(a=0)):c.color=r(m.minColor).tweenTo(r(m.maxColor),2>b?.5:x/(b-1))})},setTickPositions:function(){if(!this.dataClasses)return h.prototype.setTickPositions.call(this)},initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(c){c.color=
+r(c[1])})},setOptions:function(c){h.prototype.setOptions.call(this,c);this.options.crosshair=this.options.marker},setAxisSize:function(){var c=this.legendSymbol,l=this.chart,g=l.options.legend||{},a,k;c?(this.left=g=c.attr("x"),this.top=a=c.attr("y"),this.width=k=c.attr("width"),this.height=c=c.attr("height"),this.right=l.chartWidth-g-k,this.bottom=l.chartHeight-a-c,this.len=this.horiz?k:c,this.pos=this.horiz?g:a):this.len=(this.horiz?g.symbolWidth:g.symbolHeight)||this.defaultLegendLength},normalizedValue:function(c){this.isLog&&
+(c=this.val2lin(c));return 1-(this.max-c)/(this.max-this.min||1)},toColor:function(c,l){var a=this.stops,b,k,m=this.dataClasses,x,v;if(m)for(v=m.length;v--;){if(x=m[v],b=x.from,a=x.to,(void 0===b||c>=b)&&(void 0===a||c<=a)){k=x.color;l&&(l.dataClass=v,l.colorIndex=x.colorIndex);break}}else{c=this.normalizedValue(c);for(v=a.length;v--&&!(c>a[v][0]););b=a[v]||a[v+1];a=a[v+1]||b;c=1-(a[0]-c)/(a[0]-b[0]||1);k=b.color.tweenTo(a.color,c)}return k},getOffset:function(){var c=this.legendGroup,a=this.chart.axisOffset[this.side];
+c&&(this.axisParent=c,h.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=a)},setLegendColor:function(){var c,a=this.reversed;c=a?1:0;a=a?0:1;c=this.horiz?[c,0,a,0]:[0,a,0,c];this.legendColor={linearGradient:{x1:c[0],y1:c[1],x2:c[2],y2:c[3]},stops:this.stops}},drawLegendSymbol:function(c,a){var l=c.padding,b=c.options,k=this.horiz,m=q(b.symbolWidth,k?this.defaultLegendLength:12),x=q(b.symbolHeight,k?12:this.defaultLegendLength),
+v=q(b.labelPadding,k?16:30),b=q(b.itemDistance,10);this.setLegendColor();a.legendSymbol=this.chart.renderer.rect(0,c.baseline-11,m,x).attr({zIndex:1}).add(a.legendGroup);this.legendItemWidth=m+l+(k?b:v);this.legendItemHeight=x+l+(k?v:0)},setState:function(c){this.series.forEach(function(a){a.setState(c)})},visible:!0,setVisible:f,getSeriesExtremes:function(){var c=this.series,a=c.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;a--;)c[a].getExtremes(),void 0!==c[a].valueMin&&(this.dataMin=
+Math.min(this.dataMin,c[a].valueMin),this.dataMax=Math.max(this.dataMax,c[a].valueMax))},drawCrosshair:function(c,a){var b=a&&a.plotX,l=a&&a.plotY,k,m=this.pos,x=this.len;a&&(k=this.toPixels(a[a.series.colorKey]),k<m?k=m-2:k>m+x&&(k=m+x+2),a.plotX=k,a.plotY=this.len-k,h.prototype.drawCrosshair.call(this,c,a),a.plotX=b,a.plotY=l,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||
+this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(c,a,b,f,k){return y(k)?this.horiz?["M",k-4,this.top-6,"L",k+4,this.top-6,k,this.top,"Z"]:["M",this.left,k,"L",this.left-6,k+6,this.left-6,k-6,"Z"]:h.prototype.getPlotLinePath.call(this,c,a,b,f)},update:function(c,a){var b=this.chart,l=b.legend;this.series.forEach(function(c){c.isDirtyData=!0});c.dataClasses&&l.allItems&&(l.allItems.forEach(function(c){c.isDataClass&&c.legendGroup&&c.legendGroup.destroy()}),b.isDirtyLegend=!0);
+b.options[this.coll]=u(this.userOptions,c);h.prototype.update.call(this,c,a);this.legendItem&&(this.setLegendColor(),l.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);h.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var c=this,l=this.chart,g=this.legendItems,d=l.options.legend,k=d.valueDecimals,m=d.valueSuffix||"",x;g.length||this.dataClasses.forEach(function(v,d){var A=!0,e=v.from,u=v.to;x="";void 0===e?x="\x3c ":void 0===u&&(x="\x3e ");
+void 0!==e&&(x+=a.numberFormat(e,k)+m);void 0!==e&&void 0!==u&&(x+=" - ");void 0!==u&&(x+=a.numberFormat(u,k)+m);g.push(t({chart:l,name:x,options:{},drawLegendSymbol:b.drawRectangle,visible:!0,setState:f,isDataClass:!0,setVisible:function(){A=this.visible=!A;c.series.forEach(function(c){c.points.forEach(function(c){c.dataClass===d&&c.setVisible(A)})});l.legend.colorizeItem(this,A)}},v))});return g},name:""}),["fill","stroke"].forEach(function(c){a.Fx.prototype[c+"Setter"]=function(){this.elem.attr(c,
+r(this.start).tweenTo(r(this.end),this.pos),null,!0)}}),p(n,"afterGetAxes",function(){var c=this.options.colorAxis;this.colorAxis=[];c&&new e(this,c)}),p(d,"afterGetAllItems",function(c){var b=[],g=this.chart.colorAxis[0];g&&g.options&&g.options.showInLegend&&(g.options.dataClasses?b=g.getDataClassLegendSymbols():b.push(g),g.series.forEach(function(b){a.erase(c.allItems,b)}));for(g=b.length;g--;)c.allItems.unshift(b[g])}),p(d,"afterColorizeItem",function(c){c.visible&&c.item.legendColor&&c.item.legendSymbol.attr({fill:c.item.legendColor})}),
+p(d,"afterUpdate",function(c,a,b){this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},b)}))})(z);(function(a){var p=a.defined,h=a.noop,n=a.seriesTypes;a.colorPointMixin={isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(a){var e=this,r=a?"show":"hide";e.visible=!!a;["graphic","dataLabel"].forEach(function(a){if(e[a])e[a][r]()})},setState:function(r){a.Point.prototype.setState.call(this,r);this.graphic&&this.graphic.attr({zIndex:"hover"===
+r?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:h,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:n.column.prototype.pointAttribs,translateColors:function(){var a=this,e=this.options.nullColor,h=this.colorAxis,n=this.colorKey;this.data.forEach(function(d){var b=d[n];if(b=d.options.color||(d.isNull?e:h&&void 0!==b?h.toColor(b,d):d.color||a.color))d.color=
+b})},colorAttribs:function(a){var e={};p(a.color)&&(e[this.colorProp||"fill"]=a.color);return e}}})(z);(function(a){function p(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function h(a){this.init(a)}var n=a.addEvent,r=a.Chart,e=a.doc,t=a.extend,y=a.merge,d=a.pick;h.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};h.prototype.update=function(b){var f=this.chart,e=f.options.mapNavigation,q,c,l,g,w,k=function(c){this.handler.call(f,
+c);p(c)},m=f.mapNavButtons;b&&(e=f.options.mapNavigation=y(f.options.mapNavigation,b));for(;m.length;)m.pop().destroy();d(e.enableButtons,e.enabled)&&!f.renderer.forExport&&a.objectEach(e.buttons,function(a,b){q=y(e.buttonOptions,a);f.styledMode||(c=q.theme,c.style=y(q.theme.style,q.style),g=(l=c.states)&&l.hover,w=l&&l.select);a=f.renderer.button(q.text,0,0,k,c,g,w,0,"zoomIn"===b?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[b]).attr({width:q.width,
+height:q.height,title:f.options.lang[b],padding:q.padding,zIndex:5}).add();a.handler=q.onclick;a.align(t(q,{width:a.width,height:2*a.height}),null,q.alignTo);n(a.element,"dblclick",p);m.push(a)});this.updateEvents(e)};h.prototype.updateEvents=function(a){var b=this.chart;d(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||n(b.container,"dblclick",function(a){b.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());
+d(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||n(b.container,void 0===e.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){b.pointer.onContainerMouseWheel(a);p(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};t(r.prototype,{fitToBox:function(a,f){[["x","width"],["y","height"]].forEach(function(b){var e=b[0];b=b[1];a[e]+a[b]>f[e]+f[b]&&(a[b]>f[b]?(a[b]=f[b],a[e]=f[e]):a[e]=f[e]+f[b]-a[b]);a[b]>f[b]&&(a[b]=f[b]);a[e]<f[e]&&(a[e]=
+f[e])});return a},mapZoom:function(a,f,e,r,c){var b=this.xAxis[0],g=b.max-b.min,w=d(f,b.min+g/2),k=g*a,g=this.yAxis[0],m=g.max-g.min,x=d(e,g.min+m/2),m=m*a,w=this.fitToBox({x:w-k*(r?(r-b.pos)/b.len:.5),y:x-m*(c?(c-g.pos)/g.len:.5),width:k,height:m},{x:b.dataMin,y:g.dataMin,width:b.dataMax-b.dataMin,height:g.dataMax-g.dataMin}),k=w.x<=b.dataMin&&w.width>=b.dataMax-b.dataMin&&w.y<=g.dataMin&&w.height>=g.dataMax-g.dataMin;r&&(b.fixTo=[r-b.pos,f]);c&&(g.fixTo=[c-g.pos,e]);void 0===a||k?(b.setExtremes(void 0,
+void 0,!1),g.setExtremes(void 0,void 0,!1)):(b.setExtremes(w.x,w.x+w.width,!1),g.setExtremes(w.y,w.y+w.height,!1));this.redraw()}});n(r,"beforeRender",function(){this.mapNavigation=new h(this);this.mapNavigation.update()});a.MapNavigation=h})(z);(function(a){var p=a.extend,h=a.pick,n=a.Pointer;a=a.wrap;p(n.prototype,{onContainerDblClick:function(a){var e=this.chart;a=this.normalize(a);e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(a.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():
+e.isInsidePlot(a.chartX-e.plotLeft,a.chartY-e.plotTop)&&e.mapZoom(.5,e.xAxis[0].toValue(a.chartX),e.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var e=this.chart,h;a=this.normalize(a);h=a.detail||-(a.wheelDelta/120);e.isInsidePlot(a.chartX-e.plotLeft,a.chartY-e.plotTop)&&e.mapZoom(Math.pow(e.options.mapNavigation.mouseWheelSensitivity,h),e.xAxis[0].toValue(a.chartX),e.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(n.prototype,"zoomOption",function(a){var e=
+this.chart.options.mapNavigation;h(e.enableTouchZoom,e.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(n.prototype,"pinchTranslate",function(a,e,h,n,d,b,f){a.call(this,e,h,n,d,b,f);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=n.scaleX>n.scaleY,this.pinchTranslateDirection(!a,e,h,n,d,b,f,a?n.scaleX:n.scaleY))})})(z);(function(a){var p=a.colorPointMixin,h=a.extend,n=a.isNumber,r=a.merge,e=a.noop,t=a.pick,y=a.isArray,d=a.Point,b=a.Series,f=
+a.seriesType,u=a.seriesTypes,q=a.splat;f("map","scatter",{animation:!1,dataLabels:{crop:!1,formatter:function(){return this.point.value},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},turboThreshold:0,allAreas:!0,borderColor:"#cccccc",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:null,brightness:.2},normal:{animation:!0},select:{color:"#cccccc"}}},r(a.colorSeriesMixin,
+{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:e,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(c){var b=Number.MAX_VALUE,g=-b,e=b,k=-b,m=b,x=b,v=this.xAxis,f=this.yAxis,d;(c||[]).forEach(function(c){if(c.path){"string"===typeof c.path&&(c.path=a.splitPath(c.path));var l=c.path||[],f=l.length,v=!1,A=-b,w=b,u=-b,h=b,q=c.properties;if(!c._foundBox){for(;f--;)n(l[f])&&(v?(A=Math.max(A,l[f]),w=Math.min(w,l[f])):(u=Math.max(u,l[f]),h=Math.min(h,
+l[f])),v=!v);c._midX=w+(A-w)*t(c.middleX,q&&q["hc-middle-x"],.5);c._midY=h+(u-h)*t(c.middleY,q&&q["hc-middle-y"],.5);c._maxX=A;c._minX=w;c._maxY=u;c._minY=h;c.labelrank=t(c.labelrank,(A-w)*(u-h));c._foundBox=!0}g=Math.max(g,c._maxX);e=Math.min(e,c._minX);k=Math.max(k,c._maxY);m=Math.min(m,c._minY);x=Math.min(c._maxX-c._minX,c._maxY-c._minY,x);d=!0}});d&&(this.minY=Math.min(m,t(this.minY,b)),this.maxY=Math.max(k,t(this.maxY,-b)),this.minX=Math.min(e,t(this.minX,b)),this.maxX=Math.max(g,t(this.maxX,
+-b)),v&&void 0===v.options.minRange&&(v.minRange=Math.min(5*x,(this.maxX-this.minX)/5,v.minRange||b)),f&&void 0===f.options.minRange&&(f.minRange=Math.min(5*x,(this.maxY-this.minY)/5,f.minRange||b)))},getExtremes:function(){b.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var c=!1,b=this.xAxis,f=this.yAxis,
+k=b.min,m=b.transA,b=b.minPixelPadding,e=f.min,v=f.transA,f=f.minPixelPadding,d,h=[];if(a)for(d=a.length;d--;)n(a[d])?(h[d]=c?(a[d]-k)*m+b:(a[d]-e)*v+f,c=!c):h[d]=a[d];return h},setData:function(c,l,g,f){var k=this.options,m=this.chart.options.chart,e=m&&m.map,v=k.mapData,d=k.joinBy,w=null===d,h=k.keys||this.pointArrayMap,u=[],t={},p=this.chart.mapTransforms;!v&&e&&(v="string"===typeof e?a.maps[e]:e);w&&(d="_i");d=this.joinBy=q(d);d[1]||(d[1]=d[0]);c&&c.forEach(function(b,m){var g=0;if(n(b))c[m]=
+{value:b};else if(y(b)){c[m]={};!k.keys&&b.length>h.length&&"string"===typeof b[0]&&(c[m]["hc-key"]=b[0],++g);for(var d=0;d<h.length;++d,++g)h[d]&&void 0!==b[g]&&(0<h[d].indexOf(".")?a.Point.prototype.setNestedProperty(c[m],b[g],h[d]):c[m][h[d]]=b[g])}w&&(c[m]._i=m)});this.getBox(c);(this.chart.mapTransforms=p=m&&m.mapTransforms||v&&v["hc-transform"]||p)&&a.objectEach(p,function(a){a.rotation&&(a.cosAngle=Math.cos(a.rotation),a.sinAngle=Math.sin(a.rotation))});if(v){"FeatureCollection"===v.type&&
+(this.mapTitle=v.title,v=a.geojson(v,this.type,this));this.mapData=v;this.mapMap={};for(p=0;p<v.length;p++)m=v[p],e=m.properties,m._i=p,d[0]&&e&&e[d[0]]&&(m[d[0]]=e[d[0]]),t[m[d[0]]]=m;this.mapMap=t;c&&d[1]&&c.forEach(function(a){t[a[d[1]]]&&u.push(t[a[d[1]]])});k.allAreas?(this.getBox(v),c=c||[],d[1]&&c.forEach(function(a){u.push(a[d[1]])}),u="|"+u.map(function(a){return a&&a[d[0]]}).join("|")+"|",v.forEach(function(a){d[0]&&-1!==u.indexOf("|"+a[d[0]]+"|")||(c.push(r(a,{value:null})),f=!1)})):this.getBox(u)}b.prototype.setData.call(this,
+c,l,g,f)},drawGraph:e,drawDataLabels:e,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,g=a.yAxis,d=a.doFullTranslate();a.generatePoints();a.data.forEach(function(c){c.plotX=b.toPixels(c._midX,!0);c.plotY=g.toPixels(c._midY,!0);d&&(c.shapeType="path",c.shapeArgs={d:a.translatePath(c.path)})});a.translateColors()},pointAttribs:function(a,b){b=a.series.chart.styledMode?this.colorAttribs(a):
+u.column.prototype.pointAttribs.call(this,a,b);b["stroke-width"]=t(a.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit");return b},drawPoints:function(){var a=this,b=a.xAxis,g=a.yAxis,d=a.group,k=a.chart,m=k.renderer,f,e,h,q,n=this.baseTrans,p,r,t,y,G;a.transformGroup||(a.transformGroup=m.g().attr({scaleX:1,scaleY:1}).add(d),a.transformGroup.survive=!0);a.doFullTranslate()?(k.hasRendered&&!k.styledMode&&a.points.forEach(function(c){c.shapeArgs&&(c.shapeArgs.fill=
+a.pointAttribs(c,c.state).fill)}),a.group=a.transformGroup,u.column.prototype.drawPoints.apply(a),a.group=d,a.points.forEach(function(c){c.graphic&&(c.name&&c.graphic.addClass("highcharts-name-"+c.name.replace(/ /g,"-").toLowerCase()),c.properties&&c.properties["hc-key"]&&c.graphic.addClass("highcharts-key-"+c.properties["hc-key"].toLowerCase()),k.styledMode&&c.graphic.css(a.pointAttribs(c,c.selected&&"select")))}),this.baseTrans={originX:b.min-b.minPixelPadding/b.transA,originY:g.min-g.minPixelPadding/
+g.transA+(g.reversed?0:g.len/g.transA),transAX:b.transA,transAY:g.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(f=b.transA/n.transAX,e=g.transA/n.transAY,h=b.toPixels(n.originX,!0),q=g.toPixels(n.originY,!0),.99<f&&1.01>f&&.99<e&&1.01>e&&(e=f=1,h=Math.round(h),q=Math.round(q)),p=this.transformGroup,k.renderer.globalAnimation?(r=p.attr("translateX"),t=p.attr("translateY"),y=p.attr("scaleX"),G=p.attr("scaleY"),p.attr({animator:0}).animate({animator:1},{step:function(a,
+c){p.attr({translateX:r+(h-r)*c.pos,translateY:t+(q-t)*c.pos,scaleX:y+(f-y)*c.pos,scaleY:G+(e-G)*c.pos})}})):p.attr({translateX:h,translateY:q,scaleX:f,scaleY:e}));k.styledMode||d.element.setAttribute("stroke-width",(a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]||1)/(f||1));this.drawMapDataLabels()},drawMapDataLabels:function(){b.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=
+this,d=b.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){d.call(a)}):d.call(a)},animate:function(a){var c=this.options.animation,b=this.group,d=this.xAxis,k=this.yAxis,m=d.pos,f=k.pos;this.chart.renderer.isSVG&&(!0===c&&(c={duration:1E3}),a?b.attr({translateX:m+d.len/2,translateY:f+k.len/2,scaleX:.001,scaleY:.001}):(b.animate({translateX:m,translateY:f,scaleX:1,scaleY:1},c),this.animate=null))},animateDrilldown:function(a){var c=this.chart.plotBox,b=this.chart.drilldownLevels[this.chart.drilldownLevels.length-
+1],d=b.bBox,k=this.chart.options.drilldown.animation;a||(a=Math.min(d.width/c.width,d.height/c.height),b.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},this.points.forEach(function(a){a.graphic&&a.graphic.attr(b.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},k)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){u.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){u.column.prototype.animateDrillupTo.call(this,
+a)}}),h({applyOptions:function(a,b){a=d.prototype.applyOptions.call(this,a,b);b=this.series;var c=b.joinBy;b.mapData&&((c=void 0!==a[c[1]]&&b.mapMap[a[c[1]]])?(b.xyFromShape&&(a.x=c._midX,a.y=c._midY),h(a,c)):a.value=a.value||null);return a},onMouseOver:function(c){a.clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)d.prototype.onMouseOver.call(this,c);else this.series.onMouseOut(c)},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,
+!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},p))})(z);(function(a){var p=a.seriesType,h=a.seriesTypes;p("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,p){a=h.map.prototype.pointAttribs.call(this,a,p);a.fill=this.options.fillColor;return a},drawLegendSymbol:h.line.prototype.drawLegendSymbol})})(z);(function(a){var p=a.merge,h=a.Point;a=a.seriesType;a("mappoint",
+"scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,r){a=void 0!==a.lat&&void 0!==a.lon?p(a,this.series.chart.fromLatLonToPoint(a)):a;return h.prototype.applyOptions.call(this,a,r)}})})(z);(function(a){var p=a.Series,h=a.Legend,n=a.Chart,r=a.addEvent,e=a.wrap,t=a.color,y=a.isNumber,d=a.numberFormat,b=a.objectEach,f=a.merge,u=a.noop,q=a.pick,c=a.stableSort,l=a.setOptions,
+g=a.arrayMin,w=a.arrayMax;l({legend:{bubbleLegend:{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:10,color:void 0},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}});
+a.BubbleLegend=function(a,c){this.init(a,c)};a.BubbleLegend.prototype={init:function(a,c){this.options=a;this.visible=!0;this.chart=c.chart;this.legend=c},setState:u,addToLegend:function(a){a.splice(this.options.legendIndex,0,this)},drawLegendSymbol:function(a){var b=this.chart,k=this.options,d=q(a.options.itemDistance,20),f,g=k.ranges;f=k.connectorDistance;this.fontMetrics=b.renderer.fontMetrics(k.labels.style.fontSize.toString()+"px");g&&g.length&&y(g[0].value)?(c(g,function(a,c){return c.value-
+a.value}),this.ranges=g,this.setOptions(),this.render(),b=this.getMaxLabelSize(),g=this.ranges[0].radius,a=2*g,f=f-g+b.width,f=0<f?f:0,this.maxLabel=b,this.movementX="left"===k.labels.align?f:0,this.legendItemWidth=a+f+d,this.legendItemHeight=a+this.fontMetrics.h/2):a.options.bubbleLegend.autoRanges=!0},setOptions:function(){var a=this,c=a.ranges,b=a.options,d=a.chart.series[b.seriesIndex],g=a.legend.baseline,e={"z-index":b.zIndex,"stroke-width":b.borderWidth},l={"z-index":b.zIndex,"stroke-width":b.connectorWidth},
+h=a.getLabelStyles(),u=d.options.marker.fillOpacity,w=a.chart.styledMode;c.forEach(function(k,m){w||(e.stroke=q(k.borderColor,b.borderColor,d.color),e.fill=q(k.color,b.color,1!==u?t(d.color).setOpacity(u).get("rgba"):d.color),l.stroke=q(k.connectorColor,b.connectorColor,d.color));c[m].radius=a.getRangeRadius(k.value);c[m]=f(c[m],{center:c[0].radius-c[m].radius+g});w||f(!0,c[m],{bubbleStyle:f(!1,e),connectorStyle:f(!1,l),labelStyle:h})})},getLabelStyles:function(){var a=this.options,c={},d="left"===
+a.labels.align,g=this.legend.options.rtl;b(a.labels.style,function(a,b){"color"!==b&&"fontSize"!==b&&"z-index"!==b&&(c[b]=a)});return f(!1,c,{"font-size":a.labels.style.fontSize,fill:q(a.labels.style.color,"#000000"),"z-index":a.zIndex,align:g||d?"right":"left"})},getRangeRadius:function(a){var c=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,c.ranges[c.ranges.length-1].value,c.ranges[0].value,c.minSize,c.maxSize,a)},render:function(){var a=this,c=a.chart.renderer,
+b=a.options.zThreshold;a.symbols||(a.symbols={connectors:[],bubbleItems:[],labels:[]});a.legendSymbol=c.g("bubble-legend");a.legendItem=c.g("bubble-legend-item");a.legendSymbol.translateX=0;a.legendSymbol.translateY=0;a.ranges.forEach(function(c){c.value>=b&&a.renderRange(c)});a.legendSymbol.add(a.legendItem);a.legendItem.add(a.legendGroup);a.hideOverlappingLabels()},renderRange:function(a){var c=this.options,b=c.labels,d=this.chart.renderer,k=this.symbols,g=k.labels,f=a.center,e=Math.abs(a.radius),
+l=c.connectorDistance,h=b.align,u=b.style.fontSize,l=this.legend.options.rtl||"left"===h?-l:l,b=c.connectorWidth,w=this.ranges[0].radius,q=f-e-c.borderWidth/2+b/2,p,u=u/2-(this.fontMetrics.h-u)/2,n=d.styledMode;"center"===h&&(l=0,c.connectorDistance=0,a.labelStyle.align="center");h=q+c.labels.y;p=w+l+c.labels.x;k.bubbleItems.push(d.circle(w,f+((q%1?1:.5)-(b%2?0:.5)),e).attr(n?{}:a.bubbleStyle).addClass((n?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-symbol "+(c.className||
+"")).add(this.legendSymbol));k.connectors.push(d.path(d.crispLine(["M",w,q,"L",w+l,q],c.connectorWidth)).attr(n?{}:a.connectorStyle).addClass((n?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(c.connectorClassName||"")).add(this.legendSymbol));a=d.text(this.formatLabel(a),p,h+u).attr(n?{}:a.labelStyle).addClass("highcharts-bubble-legend-labels "+(c.labels.className||"")).add(this.legendSymbol);g.push(a);a.placed=!0;a.alignAttr={x:p,y:h+u}},getMaxLabelSize:function(){var a,
+c;this.symbols.labels.forEach(function(b){c=b.getBBox(!0);a=a?c.width>a.width?c:a:c});return a||{}},formatLabel:function(c){var b=this.options,g=b.labels.formatter;return(b=b.labels.format)?a.format(b,c):g?g.call(c):d(c.value,1)},hideOverlappingLabels:function(){var a=this.chart,c=this.symbols;!this.options.labels.allowOverlap&&c&&(a.hideOverlappingLabels(c.labels),c.labels.forEach(function(a,b){a.newOpacity?a.newOpacity!==a.oldOpacity&&c.connectors[b].show():c.connectors[b].hide()}))},getRanges:function(){var a=
+this.legend.bubbleLegend,c,b=a.options.ranges,d,e=Number.MAX_VALUE,l=-Number.MAX_VALUE;a.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&&(d=a.zData.filter(y),d.length&&(e=q(a.options.zMin,Math.min(e,Math.max(g(d),!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),l=q(a.options.zMax,Math.max(l,w(d)))))});c=e===l?[{value:l}]:[{value:e},{value:(e+l)/2},{value:l,autoRanges:!0}];b.length&&b[0].radius&&c.reverse();c.forEach(function(a,d){b&&b[d]&&(c[d]=f(!1,b[d],a))});
+return c},predictBubbleSizes:function(){var a=this.chart,c=this.fontMetrics,b=a.legend.options,d="horizontal"===b.layout,g=d?a.legend.lastLineHeight:0,f=a.plotSizeX,e=a.plotSizeY,l=a.series[this.options.seriesIndex],a=Math.ceil(l.minPxSize),h=Math.ceil(l.maxPxSize),l=l.options.maxSize,u=Math.min(e,f);if(b.floating||!/%$/.test(l))c=h;else if(l=parseFloat(l),c=(u+g-c.h/2)*l/100/(l/100+1),d&&e-c>=f||!d&&f-c>=e)c=h;return[a,Math.ceil(c)]},updateRanges:function(a,c){var b=this.legend.options.bubbleLegend;
+b.minSize=a;b.maxSize=c;b.ranges=this.getRanges()},correctSizes:function(){var a=this.legend,c=this.chart.series[this.options.seriesIndex];1<Math.abs(Math.ceil(c.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,c.maxPxSize),a.render())}};r(a.Legend,"afterGetAllItems",function(c){var b=this.bubbleLegend,d=this.options,g=d.bubbleLegend,f=this.chart.getVisibleBubbleSeriesIndex();b&&b.ranges&&b.ranges.length&&(g.ranges.length&&(g.autoRanges=g.ranges[0].autoRanges?!0:!1),this.destroyItem(b));
+0<=f&&d.enabled&&g.enabled&&(g.seriesIndex=f,this.bubbleLegend=new a.BubbleLegend(g,this),this.bubbleLegend.addToLegend(c.allItems))});n.prototype.getVisibleBubbleSeriesIndex=function(){for(var a=this.series,c=0;c<a.length;){if(a[c]&&a[c].isBubble&&a[c].visible&&a[c].zData.length)return c;c++}return-1};h.prototype.getLinesHeights=function(){var a=this.allItems,c=[],b,d=a.length,g,f=0;for(g=0;g<d;g++)if(a[g].legendItemHeight&&(a[g].itemHeight=a[g].legendItemHeight),a[g]===a[d-1]||a[g+1]&&a[g]._legendItemPos[1]!==
+a[g+1]._legendItemPos[1]){c.push({height:0});b=c[c.length-1];for(f;f<=g;f++)a[f].itemHeight>b.height&&(b.height=a[f].itemHeight);b.step=g}return c};h.prototype.retranslateItems=function(a){var c,b,d,g=this.options.rtl,f=0;this.allItems.forEach(function(e,l){c=e.legendGroup.translateX;b=e._legendItemPos[1];if((d=e.movementX)||g&&e.ranges)d=g?c-e.options.maxSize/2:c+d,e.legendGroup.attr({translateX:d});l>a[f].step&&f++;e.legendGroup.attr({translateY:Math.round(b+a[f].height/2)});e._legendItemPos[1]=
+b+a[f].height/2})};r(p,"legendItemClick",function(){var a=this.chart,c=this.visible,b=this.chart.legend;b&&b.bubbleLegend&&(this.visible=!c,this.ignoreSeries=c,a=0<=a.getVisibleBubbleSeriesIndex(),b.bubbleLegend.visible!==a&&(b.update({bubbleLegend:{enabled:a}}),b.bubbleLegend.visible=a),this.visible=c)});e(n.prototype,"drawChartBox",function(a,c,d){var g=this.legend,f=0<=this.getVisibleBubbleSeriesIndex(),e;g&&g.options.enabled&&g.bubbleLegend&&g.options.bubbleLegend.autoRanges&&f?(e=g.bubbleLegend.options,
+f=g.bubbleLegend.predictBubbleSizes(),g.bubbleLegend.updateRanges(f[0],f[1]),e.placed||(g.group.placed=!1,g.allItems.forEach(function(a){a.legendGroup.translateY=null})),g.render(),this.getMargins(),this.axes.forEach(function(a){a.render();e.placed||(a.setScale(),a.updateNames(),b(a.ticks,function(a){a.isNew=!0;a.isNewLabel=!0}))}),e.placed=!0,this.getMargins(),a.call(this,c,d),g.bubbleLegend.correctSizes(),g.retranslateItems(g.getLinesHeights())):(a.call(this,c,d),g&&g.options.enabled&&g.bubbleLegend&&
+(g.render(),g.retranslateItems(g.getLinesHeights())))})})(z);(function(a){var p=a.arrayMax,h=a.arrayMin,n=a.Axis,r=a.color,e=a.isNumber,t=a.noop,y=a.pick,d=a.pInt,b=a.Point,f=a.Series,u=a.seriesType,q=a.seriesTypes;u("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},
+tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,isBubble:!0,pointAttribs:function(a,b){var c=this.options.marker.fillOpacity;a=f.prototype.pointAttribs.call(this,a,b);1!==c&&(a.fill=r(a.fill).setOpacity(c).get("rgba"));return a},getRadii:function(a,b,g){var c,d=this.zData,f=g.minPxSize,
+e=g.maxPxSize,l=[],h;c=0;for(g=d.length;c<g;c++)h=d[c],l.push(this.getRadius(a,b,f,e,h));this.radii=l},getRadius:function(a,b,d,f,k){var c=this.options,g="width"!==c.sizeBy,l=c.zThreshold,h=b-a;c.sizeByAbsoluteValue&&null!==k&&(k=Math.abs(k-l),h=Math.max(b-l,Math.abs(a-l)),a=0);e(k)?k<a?d=d/2-1:(a=0<h?(k-a)/h:.5,g&&0<=a&&(a=Math.sqrt(a)),d=Math.ceil(d+a*(f-d))/2):d=null;return d},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(this.points.forEach(function(a){var c=a.graphic,
+b;c&&c.width&&(b={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:a.plotX,y:a.plotY,width:1,height:1}),c.animate(b,this.options.animation))},this),this.animate=null)},translate:function(){var c,b=this.data,d,f,k=this.radii;q.scatter.prototype.translate.call(this);for(c=b.length;c--;)d=b[c],f=k?k[c]:0,e(f)&&f>=this.minPxSize/2?(d.marker=a.extend(d.marker,{radius:f,width:2*f,height:2*f}),d.dlBox={x:d.plotX-f,y:d.plotY-f,width:2*f,height:2*f}):d.shapeArgs=d.plotY=d.dlBox=void 0},alignDataLabel:q.column.prototype.alignDataLabel,
+buildKDTree:t,applyZones:t},{haloPath:function(a){return b.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});n.prototype.beforePadding=function(){var c=this,b=this.len,f=this.chart,u=0,k=b,q=this.isXAxis,n=q?"xData":"yData",r=this.min,t={},z=Math.min(f.plotWidth,f.plotHeight),C=Number.MAX_VALUE,D=-Number.MAX_VALUE,E=this.max-r,B=b/E,F=[];this.series.forEach(function(b){var g=b.options;!b.bubblePadding||!b.visible&&f.options.chart.ignoreHiddenSeries||(c.allowZoomOutside=
+!0,F.push(b),q&&(["minSize","maxSize"].forEach(function(a){var c=g[a],b=/%$/.test(c),c=d(c);t[a]=b?z*c/100:c}),b.minPxSize=t.minSize,b.maxPxSize=Math.max(t.maxSize,t.minSize),b=b.zData.filter(a.isNumber),b.length&&(C=y(g.zMin,Math.min(C,Math.max(h(b),!1===g.displayNegative?g.zThreshold:-Number.MAX_VALUE))),D=y(g.zMax,Math.max(D,p(b))))))});F.forEach(function(a){var b=a[n],d=b.length,f;q&&a.getRadii(C,D,a);if(0<E)for(;d--;)e(b[d])&&c.dataMin<=b[d]&&b[d]<=c.dataMax&&(f=a.radii[d],u=Math.min((b[d]-r)*
+B-f,u),k=Math.max((b[d]-r)*B+f,k))});F.length&&0<E&&!this.isLog&&(k-=b,B*=(b+Math.max(0,u)-Math.min(k,b))/b,[["min","userMin",u],["max","userMax",k]].forEach(function(a){void 0===y(c.options[a[0]],c[a[1]])&&(c[a[0]]+=a[2]/B)}))}})(z);(function(a){var p=a.merge,h=a.Point,n=a.seriesType,r=a.seriesTypes;r.bubble&&n("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:r.map.prototype.getMapData,getBox:r.map.prototype.getBox,
+setData:r.map.prototype.setData},{applyOptions:function(a,n){return a&&void 0!==a.lat&&void 0!==a.lon?h.prototype.applyOptions.call(this,p(a,this.series.chart.fromLatLonToPoint(a)),n):r.map.prototype.pointClass.prototype.applyOptions.call(this,a,n)},isValid:function(){return"number"===typeof this.z},ttBelow:!1})})(z);(function(a){var p=a.colorPointMixin,h=a.merge,n=a.noop,r=a.pick,e=a.Series,t=a.seriesType,y=a.seriesTypes;t("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},
+inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{hover:{halo:!1,brightness:.2}}},h(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;y.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=r(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=
+this.options,b=this.xAxis,f=this.yAxis,e=a.pointPadding||0,h=function(a,b,d){return Math.min(Math.max(b,a),d)};this.generatePoints();this.points.forEach(function(c){var d=(a.colsize||1)/2,g=(a.rowsize||1)/2,u=h(Math.round(b.len-b.translate(c.x-d,0,1,0,1)),-b.len,2*b.len),d=h(Math.round(b.len-b.translate(c.x+d,0,1,0,1)),-b.len,2*b.len),k=h(Math.round(f.translate(c.y-g,0,1,0,1)),-f.len,2*f.len),g=h(Math.round(f.translate(c.y+g,0,1,0,1)),-f.len,2*f.len),q=r(c.pointPadding,e);c.plotX=c.clientX=(u+d)/
+2;c.plotY=(k+g)/2;c.shapeType="rect";c.shapeArgs={x:Math.min(u,d)+q,y:Math.min(k,g)+q,width:Math.abs(d-u)-2*q,height:Math.abs(g-k)-2*q}});this.translateColors()},drawPoints:function(){var a=this.chart.styledMode?"css":"attr";y.column.prototype.drawPoints.call(this);this.points.forEach(function(b){b.graphic[a](this.colorAttribs(b))},this)},animate:n,getBox:n,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:y.column.prototype.alignDataLabel,getExtremes:function(){e.prototype.getExtremes.call(this,
+this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;e.prototype.getExtremes.call(this)}}),a.extend({haloPath:function(a){if(!a)return[];var b=this.shapeArgs;return["M",b.x-a,b.y-a,"L",b.x-a,b.y+b.height+a,b.x+b.width+a,b.y+b.height+a,b.x+b.width+a,b.y-a,"Z"]}},p))})(z);(function(a){function p(a,b){var d,e,h,c=!1,l=a.x,g=a.y;a=0;for(d=b.length-1;a<b.length;d=a++)e=b[a][1]>g,h=b[d][1]>g,e!==h&&l<(b[d][0]-b[a][0])*(g-b[a][1])/(b[d][1]-b[a][1])+b[a][0]&&(c=!c);return c}var h=a.Chart,
+n=a.extend,r=a.format,e=a.merge,t=a.win,y=a.wrap;h.prototype.transformFromLatLon=function(d,b){if(void 0===t.proj4)return a.error(21,!1,this),{x:0,y:null};d=t.proj4(b.crs,[d.lon,d.lat]);var f=b.cosAngle||b.rotation&&Math.cos(b.rotation),e=b.sinAngle||b.rotation&&Math.sin(b.rotation);d=b.rotation?[d[0]*f+d[1]*e,-d[0]*e+d[1]*f]:d;return{x:((d[0]-(b.xoffset||0))*(b.scale||1)+(b.xpan||0))*(b.jsonres||1)+(b.jsonmarginX||0),y:(((b.yoffset||0)-d[1])*(b.scale||1)+(b.ypan||0))*(b.jsonres||1)-(b.jsonmarginY||
+0)}};h.prototype.transformToLatLon=function(d,b){if(void 0===t.proj4)a.error(21,!1,this);else{d={x:((d.x-(b.jsonmarginX||0))/(b.jsonres||1)-(b.xpan||0))/(b.scale||1)+(b.xoffset||0),y:((-d.y-(b.jsonmarginY||0))/(b.jsonres||1)+(b.ypan||0))/(b.scale||1)+(b.yoffset||0)};var f=b.cosAngle||b.rotation&&Math.cos(b.rotation),e=b.sinAngle||b.rotation&&Math.sin(b.rotation);b=t.proj4(b.crs,"WGS84",b.rotation?{x:d.x*f+d.y*-e,y:d.x*e+d.y*f}:d);return{lat:b.y,lon:b.x}}};h.prototype.fromPointToLatLon=function(d){var b=
+this.mapTransforms,f;if(b){for(f in b)if(b.hasOwnProperty(f)&&b[f].hitZone&&p({x:d.x,y:-d.y},b[f].hitZone.coordinates[0]))return this.transformToLatLon(d,b[f]);return this.transformToLatLon(d,b["default"])}a.error(22,!1,this)};h.prototype.fromLatLonToPoint=function(d){var b=this.mapTransforms,f,e;if(!b)return a.error(22,!1,this),{x:0,y:null};for(f in b)if(b.hasOwnProperty(f)&&b[f].hitZone&&(e=this.transformFromLatLon(d,b[f]),p({x:e.x,y:-e.y},b[f].hitZone.coordinates[0])))return e;return this.transformFromLatLon(d,
+b["default"])};a.geojson=function(a,b,f){var d=[],e=[],c=function(a){var c,b=a.length;e.push("M");for(c=0;c<b;c++)1===c&&e.push("L"),e.push(a[c][0],-a[c][1])};b=b||"map";a.features.forEach(function(a){var f=a.geometry,h=f.type,f=f.coordinates;a=a.properties;var k;e=[];"map"===b||"mapbubble"===b?("Polygon"===h?(f.forEach(c),e.push("Z")):"MultiPolygon"===h&&(f.forEach(function(a){a.forEach(c)}),e.push("Z")),e.length&&(k={path:e})):"mapline"===b?("LineString"===h?c(f):"MultiLineString"===h&&f.forEach(c),
+e.length&&(k={path:e})):"mappoint"===b&&"Point"===h&&(k={x:f[0],y:-f[1]});k&&d.push(n(k,{name:a.name||a.NAME,properties:a}))});f&&a.copyrightShort&&(f.chart.mapCredits=r(f.chart.options.credits.mapText,{geojson:a}),f.chart.mapCreditsFull=r(f.chart.options.credits.mapTextFull,{geojson:a}));return d};y(h.prototype,"addCredits",function(a,b){b=e(!0,this.options.credits,b);this.mapCredits&&(b.href=null);a.call(this,b);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(z);
+(function(a){function p(a,b,d,c,e,g,h,k){return["M",a+e,b,"L",a+d-g,b,"C",a+d-g/2,b,a+d,b+g/2,a+d,b+g,"L",a+d,b+c-h,"C",a+d,b+c-h/2,a+d-h/2,b+c,a+d-h,b+c,"L",a+k,b+c,"C",a+k/2,b+c,a,b+c-k/2,a,b+c-k,"L",a,b+e,"C",a,b+e/2,a+e/2,b,a+e,b,"Z"]}var h=a.Chart,n=a.defaultOptions,r=a.extend,e=a.merge,t=a.pick,y=a.Renderer,d=a.SVGRenderer,b=a.VMLRenderer;r(n.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});n.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,
+padding:5,style:{fontSize:"15px",fontWeight:"bold"},theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var b;a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(b=0;b<a.length;b++)/[a-zA-Z]/.test(a[b])||(a[b]=parseFloat(a[b]));return a};a.maps={};d.prototype.symbols.topbutton=
+function(a,b,d,c,e){return p(a-1,b-1,d,c,e.r,e.r,0,0)};d.prototype.symbols.bottombutton=function(a,b,d,c,e){return p(a-1,b-1,d,c,0,0,e.r,e.r)};y===b&&["topbutton","bottombutton"].forEach(function(a){b.prototype.symbols[a]=d.prototype.symbols[a]});a.Map=a.mapChart=function(b,d,p){var c="string"===typeof b||b.nodeName,f=arguments[c?1:0],g=f,n={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},k,m=a.getOptions().credits;k=f.series;f.series=null;f=e({chart:{panning:"xy",type:"map"},credits:{mapText:t(m.mapText,
+' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:t(m.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:n,yAxis:e(n,{reversed:!0})},f,{chart:{inverted:!1,alignTicks:!1}});f.series=g.series=k;return c?new h(b,f,p):new h(f,d)}})(z)});
+//# sourceMappingURL=map.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Annotations module
+
+ (c) 2009-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(l){"object"===typeof module&&module.exports?module.exports=l:"function"===typeof define&&define.amd?define(function(){return l}):l("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(l){var B=function(a){return{addEvents:function(){var f=this;a.addEvent(f.graphic.element,"mousedown",function(d){f.onMouseDown(d)});a.objectEach(f.options.events,function(d,b){var c=function(c){"click"===b&&f.cancelClick||d.call(f,f.chart.pointer.normalize(c),f.target)};if("drag"!==b)f.graphic.on(b,
+c);else a.addEvent(f,"drag",c)});f.options.draggable&&(a.addEvent(f,"drag",f.onDrag),f.graphic.renderer.styledMode||f.graphic.css({cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[f.options.draggable]}))},removeDocEvents:function(){this.removeDrag&&(this.removeDrag=this.removeDrag());this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())},onMouseDown:function(f){var d=this,b=d.chart.pointer,c,h;2!==f.button&&(f.stopPropagation(),f=b.normalize(f),c=f.chartX,h=f.chartY,d.cancelClick=!1,d.removeDrag=
+a.addEvent(a.doc,"mousemove",function(p){d.hasDragged=!0;p=b.normalize(p);p.prevChartX=c;p.prevChartY=h;a.fireEvent(d,"drag",p);c=p.chartX;h=p.chartY}),d.removeMouseUp=a.addEvent(a.doc,"mouseup",function(c){d.cancelClick=d.hasDragged;d.hasDragged=!1;d.onMouseUp(c)}))},onMouseUp:function(){this.removeDocEvents()},onDrag:function(a){if(this.chart.isInsidePlot(a.chartX-this.chart.plotLeft,a.chartY-this.chart.plotTop)){var d=this.mouseMoveToTranslation(a);"x"===this.options.draggable&&(d.y=0);"y"===this.options.draggable&&
+(d.x=0);this.points.length?this.translate(d.x,d.y):(this.shapes.forEach(function(b){b.translate(d.x,d.y)}),this.labels.forEach(function(b){b.translate(d.x,d.y)}));this.redraw(!1)}},mouseMoveToRadians:function(a,d,b){var c=a.prevChartY-b,h=a.prevChartX-d;b=a.chartY-b;a=a.chartX-d;this.chart.inverted&&(d=h,h=c,c=d,d=a,a=b,b=d);return Math.atan2(b,a)-Math.atan2(c,h)},mouseMoveToTranslation:function(a){var d=a.chartX-a.prevChartX;a=a.chartY-a.prevChartY;var b;this.chart.inverted&&(b=a,a=d,d=b);return{x:d,
+y:a}},mouseMoveToScale:function(a,d,b){d=(a.chartX-d||1)/(a.prevChartX-d||1);a=(a.chartY-b||1)/(a.prevChartY-b||1);this.chart.inverted&&(b=a,a=d,d=b);return{x:d,y:a}},destroy:function(){this.removeDocEvents();a.removeEvent(this);this.hcEvents=null}}}(l),C=function(a,f){function d(b,c,h,d){this.chart=b;this.target=c;this.options=h;this.index=a.pick(h.index,d)}a.extend(d.prototype,f);d.prototype.setVisibility=function(b){this.graphic.attr("visibility",b?"visible":"hidden");this.options.visible=b};d.prototype.render=
+function(){var b=this.chart,c=this.options;this.graphic=b.renderer.symbol(c.symbol,0,0,c.width,c.height).add(b.controlPointsGroup).css(c.style);this.setVisibility(c.visible);this.addEvents()};d.prototype.redraw=function(b){this.graphic[b?"animate":"attr"](this.options.positioner.call(this,this.target))};d.prototype.destroy=function(){f.destroy.call(this);this.graphic&&(this.graphic=this.graphic.destroy());this.options=this.target=this.chart=null};d.prototype.update=function(b){var c=this.chart,h=
+this.target,d=this.index;b=a.merge(!0,this.options,b);this.destroy();this.constructor(c,h,b,d);this.render(c.controlPointsGroup);this.redraw()};return d}(l,B),z=function(a){function f(d,b,c){this.series={visible:!0,chart:d,getPlotBox:a.Series.prototype.getPlotBox};this.target=b||null;this.options=c;this.applyOptions(this.getOptions())}f.fromPoint=function(a){return new f(a.series.chart,null,{x:a.x,y:a.y,xAxis:a.series.xAxis,yAxis:a.series.yAxis})};f.pointToPixels=function(a,b){var c=a.series,h=c.chart,
+d=a.plotX,g=a.plotY;h.inverted&&(a.mock?(d=a.plotY,g=a.plotX):(d=h.plotWidth-a.plotY,g=h.plotHeight-a.plotX));c&&!b&&(a=c.getPlotBox(),d+=a.translateX,g+=a.translateY);return{x:d,y:g}};f.pointToOptions=function(a){return{x:a.x,y:a.y,xAxis:a.series.xAxis,yAxis:a.series.yAxis}};a.extend(f.prototype,{mock:!0,hasDynamicOptions:function(){return"function"===typeof this.options},getOptions:function(){return this.hasDynamicOptions()?this.options.call(this,this.target):this.options},applyOptions:function(a){this.command=
+a.command;this.setAxis(a,"x");this.setAxis(a,"y");this.refresh()},setAxis:function(d,b){b+="Axis";d=d[b];var c=this.series.chart;this.series[b]=d instanceof a.Axis?d:a.defined(d)?c[b][d]||c.get(d):null},toAnchor:function(){var a=[this.plotX,this.plotY,0,0];this.series.chart.inverted&&(a[0]=this.plotY,a[1]=this.plotX);return a},getLabelConfig:function(){return{x:this.x,y:this.y,point:this}},isInsidePane:function(){var d=this.plotX,b=this.plotY,c=this.series.xAxis,h=this.series.yAxis,p=!0;c&&(p=a.defined(d)&&
+0<=d&&d<=c.len);h&&(p=p&&a.defined(b)&&0<=b&&b<=h.len);return p},refresh:function(){var a=this.series,b=a.xAxis,a=a.yAxis,c=this.getOptions();b?(this.x=c.x,this.plotX=b.toPixels(c.x,!0)):(this.x=null,this.plotX=c.x);a?(this.y=c.y,this.plotY=a.toPixels(c.y,!0)):(this.y=null,this.plotY=c.y);this.isInside=this.isInsidePane()},translate:function(a,b,c,h){this.hasDynamicOptions()||(this.plotX+=c,this.plotY+=h,this.refreshOptions())},scale:function(a,b,c,h){if(!this.hasDynamicOptions()){var d=this.plotY*
+h;this.plotX=(1-c)*a+this.plotX*c;this.plotY=(1-h)*b+d;this.refreshOptions()}},rotate:function(a,b,c){if(!this.hasDynamicOptions()){var h=Math.cos(c);c=Math.sin(c);var d=this.plotX,g=this.plotY,d=d-a,g=g-b;this.plotX=d*h-g*c+a;this.plotY=d*c+g*h+b;this.refreshOptions()}},refreshOptions:function(){var a=this.series,b=a.xAxis,a=a.yAxis;this.x=this.options.x=b?this.options.x=b.toValue(this.plotX,!0):this.plotX;this.y=this.options.y=a?a.toValue(this.plotY,!0):this.plotY}});return f}(l),u=function(a,f,
+d){return{init:function(a,c){this.annotation=a;this.chart=a.chart;this.options=c;this.points=[];this.controlPoints=[];this.linkPoints();this.addControlPoints()},attr:function(){this.graphic.attr.apply(this.graphic,arguments)},getPointsOptions:function(){var b=this.options;return b.points||b.point&&a.splat(b.point)},attrsFromOptions:function(a){var c=this.constructor.attrsMap,b={},d,g,f=this.chart.styledMode;for(d in a)g=c[d],!g||f&&-1!==["fill","stroke","stroke-width"].indexOf(g)||(b[g]=a[d]);return b},
+anchor:function(b){var c=b.series.getPlotBox();b=b.mock?b.toAnchor():a.Tooltip.prototype.getAnchor.call({chart:b.series.chart},b);b={x:b[0]+(this.options.x||0),y:b[1]+(this.options.y||0),height:b[2]||0,width:b[3]||0};return{relativePosition:b,absolutePosition:a.merge(b,{x:b.x+c.translateX,y:b.y+c.translateY})}},point:function(b,c){if(b&&b.series)return b;c&&null!==c.series||(a.isObject(b)?c=new d(this.chart,this,b):a.isString(b)?c=this.chart.get(b)||null:"function"===typeof b&&(c=b.call(c,this),c=
+c.series?c:new d(this.chart,this,b)));return c},linkPoints:function(){var a=this.getPointsOptions(),c=this.points,h=a&&a.length||0,d,g;for(d=0;d<h;d++){g=this.point(a[d],c[d]);if(!g){c.length=0;return}g.mock&&g.refresh();c[d]=g}return c},addControlPoints:function(){var b=this.options.controlPoints;(b||[]).forEach(function(c,h){c=a.merge(this.options.controlPointOptions,c);c.index||(c.index=h);b[h]=c;this.controlPoints.push(new f(this.chart,this,c))},this)},shouldBeDrawn:function(){return!!this.points.length},
+render:function(){this.controlPoints.forEach(function(a){a.render()})},redraw:function(a){this.controlPoints.forEach(function(c){c.redraw(a)})},transform:function(a,c,h,d,g){if(this.chart.inverted){var b=c;c=h;h=b}this.points.forEach(function(b,k){this.transformPoint(a,c,h,d,g,k)},this)},transformPoint:function(a,c,h,p,g,f){var b=this.points[f];b.mock||(b=this.points[f]=d.fromPoint(b));b[a](c,h,p,g)},translate:function(a,c){this.transform("translate",null,null,a,c)},translatePoint:function(a,c,h){this.transformPoint("translate",
+null,null,a,c,h)},rotate:function(a,c,h){this.transform("rotate",a,c,h)},scale:function(a,c,h,d){this.transform("scale",a,c,h,d)},setControlPointsVisibility:function(a){this.controlPoints.forEach(function(c){c.setVisibility(a)})},destroy:function(){this.graphic&&(this.graphic=this.graphic.destroy());this.tracker&&(this.tracker=this.tracker.destroy());this.controlPoints.forEach(function(a){a.destroy()});this.options=this.controlPoints=this.points=this.chart=null;this.annotation&&(this.annotation=null)},
+update:function(b){var c=this.annotation;b=a.merge(!0,this.options,b);var h=this.graphic.parentGroup;this.destroy();this.constructor(c,b);this.render(h);this.redraw()}}}(l,C,z),v=function(a){var f={arrow:{tagName:"marker",render:!1,id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10,children:[{tagName:"path",d:"M 0 0 L 10 5 L 0 10 Z",strokeWidth:0}]},"reverse-arrow":{tagName:"marker",render:!1,id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10,children:[{tagName:"path",d:"M 0 5 L 10 0 L 10 10 Z",
+strokeWidth:0}]}};a.SVGRenderer.prototype.addMarker=function(b,c){var h={id:b},d={stroke:c.color||"none",fill:c.color||"rgba(0, 0, 0, 0.75)"};h.children=c.children.map(function(c){return a.merge(d,c)});c=this.definition(a.merge(!0,{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"},c,h));c.id=b;return c};var d=function(a){return function(c){this.attr(a,"url(#"+c+")")}},d={markerEndSetter:d("marker-end"),markerStartSetter:d("marker-start"),setItemMarkers:function(b){var c=b.options,h=b.chart,
+d=h.options.defs,g=c.fill,f=a.defined(g)&&"none"!==g?g:c.stroke;["markerStart","markerEnd"].forEach(function(g){var k=c[g],e,m,q;if(k){for(q in d)if(e=d[q],k===e.id&&"marker"===e.tagName){m=e;break}m&&(k=b[g]=h.renderer.addMarker((c.id||a.uniqueKey())+"-"+m.id,a.merge(m,{color:f})),b.attr(g,k.attr("id")))}})}};a.SVGRenderer.prototype.definition=function(b){function c(b,d){var g;a.splat(b).forEach(function(b){var k=h.createElement(b.tagName),e={};a.objectEach(b,function(a,c){"tagName"!==c&&"children"!==
+c&&"textContent"!==c&&(e[c]=a)});k.attr(e);k.add(d||h.defs);b.textContent&&k.element.appendChild(a.doc.createTextNode(b.textContent));c(b.children||[],k);g=k});return g}var h=this;return c(b)};a.addEvent(a.Chart,"afterGetContainer",function(){this.options.defs=a.merge(f,this.options.defs||{});a.objectEach(this.options.defs,function(a){"marker"===a.tagName&&!1!==a.render&&this.renderer.addMarker(a.id,a)},this)});return d}(l),v=function(a,f,d){function b(a,c){this.init(a,c)}var c="rgba(192,192,192,"+
+(a.svg?.0001:.002)+")";b.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"};a.merge(!0,b.prototype,f,{type:"path",setMarkers:d.setItemMarkers,toD:function(){var a=this.options.d;if(a)return"function"===typeof a?a.call(this):a;for(var c=this.points,b=c.length,d=b,f=c[0],k=d&&this.anchor(f).absolutePosition,e=0,m=2,a=k&&["M",k.x,k.y];++e<b&&d;)f=c[e],d=f.command||"L",k=this.anchor(f).absolutePosition,"Z"===d?a[++m]=d:(d!==c[e-1].command&&(a[++m]=
+d),a[++m]=k.x,a[++m]=k.y),d=f.series.visible;return d?this.chart.renderer.crispLine(a,this.graphic.strokeWidth()):null},shouldBeDrawn:function(){return f.shouldBeDrawn.call(this)||!!this.options.d},render:function(b){var h=this.options,g=this.attrsFromOptions(h);this.graphic=this.annotation.chart.renderer.path(["M",0,0]).attr(g).add(b);h.className&&this.graphic.addClass(h.className);this.tracker=this.annotation.chart.renderer.path(["M",0,0]).addClass("highcharts-tracker-line").attr({zIndex:2}).add(b);
+this.annotation.chart.styledMode||this.tracker.attr({"stroke-linejoin":"round",stroke:c,fill:c,"stroke-width":this.graphic.strokeWidth()+2*h.snap});f.render.call(this);a.extend(this.graphic,{markerStartSetter:d.markerStartSetter,markerEndSetter:d.markerEndSetter});this.setMarkers(this)},redraw:function(a){var c=this.toD(),b=a?"animate":"attr";c?(this.graphic[b]({d:c}),this.tracker[b]({d:c})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"}));this.graphic.placed=this.tracker.placed=
+!!c;f.redraw.call(this,a)}});return b}(l,u,v),F=function(a,f,d){function b(a,b){this.init(a,b)}b.attrsMap=a.merge(d.attrsMap,{width:"width",height:"height"});a.merge(!0,b.prototype,f,{type:"rect",render:function(a){var c=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9E9,0,0).attr(c).add(a);f.render.call(this)},redraw:function(a){var c=this.anchor(this.points[0]).absolutePosition;if(c)this.graphic[a?"animate":"attr"]({x:c.x,y:c.y,width:this.options.width,height:this.options.height});
+else this.attr({x:0,y:-9E9});this.graphic.placed=!!c;f.redraw.call(this,a)},translate:function(a,b){this.translatePoint(a,b,0)}});return b}(l,u,v),G=function(a,f,d){function b(a,b){this.init(a,b)}b.attrsMap=a.merge(d.attrsMap,{r:"r"});a.merge(!0,b.prototype,f,{type:"circle",render:function(a){var c=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.circle(0,-9E9,0).attr(c).add(a);f.render.call(this)},redraw:function(a){var c=this.anchor(this.points[0]).absolutePosition;
+if(c)this.graphic[a?"animate":"attr"]({x:c.x,y:c.y,r:this.options.r});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!c;f.redraw.call(this,a)},translate:function(a,b){this.translatePoint(a,b,0)},setRadius:function(a){this.options.r=a}});return b}(l,u,v),D=function(a,f,d){function b(a,b){this.init(a,b)}b.shapesWithoutBackground=["connector"];b.alignedPosition=function(a,b){var c=a.align,d=a.verticalAlign,h=(b.x||0)+(a.x||0),f=(b.y||0)+(a.y||0),k,e;"right"===c?k=1:"center"===c&&(k=2);k&&
+(h+=(b.width-(a.width||0))/k);"bottom"===d?e=1:"middle"===d&&(e=2);e&&(f+=(b.height-(a.height||0))/e);return{x:Math.round(h),y:Math.round(f)}};b.justifiedOptions=function(a,b,d,g){var c=d.align,h=d.verticalAlign,k=b.box?0:b.padding||0,e=b.getBBox();b={align:c,verticalAlign:h,x:d.x,y:d.y,width:b.width,height:b.height};d=g.x-a.plotLeft;var m=g.y-a.plotTop;g=d+k;0>g&&("right"===c?b.align="left":b.x=-g);g=d+e.width-k;g>a.plotWidth&&("left"===c?b.align="right":b.x=a.plotWidth-g);g=m+k;0>g&&("bottom"===
+h?b.verticalAlign="top":b.y=-g);g=m+e.height-k;g>a.plotHeight&&("top"===h?b.verticalAlign="bottom":b.y=a.plotHeight-g);return b};b.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"};a.merge(!0,b.prototype,f,{translatePoint:function(a,b){f.translatePoint.call(this,a,b,0)},translate:function(a,b){this.options.x+=a;this.options.y+=b},render:function(a){var c=this.options,d=this.attrsFromOptions(c),g=c.style;this.graphic=
+this.annotation.chart.renderer.label("",0,-9E9,c.shape,null,null,c.useHTML,null,"annotation-label").attr(d).add(a);this.annotation.chart.styledMode||("contrast"===g.color&&(g.color=this.annotation.chart.renderer.getContrast(-1<b.shapesWithoutBackground.indexOf(c.shape)?"#FFFFFF":c.backgroundColor)),this.graphic.css(c.style).shadow(c.shadow));c.className&&this.graphic.addClass(c.className);this.graphic.labelrank=c.labelrank;f.render.call(this)},redraw:function(c){var b=this.options,d=this.text||b.format||
+b.text,g=this.graphic,n=this.points[0];g.attr({text:d?a.format(d,n.getLabelConfig(),this.annotation.chart.time):b.formatter.call(n,this)});b=this.anchor(n);(d=this.position(b))?(g.alignAttr=d,d.anchorX=b.absolutePosition.x,d.anchorY=b.absolutePosition.y,g[c?"animate":"attr"](d)):g.attr({x:0,y:-9E9});g.placed=!!d;f.redraw.call(this,c)},anchor:function(){var a=f.anchor.apply(this,arguments),b=this.options.x||0,d=this.options.y||0;a.absolutePosition.x-=b;a.absolutePosition.y-=d;a.relativePosition.x-=
+b;a.relativePosition.y-=d;return a},position:function(c){var h=this.graphic,f=this.annotation.chart,g=this.points[0],n=this.options,l=c.absolutePosition,k=c.relativePosition,e;if(c=g.series.visible&&d.prototype.isInsidePane.call(g))n.distance?e=a.Tooltip.prototype.getPosition.call({chart:f,distance:a.pick(n.distance,16)},h.width,h.height,{plotX:k.x,plotY:k.y,negative:g.negative,ttBelow:g.ttBelow,h:k.height||k.width}):n.positioner?e=n.positioner.call(this):(g={x:l.x,y:l.y,width:0,height:0},e=b.alignedPosition(a.extend(n,
+{width:h.width,height:h.height}),g),"justify"===this.options.overflow&&(e=b.alignedPosition(b.justifiedOptions(f,h,n,e),g))),n.crop&&(n=e.x-f.plotLeft,g=e.y-f.plotTop,c=f.isInsidePlot(n,g)&&f.isInsidePlot(n+h.width,g+h.height));return c?e:null}});a.SVGRenderer.prototype.symbols.connector=function(b,d,f,g,n){var c=n&&n.anchorX;n=n&&n.anchorY;var k,e,m=f/2;a.isNumber(c)&&a.isNumber(n)&&(k=["M",c,n],e=d-n,0>e&&(e=-g-e),e<f&&(m=c<b+f/2?e:f-e),n>d+g?k.push("L",b+m,d+g):n<d?k.push("L",b+m,d):c<b?k.push("L",
+b,d+g/2):c>b+f&&k.push("L",b+f,d+g/2));return k||[]};return b}(l,u,z),H=function(a,f,d){function b(a,b){this.init(a,b)}b.attrsMap={width:"width",height:"height",zIndex:"zIndex"};a.merge(!0,b.prototype,f,{type:"image",render:function(a){var b=this.attrsFromOptions(this.options),c=this.options;this.graphic=this.annotation.chart.renderer.image(c.src,0,-9E9,c.width,c.height).attr(b).add(a);this.graphic.width=c.width;this.graphic.height=c.height;f.render.call(this)},redraw:function(a){var b=this.anchor(this.points[0]);
+if(b=d.prototype.position.call(this,b))this.graphic[a?"animate":"attr"]({x:b.x,y:b.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!b;f.redraw.call(this,a)},translate:function(a,b){this.translatePoint(a,b,0)}});return b}(l,u,D);(function(a,f,d,b,c,h,l,g,n,t){var k=a.merge,e=a.addEvent,m=a.defined,q=a.erase,w=a.find,A=a.isString,E=a.pick,y=a.reduce,p=a.splat,x=a.destroyObjectProperties,r=a.Annotation=function(a,b){var e;this.chart=a;this.points=[];this.controlPoints=[];this.coll="annotations";
+this.labels=[];this.shapes=[];this.options=b;this.userOptions=k(!0,{},b);e=this.getLabelsAndShapesOptions(this.userOptions,b);this.userOptions.labels=e.labels;this.userOptions.shapes=e.shapes;this.init(a,b)};k(!0,r.prototype,f,g,{defaultOptions:{visible:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"black",borderRadius:3,borderWidth:1,className:"",crop:!1,formatter:function(){return m(this.y)?this.y:"Annotation label"},overflow:"justify",
+padding:5,shadow:!1,shape:"callout",style:{fontSize:"11px",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{symbol:"circle",width:10,height:10,style:{stroke:"black","stroke-width":2,fill:"white"},visible:!1,events:{}},events:{},zIndex:6},init:function(){this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();this.addClipPaths();
+this.setLabelCollector()},getLabelsAndShapesOptions:function(a,b){var e={};["labels","shapes"].forEach(function(c){a[c]&&(e[c]=p(b[c]).map(function(b,e){return k(a[c][e],b)}))});return e},addShapes:function(){(this.options.shapes||[]).forEach(function(a,b){a=this.initShape(a);this.options.shapes[b]=a.options},this)},addLabels:function(){(this.options.labels||[]).forEach(function(a,b){a=this.initLabel(a);this.options.labels[b]=a.options},this)},addClipPaths:function(){this.setClipAxes();this.clipXAxis&&
+this.clipYAxis&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))},setClipAxes:function(){var a=this.chart.xAxis,b=this.chart.yAxis,e=y((this.options.labels||[]).concat(this.options.shapes||[]),function(e,c){return[a[c&&c.point&&c.point.xAxis]||e[0],b[c&&c.point&&c.point.yAxis]||e[1]]},[]);this.clipXAxis=e[0];this.clipYAxis=e[1]},getClipBox:function(){return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}},setLabelCollector:function(){var a=
+this;a.labelCollector=function(){return a.labels.reduce(function(a,b){b.options.allowOverlap||a.push(b.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)},setOptions:function(a){this.options=k(this.defaultOptions,a)},redraw:function(a){this.linkPoints();this.graphic||this.render();this.clipRect&&this.clipRect.animate(this.getClipBox());this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);f.redraw.call(this,a)},redrawItems:function(a,b){for(var e=a.length;e--;)this.redrawItem(a[e],
+b)},render:function(){var a=this.chart.renderer;this.graphic=a.g("annotation").attr({zIndex:this.options.zIndex,visibility:this.options.visible?"visible":"hidden"}).add();this.shapesGroup=a.g("annotation-shapes").add(this.graphic).clip(this.chart.plotBoxClip);this.labelsGroup=a.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic);this.clipRect&&this.graphic.clip(this.clipRect);this.addEvents();f.render.call(this)},setVisibility:function(a){var b=this.options;a=E(a,!b.visible);
+this.graphic.attr("visibility",a?"visible":"hidden");a||this.setControlPointsVisibility(!1);b.visible=a},setControlPointsVisibility:function(a){var b=function(b){b.setControlPointsVisibility(a)};f.setControlPointsVisibility.call(this,a);this.shapes.forEach(b);this.labels.forEach(b)},destroy:function(){var a=this.chart,b=function(a){a.destroy()};this.labels.forEach(b);this.shapes.forEach(b);this.clipYAxis=this.clipXAxis=null;q(a.labelCollectors,this.labelCollector);g.destroy.call(this);f.destroy.call(this);
+x(this,a)},remove:function(){return this.destroy()},update:function(b){var e=this.chart,c=this.getLabelsAndShapesOptions(this.userOptions,b);b=a.merge(!0,this.userOptions,b);b.labels=c.labels;b.shapes=c.shapes;this.destroy();this.constructor(e,b);this.redraw()},initShape:function(a){a=k(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},a);a=new r.shapesMap[a.type](this,a);a.itemType="shape";this.shapes.push(a);return a},initLabel:function(a){a=k(this.options.labelOptions,
+{controlPointOptions:this.options.controlPointOptions},a);a=new l(this,a);a.itemType="label";this.labels.push(a);return a},redrawItem:function(b,e){b.linkPoints();b.shouldBeDrawn()?(b.graphic||this.renderItem(b),b.redraw(a.pick(e,!0)&&b.graphic.placed),b.points.length&&this.adjustVisibility(b)):this.destroyItem(b)},adjustVisibility:function(a){var b=!1,e=a.graphic;a.points.forEach(function(a){!1!==a.series.visible&&!1!==a.visible&&(b=!0)});b?"hidden"===e.visibility&&e.show():e.hide()},destroyItem:function(a){q(this[a.itemType+
+"s"],a);a.destroy()},renderItem:function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)}});r.shapesMap={rect:d,circle:b,path:c,image:h};r.types={};r.MockPoint=n;r.ControlPoint=t;a.extendAnnotation=function(a,b,e,c){b=b||r;k(!0,a.prototype,b.prototype,e);a.prototype.defaultOptions=k(a.prototype.defaultOptions,c||{})};a.Chart.prototype.collectionsWithUpdate.push("annotations");a.extend(a.Chart.prototype,{initAnnotation:function(b){var e=r.types[b.type]||r;b=a.merge(e.prototype.defaultOptions,
+b);e=new e(this,b);this.annotations.push(e);return e},addAnnotation:function(a,b){a=this.initAnnotation(a);this.options.annotations.push(a.options);E(b,!0)&&a.redraw();return a},removeAnnotation:function(a){var b=this.annotations,e=A(a)?w(b,function(b){return b.options.id===a}):a;e&&(q(this.options.annotations,e.options),q(b,e),e.destroy())},drawAnnotations:function(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(a){a.redraw()})}});a.Chart.prototype.callbacks.push(function(a){a.annotations=
+[];a.options.annotations||(a.options.annotations=[]);a.plotBoxClip=this.renderer.clipRect(this.plotBox);a.controlPointsGroup=a.renderer.g("control-points").attr({zIndex:99}).clip(a.plotBoxClip).add();a.options.annotations.forEach(function(b,e){b=a.initAnnotation(b);a.options.annotations[e]=b.options});a.drawAnnotations();e(a,"redraw",a.drawAnnotations);e(a,"destroy",function(){a.plotBoxClip.destroy();a.controlPointsGroup.destroy()})})})(l,u,F,G,v,H,D,B,z,C);(function(a){function f(b){var e=b.prototype.defaultOptions.events&&
+b.prototype.defaultOptions.events.click;a.merge(!0,b.prototype.defaultOptions.events,{click:function(a){var b=this,c=b.chart.navigationBindings,d=c.activeAnnotation;e&&e.click.call(b,a);d!==b?(c.deselectAnnotation(),c.activeAnnotation=b,b.setControlPointsVisibility(!0),g(c,"showPopup",{annotation:b,formType:"annotation-toolbar",options:c.annotationToFields(b),onSubmit:function(a){var e={};"remove"===a.actionType?(c.activeAnnotation=!1,c.chart.removeAnnotation(b)):(c.fieldsToOptions(a.fields,e),c.deselectAnnotation(),
+a=e.typeOptions,"measure"===b.options.type&&(a.crosshairY.enabled=0!==a.crosshairY.strokeWidth,a.crosshairX.enabled=0!==a.crosshairX.strokeWidth),b.update(e))}})):(c.deselectAnnotation(),g(c,"closePopup"));a.activeAnnotation=!0}})}var d=a.doc,b=a.addEvent,c=a.pick,h=a.extend,l=a.isNumber,g=a.fireEvent,n=a.isArray,t=a.isObject,k=a.objectEach;a.NavigationBindings=function(a,b){this.chart=a;this.options=b;this.eventsToUnbind=[];this.container=d.getElementsByClassName(this.options.bindingsClassName)};
+a.NavigationBindings.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth",
+"stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[]};a.NavigationBindings.annotationsNonEditable={rectangle:["crosshairX","crosshairY","label"]};h(a.NavigationBindings.prototype,{initEvents:function(){var a=this,c=a.chart,d=a.container,f=a.options;a.boundClassNames={};k(f.bindings,
+function(b){a.boundClassNames[b.className]=b});[].forEach.call(d,function(e){a.eventsToUnbind.push(b(e,"click",function(b){var e=a.getButtonEvents(d,b);e&&a.bindingsButtonClick(e.button,e.events,b)}))});k(f.events||{},function(e,c){a.eventsToUnbind.push(b(a,c,e))});a.eventsToUnbind.push(b(c.container,"click",function(b){!c.cancelClick&&c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)&&a.bindingsChartClick(this,b)}));a.eventsToUnbind.push(b(c.container,"mousemove",function(b){a.bindingsContainerMouseMove(this,
+b)}))},bindingsButtonClick:function(a,b,c){var e=this.chart;this.selectedButtonElement&&(g(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&e.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1));this.selectedButton=b;this.selectedButtonElement=a;g(this,"selectButton",{button:a});b.init&&b.init.call(this,a,c);(b.start||b.steps)&&e.renderer.boxWrapper.addClass("highcharts-draw-mode")},
+bindingsChartClick:function(a,b){a=this.selectedButton;var c=this.chart.renderer.boxWrapper;this.activeAnnotation&&!b.activeAnnotation&&b.target.parentNode&&!b.target.closest(".highcharts-popup")&&(g(this,"closePopup"),this.deselectAnnotation());a&&a.start&&(this.nextEvent?(this.nextEvent.call(this,b,this.currentUserDetails),this.steps&&(this.stepIndex++,a.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=a.steps[this.stepIndex]:(g(this,"deselectButton",{button:this.selectedButtonElement}),
+c.removeClass("highcharts-draw-mode"),a.end&&a.end.call(this,b,this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null))):(this.currentUserDetails=a.start.call(this,b),a.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=a.steps[this.stepIndex]):(g(this,"deselectButton",{button:this.selectedButtonElement}),c.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,a.end&&a.end.call(this,b,this.currentUserDetails))))},bindingsContainerMouseMove:function(a,
+b){this.mouseMoveEvent&&this.mouseMoveEvent.call(this,b,this.currentUserDetails)},fieldsToOptions:function(a,b){k(a,function(a,e){var d=parseFloat(a),k=e.split("."),q=b,m=k.length-1;!l(d)||a.match(/px/g)||e.match(/format/g)||(a=d);""!==a&&"undefined"!==a&&k.forEach(function(b,e){var d=c(k[e+1],"");m===e?q[b]=a:(q[b]||(q[b]=d.match(/\d/g)?[]:{}),q=q[b])})});return b},deselectAnnotation:function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)},
+annotationToFields:function(b){function e(c,d,q,f){var m;q&&-1===l.indexOf(d)&&(0<=(q.indexOf&&q.indexOf(d))||q[d]||!0===q)&&(n(c)?(f[d]=[],c.forEach(function(a,b){t(a)?(f[d][b]={},k(a,function(a,c){e(a,c,g[d],f[d][b])})):e(a,0,g[d],f[d])})):t(c)?(m={},n(f)?(f.push(m),m[d]={},m=m[d]):f[d]=m,k(c,function(a,b){e(a,b,0===d?q:g[d],m)})):"format"===d?f[d]=[a.format(c,b.labels[0].points[0]).toString(),"text"]:n(f)?f.push([c,h(c)]):f[d]=[c,h(c)])}var d=b.options,f=a.NavigationBindings.annotationsEditable,
+g=f.nestedOptions,h=this.utils.getFieldType,y=c(d.type,d.shapes&&d.shapes[0]&&d.shapes[0].type,d.labels&&d.labels[0]&&d.labels[0].itemType,"label"),l=a.NavigationBindings.annotationsNonEditable[d.langKey]||[],p={langKey:d.langKey,type:y};k(d,function(a,b){"typeOptions"===b?(p[b]={},k(d[b],function(a,c){e(a,c,g,p[b],!0)})):e(a,b,f[y],p)});return p},getClickedClassNames:function(b,c){var e=c.target;c=[];for(var d;e&&((d=a.attr(e,"class"))&&(c=c.concat(d.split(" ").map(function(a){return[a,e]}))),e=
+e.parentNode,e!==b););return c},getButtonEvents:function(a,b){var c=this,e;this.getClickedClassNames(a,b).forEach(function(a){c.boundClassNames[a[0]]&&!e&&(e={events:c.boundClassNames[a[0]],button:a[1]})});return e},update:function(){this.removeEvents();this.initEvents()},removeEvents:function(){this.eventsToUnbind.forEach(function(a){a()})},destroy:function(){this.removeEvents()},utils:{updateRectSize:function(a,b){var c=b.options.typeOptions,e=this.chart.xAxis[0].toPixels(c.point.x),c=this.chart.yAxis[0].toPixels(c.point.y);
+b.update({typeOptions:{background:{width:a.chartX-e+"px",height:a.chartY-c+"px"}}})},getFieldType:function(a){return{string:"text",number:"number","boolean":"checkbox"}[typeof a]}}});b(a.Chart,"load",function(){var b=this.options;b&&b.navigation&&b.navigation.bindings&&(this.navigationBindings=new a.NavigationBindings(this,b.navigation),this.navigationBindings.initEvents())});b(a.Chart,"destroy",function(){this.navigationBindings&&this.navigationBindings.destroy()});b(a.NavigationBindings,"deselectButton",
+function(){this.selectedButtonElement=null});a.Annotation&&(f(a.Annotation),a.objectEach(a.Annotation.types,function(a){f(a)}));a.setOptions({lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",
+borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-wrapper",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(b){var c=this.chart.xAxis[0].toValue(b.chartX);b=this.chart.yAxis[0].toValue(b.chartY);return this.chart.addAnnotation({langKey:"circle",shapes:[{type:"circle",point:{xAxis:0,
+yAxis:0,x:c,y:b},r:5,controlPoints:[{positioner:function(b){var c=a.Annotation.MockPoint.pointToPixels(b.points[0]);b=b.options.r;return{x:c.x+b*Math.cos(Math.PI/4)-this.graphic.width/2,y:c.y+b*Math.sin(Math.PI/4)-this.graphic.height/2}},events:{drag:function(a,b){a=this.mouseMoveToTranslation(a);b.setRadius(Math.max(b.options.r+a.y/Math.sin(Math.PI/4),5));b.redraw(!1)}}}]}]})},steps:[function(a,b){var c=b.options.shapes[0].point,d=this.chart.xAxis[0].toPixels(c.x),c=this.chart.yAxis[0].toPixels(c.y);
+b.update({shapes:[{r:Math.max(Math.sqrt(Math.pow(d-a.chartX,2)+Math.pow(c-a.chartY,2)),5)}]})}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(b){var c=this.chart.xAxis[0].toValue(b.chartX);b=this.chart.yAxis[0].toValue(b.chartY);return this.chart.addAnnotation({langKey:"rectangle",shapes:[{type:"rect",point:{x:c,y:b,xAxis:0,yAxis:0},width:5,height:5,controlPoints:[{positioner:function(b){var c=a.Annotation.MockPoint.pointToPixels(b.points[0]);return{x:c.x+b.options.width-
+4,y:c.y+b.options.height-4}},events:{drag:function(a,b){a=this.mouseMoveToTranslation(a);b.options.width=Math.max(b.options.width+a.x,5);b.options.height=Math.max(b.options.height+a.y,5);b.redraw(!1)}}}]}]})},steps:[function(a,b){var c=this.chart.yAxis[0],d=b.options.shapes[0].point,e=this.chart.xAxis[0].toPixels(d.x),c=c.toPixels(d.y);b.update({shapes:[{width:Math.max(a.chartX-e,5),height:Math.max(a.chartY-c,5),point:{x:d.x,y:d.y}}]})}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(b){var c=
+this.chart.xAxis[0].toValue(b.chartX);b=this.chart.yAxis[0].toValue(b.chartY);this.chart.addAnnotation({langKey:"label",labelOptions:{format:"{y:.2f}"},labels:[{point:{x:c,y:b,xAxis:0,yAxis:0},controlPoints:[{symbol:"triangle-down",positioner:function(b){if(!b.graphic.placed)return{x:0,y:-9E7};b=a.Annotation.MockPoint.pointToPixels(b.points[0]);return{x:b.x-this.graphic.width/2,y:b.y-this.graphic.height/2}},events:{drag:function(a,b){a=this.mouseMoveToTranslation(a);b.translatePoint(a.x,a.y);b.redraw(!1)}}},
+{symbol:"square",positioner:function(a){return a.graphic.placed?{x:a.graphic.alignAttr.x-this.graphic.width/2,y:a.graphic.alignAttr.y-this.graphic.height/2}:{x:0,y:-9E7}},events:{drag:function(a,b){a=this.mouseMoveToTranslation(a);b.translate(a.x,a.y);b.redraw(!1)}}}],overflow:"none",crop:!0}]})}}},events:{}}})})(l);(function(a){var f=a.addEvent,d=a.createElement,b=a.objectEach,c=a.pick,h=a.wrap,l=a.isString,g=a.isObject,n=a.isArray,t=/\d/g;h(a.Pointer.prototype,"onContainerMouseDown",function(a,
+b){var c=b.target&&b.target.className;l(c)&&0<=c.indexOf("highcharts-popup-field")||a.apply(this,Array.prototype.slice.call(arguments,1))});a.Popup=function(a){this.init(a)};a.Popup.prototype={init:function(a){this.container=d("div",{className:"highcharts-popup"},null,a);this.lang=this.getLangpack();this.addCloseBtn.call(this)},addCloseBtn:function(){var a=this,b;b=d("div",{className:"highcharts-popup-close"},null,this.container);f(b,"click",function(){a.closePopup.call(a)})},addColsContainer:function(a){var b;
+b=d("div",{className:"highcharts-popup-lhs-col"},null,a);a=d("div",{className:"highcharts-popup-rhs-col"},null,a);d("div",{className:"highcharts-popup-rhs-col-wrapper"},null,a);return{lhsCol:b,rhsCol:a}},addInput:function(a,b,c,f){var e=a.split("."),e=e[e.length-1],k=this.lang;b="highcharts-"+b+"-"+e;b.match(t)||d("label",{innerHTML:k[e]||e,htmlFor:b},null,c);d("input",{name:b,value:f[0],type:f[1],className:"highcharts-popup-field"},null,c).setAttribute("highcharts-data-name",a)},addButton:function(a,
+b,c,g,h){var e=this,k=this.closePopup,m=this.getFields;a=d("button",{innerHTML:b},null,a);f(a,"click",function(){k.call(e);return g(m(h,c))});return a},getFields:function(a,b){var c=a.querySelectorAll("input"),d=a.querySelectorAll("#highcharts-select-series \x3e option:checked")[0];a=a.querySelectorAll("#highcharts-select-volume \x3e option:checked")[0];var e,k,f;f={actionType:b,linkedTo:d&&d.getAttribute("value"),fields:{}};c.forEach(function(a){k=a.getAttribute("highcharts-data-name");(e=a.getAttribute("highcharts-data-series-id"))?
+f.seriesId=a.value:k?f.fields[k]=a.value:f.type=a.value});a&&(f.fields["params.volumeSeriesID"]=a.getAttribute("value"));return f},showPopup:function(){var a=this.container,b=a.querySelectorAll(".highcharts-popup-close")[0];a.innerHTML="";0<=a.className.indexOf("highcharts-annotation-toolbar")&&(a.classList.remove("highcharts-annotation-toolbar"),a.removeAttribute("style"));a.appendChild(b);a.style.display="block"},closePopup:function(){this.popup.container.style.display="none"},showForm:function(a,
+b,c,d){this.popup=b.navigationBindings.popup;this.showPopup();"indicators"===a&&this.indicators.addForm.call(this,b,c,d);"annotation-toolbar"===a&&this.annotations.addToolbar.call(this,b,c,d);"annotation-edit"===a&&this.annotations.addForm.call(this,b,c,d);"flag"===a&&this.annotations.addForm.call(this,b,c,d,!0)},getLangpack:function(){return a.getOptions().lang.navigation.popup},annotations:{addToolbar:function(a,b,f){var e=this,k=this.lang,g=this.popup.container,h=this.showForm,m;-1===g.className.indexOf("highcharts-annotation-toolbar")&&
+(g.className+=" highcharts-annotation-toolbar");g.style.top=a.plotTop+10+"px";d("span",{innerHTML:c(k[b.langKey]||b.langKey,b.shapes&&b.shapes[0].type)},null,g);m=this.addButton.call(this,g,k.removeButton||"remove","remove",f,g);m.className+=" highcharts-annotation-remove-button";m=this.addButton.call(this,g,k.editButton||"edit","edit",function(){h.call(e,"annotation-edit",a,b,f)},g);m.className+=" highcharts-annotation-edit-button"},addForm:function(a,b,c,f){var e=this.popup.container,k=this.lang,
+g,h;d("h2",{innerHTML:k[b.langKey]||b.langKey,className:"highcharts-popup-main-title"},null,e);h=d("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},null,e);g=d("div",{className:"highcharts-popup-bottom-row"},null,e);this.annotations.addFormFields.call(this,h,a,"",b,[],!0);this.addButton.call(this,g,f?k.addButton||"add":k.saveButton||"save",f?"add":"save",c,e)},addFormFields:function(a,c,f,h,l,A){var e=this,k=this.annotations.addFormFields,m=this.addInput,q=this.lang,p,w;b(h,
+function(b,d){p=""!==f?f+"."+d:d;g(b)&&(!n(b)||n(b)&&g(b[0])?(w=q[d]||d,w.match(t)||l.push([!0,w,a]),k.call(e,a,c,p,b,l,!1)):l.push([e,p,"annotation",a,b]))});A&&(l=l.sort(function(a){return a[1].match(/format/g)?-1:1}),l.forEach(function(a){!0===a[0]?d("span",{className:"highcharts-annotation-title",innerHTML:a[1]},null,a[2]):m.apply(a[0],a.splice(1))}))}},indicators:{addForm:function(a,b,c){var d=this.indicators,e=this.lang,f;this.tabs.init.call(this,a);b=this.popup.container.querySelectorAll(".highcharts-tab-item-content");
+this.addColsContainer(b[0]);d.addIndicatorList.call(this,a,b[0],"add");f=b[0].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton.call(this,f,e.addButton||"add","add",c,f);this.addColsContainer(b[1]);d.addIndicatorList.call(this,a,b[1],"edit");f=b[1].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton.call(this,f,e.saveButton||"save","edit",c,f);this.addButton.call(this,f,e.removeButton||"remove","remove",c,f)},addIndicatorList:function(c,e,g){var k=this,h=e.querySelectorAll(".highcharts-popup-lhs-col")[0];
+e=e.querySelectorAll(".highcharts-popup-rhs-col")[0];var m=a.getOptions(),l="edit"===g,n=l?c.series:m.plotOptions,p=this.indicators.addFormFields,x,r,t;r=d("ul",{className:"highcharts-indicator-list"},null,h);x=e.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];b(n,function(a,b){var e=a.options;if(a.params||e&&e.params){var g=k.indicators.getNameType(a,b);t=d("li",{className:"highcharts-indicator-list",innerHTML:g.name},null,r);f(t,"click",function(){p.call(k,c,l?a:n[g.type],g.type,x);l&&
+a.options&&d("input",{type:"hidden",name:"highcharts-id-"+g.type,value:a.options.id},null,x).setAttribute("highcharts-data-series-id",a.options.id)})}});0<r.childNodes.length&&r.childNodes[0].click()},getNameType:function(b,c){var d=b.options,e=a.seriesTypes,e=e[c]&&e[c].prototype.nameBase||c.toUpperCase();d&&d.type&&(c=b.options.type,e=b.name);return{name:e,type:c}},listAllSeries:function(a,b,c,f){a="highcharts-"+b+"-type-"+a;var e,g;d("label",{innerHTML:this.lang[b]||b,htmlFor:a},null,f);e=d("select",
+{name:a,className:"highcharts-popup-field"},null,f);e.setAttribute("id","highcharts-select-"+b);c.series.forEach(function(a){g=a.options;!g.params&&g.id&&"highcharts-navigator-series"!==g.id&&d("option",{innerHTML:g.name||g.id,value:g.id},null,e)})},addFormFields:function(a,b,c,f){var e=b.params||b.options.params,g=this.indicators.getNameType;f.innerHTML="";d("h3",{className:"highcharts-indicator-title",innerHTML:g(b,c).name},null,f);d("input",{type:"hidden",name:"highcharts-type-"+c,value:c},null,
+f);this.indicators.listAllSeries.call(this,c,"series",a,f);e.volumeSeriesID&&this.indicators.listAllSeries.call(this,c,"volume",a,f);this.indicators.addParamInputs.call(this,a,"params",e,c,f)},addParamInputs:function(a,c,d,f,h){var e=this,k=this.indicators.addParamInputs,m=this.addInput,l;b(d,function(b,d){l=c+"."+d;g(b)?k.call(e,a,l,b,f,h):"params.volumeSeriesID"!==l&&m.call(e,l,f,h,[b,"text"])})},getAmount:function(){var a=0;b(this.series,function(b){var c=b.options;(b.params||c&&c.params)&&a++});
+return a}},tabs:{init:function(a){var b=this.tabs;a=this.indicators.getAmount.call(a);var c;c=b.addMenuItem.call(this,"add");b.addMenuItem.call(this,"edit",a);b.addContentItem.call(this,"add");b.addContentItem.call(this,"edit");b.switchTabs.call(this,a);b.selectTab.call(this,c,0)},addMenuItem:function(a,b){var c=this.popup.container,e="highcharts-tab-item",f=this.lang;0===b&&(e+=" highcharts-tab-disabled");b=d("span",{innerHTML:f[a+"Button"]||a,className:e},null,c);b.setAttribute("highcharts-data-tab-type",
+a);return b},addContentItem:function(){return d("div",{className:"highcharts-tab-item-content"},null,this.popup.container)},switchTabs:function(a){var b=this,c;this.popup.container.querySelectorAll(".highcharts-tab-item").forEach(function(d,e){c=d.getAttribute("highcharts-data-tab-type");"edit"===c&&0===a||f(d,"click",function(){b.tabs.deselectAll.call(b);b.tabs.selectTab.call(b,this,e)})})},selectTab:function(a,b){var c=this.popup.container.querySelectorAll(".highcharts-tab-item-content");a.className+=
+" highcharts-tab-item-active";c[b].className+=" highcharts-tab-item-show"},deselectAll:function(){var a=this.popup.container,b=a.querySelectorAll(".highcharts-tab-item"),a=a.querySelectorAll(".highcharts-tab-item-content"),c;for(c=0;c<b.length;c++)b[c].classList.remove("highcharts-tab-item-active"),a[c].classList.remove("highcharts-tab-item-show")}}};f(a.NavigationBindings,"showPopup",function(b){this.popup||(this.popup=new a.Popup(this.chart.container));this.popup.showForm(b.formType,this.chart,
+b.options,b.onSubmit)});f(a.NavigationBindings,"closePopup",function(){this.popup&&this.popup.closePopup()})})(l)});
+//# sourceMappingURL=annotations.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Boost module
+
+ (c) 2010-2018 Highsoft AS
+ Author: Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(z){"object"===typeof module&&module.exports?module.exports=z:"function"===typeof define&&define.amd?define(function(){return z}):z("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(z){(function(l){function z(){var a=Array.prototype.slice.call(arguments),c=-Number.MAX_VALUE;a.forEach(function(a){if("undefined"!==typeof a&&null!==a&&"undefined"!==typeof a.length&&0<a.length)return c=a.length,!0});return c}function V(a){var c=0,d=0,f=G(a.options.boost&&a.options.boost.allowForce,
+!0),b;if("undefined"!==typeof a.boostForceChartBoost)return a.boostForceChartBoost;if(1<a.series.length)for(var l=0;l<a.series.length;l++)b=a.series[l],0!==b.options.boostThreshold&&!1!==b.visible&&"heatmap"!==b.type&&(H[b.type]&&++d,z(b.processedXData,b.options.data,b.points)>=(b.options.boostThreshold||Number.MAX_VALUE)&&++c);a.boostForceChartBoost=f&&(d===a.series.length&&0<c||5<c);return a.boostForceChartBoost}function P(a){return G(a&&a.options&&a.options.boost&&a.options.boost.enabled,!0)}function pa(a){function c(){k.length&&
+l.error("[highcharts boost] shader error - "+k.join("\n"))}function d(b,e){var c=a.createShader("vertex"===e?a.VERTEX_SHADER:a.FRAGMENT_SHADER);a.shaderSource(c,b);a.compileShader(c);return a.getShaderParameter(c,a.COMPILE_STATUS)?c:(k.push("when compiling "+e+" shader:\n"+a.getShaderInfoLog(c)),!1)}function f(){function b(b){return a.getUniformLocation(h,b)}var f=d("#version 100\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float plotHeight;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value \x3d aVertexPosition.w;\nfloat zMax \x3d bubbleZMax;\nfloat zMin \x3d bubbleZMin;\nfloat radius \x3d 0.0;\nfloat pos \x3d 0.0;\nfloat zRange \x3d zMax - zMin;\nif (bubbleSizeAbs){\nvalue \x3d value - bubbleZThreshold;\nzMax \x3d max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin \x3d 0.0;\n}\nif (value \x3c zMin){\nradius \x3d bubbleZMin / 2.0 - 1.0;\n} else {\npos \x3d zRange \x3e 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea \x26\x26 pos \x3e 0.0){\npos \x3d sqrt(pos);\n}\nradius \x3d ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord\n){\nfloat sign \x3d 1.0;\nfloat cvsOffset \x3d 0.0;\nif (cvsCoord) {\nsign *\x3d -1.0;\ncvsOffset \x3d len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value){\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold){\nfloat v;\nif (skipTranslation){\nv \x3d value;// + yAxisPos;\n} else {\nv \x3d translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord);// + yAxisPos;\nif (v \x3e plotHeight) {\nv \x3d plotHeight;\n}\n}\nif (checkTreshold \x3e 0.0 \x26\x26 hasThreshold) {\nv \x3d min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize \x3d bubbleRadius();\n} else {\ngl_PointSize \x3d pSize;\n}\nvColor \x3d aColor;\nif (isInverted) {\ngl_Position \x3d uPMatrix * vec4(xToPixels(aVertexPosition.y) + yAxisPos, yToPixels(aVertexPosition.x, aVertexPosition.z) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position \x3d uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}",
+"vertex"),l=d("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col \x3d fillColor;\nvec4 tcol;\nif (hasColor) {\ncol \x3d vColor;\n}\nif (isCircle) {\ntcol \x3d texture2D(uSampler, gl_PointCoord.st);\ncol *\x3d tcol;\nif (tcol.r \x3c 0.0) {\ndiscard;\n} else {\ngl_FragColor \x3d col;\n}\n} else {\ngl_FragColor \x3d col;\n}\n}","fragment");
+if(!f||!l)return h=!1,c(),!1;h=a.createProgram();a.attachShader(h,f);a.attachShader(h,l);a.linkProgram(h);if(!a.getProgramParameter(h,a.LINK_STATUS))return k.push(a.getProgramInfoLog(h)),c(),h=!1;a.useProgram(h);a.bindAttribLocation(h,0,"aVertexPosition");m=b("uPMatrix");Q=b("pSize");n=b("fillColor");g=b("isBubble");A=b("bubbleSizeAbs");e=b("bubbleSizeByArea");I=b("uSampler");v=b("skipTranslation");F=b("isCircle");B=b("isInverted");p=b("plotHeight");return!0}function b(b,e){a&&h&&(b=N[b]=N[b]||a.getUniformLocation(h,
+b),a.uniform1f(b,e))}var N={},h,m,Q,n,g,A,e,v,F,B,p,k=[],I;return a&&!f()?!1:{psUniform:function(){return Q},pUniform:function(){return m},fillColorUniform:function(){return n},setPlotHeight:function(b){a&&h&&a.uniform1f(p,b)},setBubbleUniforms:function(c,d,f){var l=c.options,u=Number.MAX_VALUE,w=-Number.MAX_VALUE;a&&h&&"bubble"===c.type&&(u=G(l.zMin,Math.min(u,Math.max(d,!1===l.displayNegative?l.zThreshold:-Number.MAX_VALUE))),w=G(l.zMax,Math.max(w,f)),a.uniform1i(g,1),a.uniform1i(F,1),a.uniform1i(e,
+"width"!==c.options.sizeBy),a.uniform1i(A,c.options.sizeByAbsoluteValue),b("bubbleZMin",u),b("bubbleZMax",w),b("bubbleZThreshold",c.options.zThreshold),b("bubbleMinSize",c.minPxSize),b("bubbleMaxSize",c.maxPxSize))},bind:function(){a&&h&&a.useProgram(h)},program:function(){return h},create:f,setUniform:b,setPMatrix:function(b){a&&h&&a.uniformMatrix4fv(m,!1,b)},setColor:function(b){a&&h&&a.uniform4f(n,b[0]/255,b[1]/255,b[2]/255,b[3])},setPointSize:function(b){a&&h&&a.uniform1f(Q,b)},setSkipTranslation:function(b){a&&
+h&&a.uniform1i(v,!0===b?1:0)},setTexture:function(b){a&&h&&a.uniform1i(I,b)},setDrawAsCircle:function(b){a&&h&&a.uniform1i(F,b?1:0)},reset:function(){a&&h&&(a.uniform1i(g,0),a.uniform1i(F,0))},setInverted:function(b){a&&h&&a.uniform1i(B,b)},destroy:function(){a&&h&&(a.deleteProgram(h),h=!1)}}}function R(a,c,d){function f(){b&&(a.deleteBuffer(b),l=b=!1);k=0;h=d||2;n=[]}var b=!1,l=!1,h=d||2,m=!1,k=0,n;return{destroy:f,bind:function(){if(!b)return!1;a.vertexAttribPointer(l,h,a.FLOAT,!1,0,0)},data:n,
+build:function(d,A,e){var g;n=d||[];if(!(n&&0!==n.length||m))return f(),!1;h=e||h;b&&a.deleteBuffer(b);m||(g=new Float32Array(n));b=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,b);a.bufferData(a.ARRAY_BUFFER,m||g,a.STATIC_DRAW);l=a.getAttribLocation(c.program(),A);a.enableVertexAttribArray(l);return!0},render:function(c,d,e){var g=m?m.length:n.length;if(!b||!g)return!1;if(!c||c>g||0>c)c=0;if(!d||d>g)d=g;a.drawArrays(a[(e||"points").toUpperCase()],c/h,(d-c)/h);return!0},allocate:function(a){k=-1;m=
+new Float32Array(4*a)},push:function(a,b,c,d){m&&(m[++k]=a,m[++k]=b,m[++k]=c,m[++k]=d)}}}function qa(a){function c(a){var b,c;return a.isSeriesBoosting?(b=!!a.options.stacking,c=a.xData||a.options.xData||a.processedXData,b=(b?a.data:c||a.options.data).length,"treemap"===a.type?b*=12:"heatmap"===a.type?b*=6:fa[a.type]&&(b*=2),b):0}function d(){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function f(a,b){function c(a){a&&(b.colorData.push(a[0]),b.colorData.push(a[1]),b.colorData.push(a[2]),b.colorData.push(a[3]))}
+function e(a,b,e,d,w){c(w);q.usePreallocated?A.push(a,b,e?1:0,d||1):(B.push(a),B.push(b),B.push(e?1:0),B.push(d||1))}function d(){b.segments.length&&(b.segments[b.segments.length-1].to=B.length)}function w(){b.segments.length&&b.segments[b.segments.length-1].from===B.length||(d(),b.segments.push({from:B.length}))}function g(a,b,d,w,g){c(g);e(a+d,b);c(g);e(a,b);c(g);e(a,b+w);c(g);e(a,b+w);c(g);e(a+d,b+w);c(g);e(a+d,b)}function ha(a,c){q.useGPUTranslations||(b.skipTranslation=!0,a.x=y.toPixels(a.x,
+!0),a.y=z.toPixels(a.y,!0));c?B=[a.x,a.y,0,2].concat(B):e(a.x,a.y,0,2)}var f=a.pointArrayMap&&"low,high"===a.pointArrayMap.join(","),h=a.chart,O=a.options,m=!!O.stacking,k=O.data,S=a.xAxis.getExtremes(),N=S.min,S=S.max,p=a.yAxis.getExtremes(),u=p.min,p=p.max,n=a.xData||O.xData||a.processedXData,F=a.yData||O.yData||a.processedYData,v=a.zData||O.zData||a.processedZData,z=a.yAxis,y=a.xAxis,E=a.chart.plotHeight,I=a.chart.plotWidth,G=!n||0===n.length,H=O.connectNulls,r=a.points||!1,Q=!1,J=!1,x,T,U,k=m?
+a.data:n||k,n={x:Number.MAX_VALUE,y:0},K={x:-Number.MAX_VALUE,y:0},L=0,M=!1,t,ca,D=-1,Z=!1,aa=!1,ba,W="undefined"===typeof h.index,X=!1,da=!1,V=fa[a.type],ea=!1,P=!0,ga=!0,R=O.threshold;if(!(O.boostData&&0<O.boostData.length)){h.inverted&&(E=a.chart.plotWidth,I=a.chart.plotHeight);a.closestPointRangePx=Number.MAX_VALUE;w();if(r&&0<r.length)b.skipTranslation=!0,b.drawMode="triangles",r[0].node&&r[0].node.levelDynamic&&r.sort(function(a,b){if(a.node){if(a.node.levelDynamic>b.node.levelDynamic)return 1;
+if(a.node.levelDynamic<b.node.levelDynamic)return-1}return 0}),r.forEach(function(b){var c=b.plotY,e;"undefined"===typeof c||isNaN(c)||null===b.y||(c=b.shapeArgs,e=h.styledMode?b.series.colorAttribs(b):e=b.series.pointAttribs(b),b=e["stroke-width"]||0,T=l.color(e.fill).rgba,T[0]/=255,T[1]/=255,T[2]/=255,"treemap"===a.type&&(b=b||1,U=l.color(e.stroke).rgba,U[0]/=255,U[1]/=255,U[2]/=255,g(c.x,c.y,c.width,c.height,U),b/=2),"heatmap"===a.type&&h.inverted&&(c.x=y.len-c.x,c.y=z.len-c.y,c.width=-c.width,
+c.height=-c.height),g(c.x+b,c.y+b,c.width-2*b,c.height-2*b,T))});else{for(;D<k.length-1;){x=k[++D];if(W)break;G?(r=x[0],t=x[1],k[D+1]&&(aa=k[D+1][0]),k[D-1]&&(Z=k[D-1][0]),3<=x.length&&(ca=x[2],x[2]>b.zMax&&(b.zMax=x[2]),x[2]<b.zMin&&(b.zMin=x[2]))):(r=x,t=F[D],k[D+1]&&(aa=k[D+1]),k[D-1]&&(Z=k[D-1]),v&&v.length&&(ca=v[D],v[D]>b.zMax&&(b.zMax=v[D]),v[D]<b.zMin&&(b.zMin=v[D])));if(H||null!==r&&null!==t){if(aa&&aa>=N&&aa<=S&&(X=!0),Z&&Z>=N&&Z<=S&&(da=!0),f?(G&&(t=x.slice(1,3)),ba=t[0],t=t[1]):m&&(r=
+x.x,t=x.stackY,ba=t-x.y),null!==u&&"undefined"!==typeof u&&null!==p&&"undefined"!==typeof p&&(P=t>=u&&t<=p),r>S&&K.x<S&&(K.x=r,K.y=t),r<N&&n.x>N&&(n.x=r,n.y=t),null!==t||!H)if(null!==t&&(P||X||da)){if(r>=N&&r<=S&&(ea=!0),ea||X||da){if(!q.useGPUTranslations&&(b.skipTranslation=!0,r=y.toPixels(r,!0),t=z.toPixels(t,!0),t>E&&(t=E),r>I&&"points"===b.drawMode))continue;if(V){x=ba;if(!1===ba||"undefined"===typeof ba)x=0>t?t:0;f||m||(x=Math.max(R,u));q.useGPUTranslations||(x=z.toPixels(x,!0));e(r,x,0,0,!1)}b.hasMarkers&&
+ea&&!1!==Q&&(a.closestPointRangePx=Math.min(a.closestPointRangePx,Math.abs(r-Q)));!q.useGPUTranslations&&!q.usePreallocated&&Q&&1>Math.abs(r-Q)&&J&&1>Math.abs(t-J)?q.debug.showSkipSummary&&++L:(O.step&&!ga&&e(r,J,0,2,!1),e(r,t,0,"bubble"===a.type?ca||1:2,!1),Q=r,J=t,M=!0,ga=!1)}}else w()}else w()}q.debug.showSkipSummary&&console.log("skipped points:",L);M||!1===H||"line_strip"!==a.drawMode||(n.x<Number.MAX_VALUE&&ha(n,!0),K.x>-Number.MAX_VALUE&&ha(K))}d()}}function b(){u=[];y.data=B=[];z=[];A&&A.destroy()}
+function k(a){g&&(g.setUniform("xAxisTrans",a.transA),g.setUniform("xAxisMin",a.min),g.setUniform("xAxisMinPad",a.minPixelPadding),g.setUniform("xAxisPointRange",a.pointRange),g.setUniform("xAxisLen",a.len),g.setUniform("xAxisPos",a.pos),g.setUniform("xAxisCVSCoord",!a.horiz))}function h(a){g&&(g.setUniform("yAxisTrans",a.transA),g.setUniform("yAxisMin",a.min),g.setUniform("yAxisMinPad",a.minPixelPadding),g.setUniform("yAxisPointRange",a.pointRange),g.setUniform("yAxisLen",a.len),g.setUniform("yAxisPos",
+a.pos),g.setUniform("yAxisCVSCoord",!a.horiz))}function m(a,b){g.setUniform("hasThreshold",a);g.setUniform("translatedThreshold",b)}function p(c){if(c)v=c.chartWidth||800,F=c.chartHeight||400;else return!1;if(!(e&&v&&F&&g))return!1;q.debug.timeRendering&&console.time("gl rendering");e.canvas.width=v;e.canvas.height=F;g.bind();e.viewport(0,0,v,F);g.setPMatrix([2/v,0,0,0,0,-(2/F),0,0,0,0,-2,0,-1,1,-1,1]);g.setPlotHeight(c.plotHeight);1<q.lineWidth&&!l.isMS&&e.lineWidth(q.lineWidth);A.build(y.data,"aVertexPosition",
+4);A.bind();g.setInverted(c.inverted);u.forEach(function(a,b){var d=a.series.options,f=d.marker,C;C="undefined"!==typeof d.lineWidth?d.lineWidth:1;var w=d.threshold,n=J(w),N=a.series.yAxis.getThreshold(w),w=G(d.marker?d.marker.enabled:null,a.series.xAxis.isRadial?!0:null,a.series.closestPointRangePx>2*((d.marker?d.marker.radius:10)||10)),f=E[f&&f.symbol||a.series.symbol]||E.circle;if(!(0===a.segments.length||a.segmentslength&&a.segments[0].from===a.segments[0].to)){f.isReady&&(e.bindTexture(e.TEXTURE_2D,
+f.handle),g.setTexture(f.handle));c.styledMode?f=a.series.markerGroup&&a.series.markerGroup.getStyle("fill"):(f=a.series.pointAttribs&&a.series.pointAttribs().fill||a.series.color,d.colorByPoint&&(f=a.series.chart.options.colors[b]));a.series.fillOpacity&&d.fillOpacity&&(f=(new ia(f)).setOpacity(G(d.fillOpacity,1)).get());f=l.color(f).rgba;q.useAlpha||(f[3]=1);"lines"===a.drawMode&&q.useAlpha&&1>f[3]&&(f[3]/=10);"add"===d.boostBlending?(e.blendFunc(e.SRC_ALPHA,e.ONE),e.blendEquation(e.FUNC_ADD)):
+"mult"===d.boostBlending?e.blendFunc(e.DST_COLOR,e.ZERO):"darken"===d.boostBlending?(e.blendFunc(e.ONE,e.ONE),e.blendEquation(e.FUNC_MIN)):e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA);g.reset();0<a.colorData.length&&(g.setUniform("hasColor",1),b=R(e,g),b.build(a.colorData,"aColor",4),b.bind());g.setColor(f);k(a.series.xAxis);h(a.series.yAxis);m(n,N);"points"===a.drawMode&&(d.marker&&d.marker.radius?g.setPointSize(2*d.marker.radius):g.setPointSize(1));g.setSkipTranslation(a.skipTranslation);
+"bubble"===a.series.type&&g.setBubbleUniforms(a.series,a.zMin,a.zMax);g.setDrawAsCircle(H[a.series.type]||!1);if(0<C||"line_strip"!==a.drawMode)for(C=0;C<a.segments.length;C++)A.render(a.segments[C].from,a.segments[C].to,a.drawMode);if(a.hasMarkers&&w)for(d.marker&&d.marker.radius?g.setPointSize(2*d.marker.radius):g.setPointSize(10),g.setDrawAsCircle(!0),C=0;C<a.segments.length;C++)A.render(a.segments[C].from,a.segments[C].to,"POINTS")}});q.debug.timeRendering&&console.timeEnd("gl rendering");a&&
+a();b()}function n(a){d();if(a.renderer.forExport)return p(a);I?p(a):setTimeout(function(){n(a)},1)}var g=!1,A=!1,e=!1,v=0,F=0,B=!1,z=!1,y={},I=!1,u=[],E={},fa={column:!0,columnrange:!0,bar:!0,area:!0,arearange:!0},H={scatter:!0,bubble:!0},q={pointSize:1,lineWidth:1,fillColor:"#AA00AA",useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}};return y={allocateBufferForSingleSeries:function(a){var b=
+0;q.usePreallocated&&(a.isSeriesBoosting&&(b=c(a)),A.allocate(b))},pushSeries:function(a){0<u.length&&u[u.length-1].hasMarkers&&(u[u.length-1].markerTo=z.length);q.debug.timeSeriesProcessing&&console.time("building "+a.type+" series");u.push({segments:[],markerFrom:z.length,colorData:[],series:a,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:a.options.marker?!1!==a.options.marker.enabled:!1,showMarkers:!0,drawMode:{area:"lines",arearange:"lines",areaspline:"line_strip",column:"lines",columnrange:"lines",
+bar:"lines",line:"line_strip",scatter:"points",heatmap:"triangles",treemap:"triangles",bubble:"points"}[a.type]||"line_strip"});f(a,u[u.length-1]);q.debug.timeSeriesProcessing&&console.timeEnd("building "+a.type+" series")},setSize:function(a,b){v===a&&b===b||!g||(v=a,F=b,g.bind(),g.setPMatrix([2/v,0,0,0,0,-(2/F),0,0,0,0,-2,0,-1,1,-1,1]))},inited:function(){return I},setThreshold:m,init:function(a,c){function d(a,b){var c={isReady:!1,texture:K.createElement("canvas"),handle:e.createTexture()},d=c.texture.getContext("2d");
+E[a]=c;c.texture.width=512;c.texture.height=512;d.mozImageSmoothingEnabled=!1;d.webkitImageSmoothingEnabled=!1;d.msImageSmoothingEnabled=!1;d.imageSmoothingEnabled=!1;d.strokeStyle="rgba(255, 255, 255, 0)";d.fillStyle="#FFF";b(d);try{e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,c.handle),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,c.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,
+e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.bindTexture(e.TEXTURE_2D,null),c.isReady=!0}catch(xa){}}var f=0,h=["webgl","experimental-webgl","moz-webgl","webkit-3d"];I=!1;if(!a)return!1;for(q.debug.timeSetup&&console.time("gl setup");f<h.length&&!(e=a.getContext(h[f],{}));f++);if(e)c||b();else return!1;e.enable(e.BLEND);e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA);e.disable(e.DEPTH_TEST);e.depthFunc(e.LESS);g=pa(e);if(!g)return!1;A=R(e,g);d("circle",
+function(a){a.beginPath();a.arc(256,256,256,0,2*Math.PI);a.stroke();a.fill()});d("square",function(a){a.fillRect(0,0,512,512)});d("diamond",function(a){a.beginPath();a.moveTo(256,0);a.lineTo(512,256);a.lineTo(256,512);a.lineTo(0,256);a.lineTo(256,0);a.fill()});d("triangle",function(a){a.beginPath();a.moveTo(0,512);a.lineTo(256,0);a.lineTo(512,512);a.lineTo(0,512);a.fill()});d("triangle-down",function(a){a.beginPath();a.moveTo(0,0);a.lineTo(256,512);a.lineTo(512,0);a.lineTo(0,0);a.fill()});I=!0;q.debug.timeSetup&&
+console.timeEnd("gl setup");return!0},render:n,settings:q,valid:function(){return!1!==e},clear:d,flush:b,setXAxis:k,setYAxis:h,data:B,gl:function(){return e},allocateBuffer:function(a){var b=0;q.usePreallocated&&(a.series.forEach(function(a){a.isSeriesBoosting&&(b+=c(a))}),A.allocate(b))},destroy:function(){b();A.destroy();g.destroy();e&&(ra(E,function(a){E[a].handle&&e.deleteTexture(E[a].handle)}),e.canvas.width=1,e.canvas.height=1)},setOptions:function(a){sa(!0,q,a)}}}function ja(a,c){var d=a.chartWidth,
+f=a.chartHeight,b=a,k=a.seriesGroup||c.group,h=K.implementation.hasFeature("www.http://w3.org/TR/SVG11/feature#Extensibility","1.1"),b=a.isChartSeriesBoosting()?a:c,h=!1;b.renderTarget||(b.canvas=ta,a.renderer.forExport||!h?(b.renderTarget=a.renderer.image("",0,0,d,f).addClass("highcharts-boost-canvas").add(k),b.boostClear=function(){b.renderTarget.attr({href:""})},b.boostCopy=function(){b.boostResizeTarget();b.renderTarget.attr({href:b.canvas.toDataURL("image/png")})}):(b.renderTargetFo=a.renderer.createElement("foreignObject").add(k),
+b.renderTarget=K.createElement("canvas"),b.renderTargetCtx=b.renderTarget.getContext("2d"),b.renderTargetFo.element.appendChild(b.renderTarget),b.boostClear=function(){b.renderTarget.width=b.canvas.width;b.renderTarget.height=b.canvas.height},b.boostCopy=function(){b.renderTarget.width=b.canvas.width;b.renderTarget.height=b.canvas.height;b.renderTargetCtx.drawImage(b.canvas,0,0)}),b.boostResizeTarget=function(){d=a.chartWidth;f=a.chartHeight;(b.renderTargetFo||b.renderTarget).attr({x:0,y:0,width:d,
+height:f}).css({pointerEvents:"none",mixedBlendMode:"normal",opacity:1});b instanceof l.Chart&&b.markerGroup.translate(a.plotLeft,a.plotTop)},b.boostClipRect=a.renderer.clipRect(),(b.renderTargetFo||b.renderTarget).clip(b.boostClipRect),b instanceof l.Chart&&(b.markerGroup=b.renderer.g().add(k),b.markerGroup.translate(c.xAxis.pos,c.yAxis.pos)));b.canvas.width=d;b.canvas.height=f;b.boostClipRect.attr(a.getBoostClipRect(b));b.boostResizeTarget();b.boostClear();b.ogl||(b.ogl=qa(function(){b.ogl.settings.debug.timeBufferCopy&&
+console.time("buffer copy");b.boostCopy();b.ogl.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),b.ogl.init(b.canvas)||l.error("[highcharts boost] - unable to init WebGL renderer"),b.ogl.setOptions(a.options.boost||{}),b instanceof l.Chart&&b.ogl.allocateBuffer(a));b.ogl.setSize(d,f);return b.ogl}function ka(a,c,d){a&&c.renderTarget&&c.canvas&&!(d||c.chart).isChartSeriesBoosting()&&a.render(d||c.chart)}function la(a,c){a&&c.renderTarget&&c.canvas&&!c.chart.isChartSeriesBoosting()&&
+a.allocateBufferForSingleSeries(c)}function ua(a){var c=!0;this.chart.options&&this.chart.options.boost&&(c="undefined"===typeof this.chart.options.boost.enabled?!0:this.chart.options.boost.enabled);if(!c||!this.isSeriesBoosting)return a.call(this);this.chart.isBoosting=!0;if(a=ja(this.chart,this))la(a,this),a.pushSeries(this);ka(a,this)}var L=l.win,K=L.document,va=function(){},ma=l.Chart,ia=l.Color,p=l.Series,k=l.seriesTypes,ra=l.objectEach,na=l.extend,M=l.addEvent,wa=l.fireEvent,J=l.isNumber,sa=
+l.merge,G=l.pick,y=l.wrap,W=l.getOptions().plotOptions,ta=K.createElement("canvas"),X,oa="area arearange column columnrange bar line scatter heatmap bubble treemap".split(" "),H={};oa.forEach(function(a){H[a]=1});ia.prototype.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",
+chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",
+dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",
+lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",
+mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",
+purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",
+yellowgreen:"#9acd32"};ma.prototype.isChartSeriesBoosting=function(){return G(this.options.boost&&this.options.boost.seriesThreshold,50)<=this.series.length||V(this)};ma.prototype.getBoostClipRect=function(a){var c={x:this.plotLeft,y:this.plotTop,width:this.plotWidth,height:this.plotHeight};a===this&&this.yAxis.forEach(function(a){c.y=Math.min(a.pos,c.y);c.height=Math.max(a.pos-this.plotTop+a.len,c.height)},this);return c};l.eachAsync=function(a,c,d,f,b,k){b=b||0;f=f||3E4;for(var h=b+f,m=!0;m&&b<
+h&&b<a.length;)m=c(a[b],b),++b;m&&(b<a.length?k?l.eachAsync(a,c,d,f,b,k):L.requestAnimationFrame?L.requestAnimationFrame(function(){l.eachAsync(a,c,d,f,b)}):setTimeout(function(){l.eachAsync(a,c,d,f,b)}):d&&d())};p.prototype.getPoint=function(a){var c=a,d=this.xData||this.options.xData||this.processedXData||!1;!a||a instanceof this.pointClass||(c=(new this.pointClass).init(this,this.options.data[a.i],d?d[a.i]:void 0),c.category=c.x,c.dist=a.dist,c.distX=a.distX,c.plotX=a.plotX,c.plotY=a.plotY,c.index=
+a.i);return c};y(p.prototype,"searchPoint",function(a){return this.getPoint(a.apply(this,[].slice.call(arguments,1)))});M(p,"destroy",function(){var a=this,c=a.chart;c.markerGroup===a.markerGroup&&(a.markerGroup=null);c.hoverPoints&&(c.hoverPoints=c.hoverPoints.filter(function(c){return c.series===a}));c.hoverPoint&&c.hoverPoint.series===a&&(c.hoverPoint=null)});y(p.prototype,"getExtremes",function(a){if(!this.isSeriesBoosting||!this.hasExtremes||!this.hasExtremes())return a.apply(this,Array.prototype.slice.call(arguments,
+1))});oa.forEach(function(a){W[a]&&(W[a].boostThreshold=5E3,W[a].boostData=[],k[a].prototype.fillOpacity=!0)});["translate","generatePoints","drawTracker","drawPoints","render"].forEach(function(a){function c(c){var d=this.options.stacking&&("translate"===a||"generatePoints"===a);if(!this.isSeriesBoosting||d||!P(this.chart)||"heatmap"===this.type||"treemap"===this.type||!H[this.type]||0===this.options.boostThreshold)c.call(this);else if(this[a+"Canvas"])this[a+"Canvas"]()}y(p.prototype,a,c);"translate"===
+a&&"column bar arearange columnrange heatmap treemap".split(" ").forEach(function(d){k[d]&&y(k[d].prototype,a,c)})});y(p.prototype,"processData",function(a){function c(a){return d.chart.isChartSeriesBoosting()||(a?a.length:0)>=(d.options.boostThreshold||Number.MAX_VALUE)}var d=this,f=this.options.data;P(this.chart)&&H[this.type]?(c(f)&&"heatmap"!==this.type&&"treemap"!==this.type&&!this.options.stacking&&this.hasExtremes&&this.hasExtremes(!0)||(a.apply(this,Array.prototype.slice.call(arguments,1)),
+f=this.processedXData),(this.isSeriesBoosting=c(f))?this.enterBoost():this.exitBoost&&this.exitBoost()):a.apply(this,Array.prototype.slice.call(arguments,1))});M(p,"hide",function(){this.canvas&&this.renderTarget&&(this.ogl&&this.ogl.clear(),this.boostClear())});p.prototype.enterBoost=function(){this.alteredByBoost=[];["allowDG","directTouch","stickyTracking"].forEach(function(a){this.alteredByBoost.push({prop:a,val:this[a],own:this.hasOwnProperty(a)})},this);this.directTouch=this.allowDG=!1;this.stickyTracking=
+!0;this.animate=null;this.labelBySeries&&(this.labelBySeries=this.labelBySeries.destroy())};p.prototype.exitBoost=function(){(this.alteredByBoost||[]).forEach(function(a){a.own?this[a.prop]=a.val:delete this[a.prop]},this);this.boostClear&&this.boostClear()};p.prototype.hasExtremes=function(a){var c=this.options,d=this.xAxis&&this.xAxis.options,f=this.yAxis&&this.yAxis.options;return c.data.length>(c.boostThreshold||Number.MAX_VALUE)&&J(f.min)&&J(f.max)&&(!a||J(d.min)&&J(d.max))};p.prototype.destroyGraphics=
+function(){var a=this,c=this.points,d,f;if(c)for(f=0;f<c.length;f+=1)(d=c[f])&&d.destroyElements&&d.destroyElements();["graph","area","tracker"].forEach(function(b){a[b]&&(a[b]=a[b].destroy())})};l.hasWebGLSupport=function(){var a=0,c,d=["webgl","experimental-webgl","moz-webgl","webkit-3d"],f=!1;if("undefined"!==typeof L.WebGLRenderingContext)for(c=K.createElement("canvas");a<d.length;a++)try{if(f=c.getContext(d[a]),"undefined"!==typeof f&&null!==f)return!0}catch(b){}return!1};l.hasWebGLSupport()?
+(l.extend(p.prototype,{renderCanvas:function(){function a(a,b){var c,d,f=!1,g="undefined"===typeof k.index,l=!0;if(!g&&(J?(c=a[0],d=a[1]):(c=a,d=n[b]),G?(J&&(d=a.slice(1,3)),f=d[0],d=d[1]):H&&(c=a.x,d=a.stackY,f=d-a.y),w||(l=d>=v&&d<=z),null!==d&&c>=A&&c<=e&&l))if(a=h.toPixels(c,!0),K){if(void 0===Y||a===y){G||(f=d);if(void 0===C||d>M)M=d,C=b;if(void 0===Y||f<L)L=f,Y=b}a!==y&&(void 0!==Y&&(d=m.toPixels(M,!0),E=m.toPixels(L,!0),R(a,d,C),E!==d&&R(a,E,Y)),Y=C=void 0,y=a)}else d=Math.ceil(m.toPixels(d,
+!0)),R(a,d,b);return!g}function c(){wa(d,"renderedCanvas");delete d.buildKDTree;d.buildKDTree();P.debug.timeKDTree&&console.timeEnd("kd tree building")}var d=this,f=d.options||{},b=!1,k=d.chart,h=this.xAxis,m=this.yAxis,p=f.xData||d.processedXData,n=f.yData||d.processedYData,g=f.data,b=h.getExtremes(),A=b.min,e=b.max,b=m.getExtremes(),v=b.min,z=b.max,B={},y,K=!!d.sampling,I,u=!1!==f.enableMouseTracking,E=m.getThreshold(f.threshold),G=d.pointArrayMap&&"low,high"===d.pointArrayMap.join(","),H=!!f.stacking,
+q=d.cropStart||0,w=d.requireSorting,J=!p,L,M,Y,C,P,W="x"===f.findNearestPointBy,V=this.xData||this.options.xData||this.processedXData||!1,R=function(a,b,c){a=Math.ceil(a);X=W?a:a+","+b;u&&!B[X]&&(B[X]=!0,k.inverted&&(a=h.len-a,b=m.len-b),I.push({x:V?V[q+c]:!1,clientX:a,plotX:a,plotY:b,i:q+c}))},b=ja(k,d);k.isBoosting=!0;P=b.settings;if(this.visible){if(this.points||this.graph)this.animate=null,this.destroyGraphics();k.isChartSeriesBoosting()?(this.markerGroup=k.markerGroup,this.renderTarget&&(this.renderTarget=
+this.renderTarget.destroy())):this.markerGroup=d.plotGroup("markerGroup","markers",!0,1,k.seriesGroup);I=this.points=[];d.buildKDTree=va;b&&(la(b,this),b.pushSeries(d),ka(b,this,k));k.renderer.forExport||(P.debug.timeKDTree&&console.time("kd tree building"),l.eachAsync(H?d.data:p||g,a,c))}}}),["heatmap","treemap"].forEach(function(a){k[a]&&y(k[a].prototype,"drawPoints",ua)}),k.bubble&&(delete k.bubble.prototype.buildKDTree,y(k.bubble.prototype,"markerAttribs",function(a){return this.isSeriesBoosting?
+!1:a.apply(this,[].slice.call(arguments,1))})),k.scatter.prototype.fill=!0,na(k.area.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),na(k.column.prototype,{fill:!0,sampling:!0}),l.Chart.prototype.callbacks.push(function(a){M(a,"predraw",function(){a.boostForceChartBoost=void 0;a.boostForceChartBoost=V(a);a.isBoosting=!1;!a.isChartSeriesBoosting()&&a.didBoost&&(a.didBoost=!1);a.boostClear&&a.boostClear();a.canvas&&a.ogl&&a.isChartSeriesBoosting()&&(a.didBoost=!0,a.ogl.allocateBuffer(a));a.markerGroup&&
+a.xAxis&&0<a.xAxis.length&&a.yAxis&&0<a.yAxis.length&&a.markerGroup.translate(a.xAxis[0].pos,a.yAxis[0].pos)});M(a,"render",function(){a.ogl&&a.isChartSeriesBoosting()&&a.ogl.render(a)})})):"undefined"!==typeof l.initCanvasBoost?l.initCanvasBoost():l.error(26)})(z)});
+//# sourceMappingURL=boost.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Data module
+
+ (c) 2012-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(q){"object"===typeof module&&module.exports?module.exports=q:"function"===typeof define&&define.amd?define(function(){return q}):q("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(q){(function(h){h.ajax=function(q){var n=h.merge(!0,{url:!1,type:"GET",dataType:"json",success:!1,error:!1,data:!1,headers:{}},q);q={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"};var p=new XMLHttpRequest;if(!n.url)return!1;p.open(n.type.toUpperCase(),
+n.url,!0);p.setRequestHeader("Content-Type",q[n.dataType]||q.text);h.objectEach(n.headers,function(h,n){p.setRequestHeader(n,h)});p.onreadystatechange=function(){var h;if(4===p.readyState){if(200===p.status){h=p.responseText;if("json"===n.dataType)try{h=JSON.parse(h)}catch(C){n.error&&n.error(p,C);return}return n.success&&n.success(h)}n.error&&n.error(p,p.responseText)}};try{n.data=JSON.stringify(n.data)}catch(D){}p.send(n.data||!0)}})(q);(function(h){var q=h.addEvent,n=h.Chart,p=h.win.document,D=
+h.objectEach,C=h.pick,E=h.isNumber,y=h.merge,G=h.splat,H=h.fireEvent,w,z=function(a,b,c){this.init(a,b,c)};h.extend(z.prototype,{init:function(a,b,c){var f=a.decimalPoint,e;b&&(this.chartOptions=b);c&&(this.chart=c);"."!==f&&","!==f&&(f=void 0);this.options=a;this.columns=a.columns||this.rowsToColumns(a.rows)||[];this.firstRowAsNames=C(a.firstRowAsNames,this.firstRowAsNames,!0);this.decimalRegex=f&&new RegExp("^(-?[0-9]+)"+f+"([0-9]+)$");this.rawColumns=[];this.columns.length&&(this.dataFound(),e=
+!0);e||(e=this.fetchLiveData());e||(e=!!this.parseCSV().length);e||(e=!!this.parseTable().length);e||(e=this.parseGoogleSpreadsheet());!e&&a.afterComplete&&a.afterComplete()},getColumnDistribution:function(){var a=this.chartOptions,b=this.options,c=[],f=function(a){return(h.seriesTypes[a||"line"].prototype.pointArrayMap||[0]).length},e=a&&a.chart&&a.chart.type,d=[],k=[],t=0,b=b&&b.seriesMapping||a&&a.series&&a.series.map(function(){return{x:0}})||[],g;(a&&a.series||[]).forEach(function(a){d.push(f(a.type||
+e))});b.forEach(function(a){c.push(a.x||0)});0===c.length&&c.push(0);b.forEach(function(b){var c=new w,A=d[t]||f(e),m=h.seriesTypes[((a&&a.series||[])[t]||{}).type||e||"line"].prototype.pointArrayMap||["y"];c.addColumnReader(b.x,"x");D(b,function(a,b){"x"!==b&&c.addColumnReader(a,b)});for(g=0;g<A;g++)c.hasReader(m[g])||c.addColumnReader(void 0,m[g]);k.push(c);t++});b=h.seriesTypes[e||"line"].prototype.pointArrayMap;void 0===b&&(b=["y"]);this.valueCount={global:f(e),xColumns:c,individual:d,seriesBuilders:k,
+globalPointArrayMap:b}},dataFound:function(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns));this.getColumnDistribution();this.parseTypes();!1!==this.parsed()&&this.complete()},parseCSV:function(a){function b(a,b,c,d){function e(b){l=a[b];r=a[b-1];A=a[b+1]}function f(a){v.length<u+1&&v.push([a]);v[u][v[u].length-1]!==a&&v[u].push(a)}function g(){h>B||B>n?(++B,m=""):(!isNaN(parseFloat(m))&&isFinite(m)?(m=parseFloat(m),f("number")):isNaN(Date.parse(m))?f("string"):
+(m=m.replace(/\//g,"-"),f("date")),t.length<u+1&&t.push([]),c||(t[u][b]=m),m="",++u,++B)}var k=0,l="",r="",A="",m="",B=0,u=0;if(a.trim().length&&"#"!==a.trim()[0]){for(;k<a.length;k++){e(k);if("#"===l){g();return}if('"'===l)for(e(++k);k<a.length&&('"'!==l||'"'===r||'"'===A);){if('"'!==l||'"'===l&&'"'!==r)m+=l;e(++k)}else d&&d[l]?d[l](l,m)&&g():l===x?g():m+=l}g()}}function c(a){var b=0,c=0,f=!1;a.some(function(a,d){var e=!1,f,l,g="";if(13<d)return!0;for(var k=0;k<a.length;k++){d=a[k];f=a[k+1];l=a[k-
+1];if("#"===d)break;else if('"'===d)if(e){if('"'!==l&&'"'!==f){for(;" "===f&&k<a.length;)f=a[++k];"undefined"!==typeof u[f]&&u[f]++;e=!1}}else e=!0;else"undefined"!==typeof u[d]?(g=g.trim(),isNaN(Date.parse(g))?!isNaN(g)&&isFinite(g)||u[d]++:u[d]++,g=""):g+=d;","===d&&c++;"."===d&&b++}});f=u[";"]>u[","]?";":",";d.decimalPoint||(d.decimalPoint=b>c?".":",",e.decimalRegex=new RegExp("^(-?[0-9]+)"+d.decimalPoint+"([0-9]+)$"));return f}function f(a,b){var c,f,g=0,k=!1,m=[],t=[],l;if(!b||b>a.length)b=a.length;
+for(;g<b;g++)if("undefined"!==typeof a[g]&&a[g]&&a[g].length)for(c=a[g].trim().replace(/\//g," ").replace(/\-/g," ").replace(/\./g," ").split(" "),f=["","",""],l=0;l<c.length;l++)l<f.length&&(c[l]=parseInt(c[l],10),c[l]&&(t[l]=!t[l]||t[l]<c[l]?c[l]:t[l],"undefined"!==typeof m[l]?m[l]!==c[l]&&(m[l]=!1):m[l]=c[l],31<c[l]?f[l]=100>c[l]?"YY":"YYYY":12<c[l]&&31>=c[l]?(f[l]="dd",k=!0):f[l].length||(f[l]="mm")));if(k){for(l=0;l<m.length;l++)!1!==m[l]?12<t[l]&&"YY"!==f[l]&&"YYYY"!==f[l]&&(f[l]="YY"):12<t[l]&&
+"mm"===f[l]&&(f[l]="dd");3===f.length&&"dd"===f[1]&&"dd"===f[2]&&(f[2]="YY");a=f.join("/");return(d.dateFormats||e.dateFormats)[a]?a:(H("deduceDateFailed"),"YYYY/mm/dd")}return"YYYY/mm/dd"}var e=this,d=a||this.options,k=d.csv,t;a="undefined"!==typeof d.startRow&&d.startRow?d.startRow:0;var g=d.endRow||Number.MAX_VALUE,h="undefined"!==typeof d.startColumn&&d.startColumn?d.startColumn:0,n=d.endColumn||Number.MAX_VALUE,x,m=0,v=[],u={",":0,";":0,"\t":0};t=this.columns=[];k&&d.beforeParse&&(k=d.beforeParse.call(this,
+k));if(k){k=k.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(d.lineDelimiter||"\n");if(!a||0>a)a=0;if(!g||g>=k.length)g=k.length-1;d.itemDelimiter?x=d.itemDelimiter:(x=null,x=c(k));for(var F=0,m=a;m<=g;m++)"#"===k[m][0]?F++:b(k[m],m-a-F);d.columnTypes&&0!==d.columnTypes.length||!v.length||!v[0].length||"date"!==v[0][1]||d.dateFormat||(d.dateFormat=f(t[0]));this.dataFound()}return t},parseTable:function(){var a=this.options,b=a.table,c=this.columns,f=a.startRow||0,e=a.endRow||Number.MAX_VALUE,d=a.startColumn||
+0,k=a.endColumn||Number.MAX_VALUE;b&&("string"===typeof b&&(b=p.getElementById(b)),[].forEach.call(b.getElementsByTagName("tr"),function(a,b){b>=f&&b<=e&&[].forEach.call(a.children,function(a,e){("TD"===a.tagName||"TH"===a.tagName)&&e>=d&&e<=k&&(c[e-d]||(c[e-d]=[]),c[e-d][b-f]=a.innerHTML)})}),this.dataFound());return c},fetchLiveData:function(){function a(t){function g(g,k,x){function m(){e&&b.liveDataURL===g&&(b.liveDataTimeout=setTimeout(a,d))}if(!g||0!==g.indexOf("http"))return g&&c.error&&c.error("Invalid URL"),
+!1;t&&(clearTimeout(b.liveDataTimeout),b.liveDataURL=g);h.ajax({url:g,dataType:x||"json",success:function(a){b&&b.series&&k(a);m()},error:function(a,b){3>++f&&m();return c.error&&c.error(b,a)}});return!0}g(k.csvURL,function(a){b.update({data:{csv:a}})},"text")||g(k.rowsURL,function(a){b.update({data:{rows:a}})})||g(k.columnsURL,function(a){b.update({data:{columns:a}})})}var b=this.chart,c=this.options,f=0,e=c.enablePolling,d=1E3*(c.dataRefreshRate||2),k=y(c);if(!c||!c.csvURL&&!c.rowsURL&&!c.columnsURL)return!1;
+1E3>d&&(d=1E3);delete c.csvURL;delete c.rowsURL;delete c.columnsURL;a(!0);return c&&(c.csvURL||c.rowsURL||c.columnsURL)},parseGoogleSpreadsheet:function(){function a(b){var e=["https://spreadsheets.google.com/feeds/cells",f,d,"public/values?alt\x3djson"].join("/");h.ajax({url:e,dataType:"json",success:function(d){b(d);c.enablePolling&&setTimeout(function(){a(b)},c.dataRefreshRate)},error:function(a,b){return c.error&&c.error(b,a)}})}var b=this,c=this.options,f=c.googleSpreadsheetKey,e=this.chart,
+d=c.googleSpreadsheetWorksheet||1,k=c.startRow||0,t=c.endRow||Number.MAX_VALUE,g=c.startColumn||0,n=c.endColumn||Number.MAX_VALUE,q=1E3*(c.dataRefreshRate||2);4E3>q&&(q=4E3);f&&(delete c.googleSpreadsheetKey,a(function(a){var c=[];a=a.feed.entry;var d,f=(a||[]).length,h=0,q,p,r;if(!a||0===a.length)return!1;for(r=0;r<f;r++)d=a[r],h=Math.max(h,d.gs$cell.col);for(r=0;r<h;r++)r>=g&&r<=n&&(c[r-g]=[]);for(r=0;r<f;r++)d=a[r],h=d.gs$cell.row-1,q=d.gs$cell.col-1,q>=g&&q<=n&&h>=k&&h<=t&&(p=d.gs$cell||d.content,
+d=null,p.numericValue?d=0<=p.$t.indexOf("/")||0<=p.$t.indexOf("-")?p.$t:0<p.$t.indexOf("%")?100*parseFloat(p.numericValue):parseFloat(p.numericValue):p.$t&&p.$t.length&&(d=p.$t),c[q-g][h-k]=d);c.forEach(function(a){for(r=0;r<a.length;r++)void 0===a[r]&&(a[r]=null)});e&&e.series?e.update({data:{columns:c}}):(b.columns=c,b.dataFound())}));return!1},trim:function(a,b){"string"===typeof a&&(a=a.replace(/^\s+|\s+$/g,""),b&&/^[0-9\s]+$/.test(a)&&(a=a.replace(/\s/g,"")),this.decimalRegex&&(a=a.replace(this.decimalRegex,
+"$1.$2")));return a},parseTypes:function(){for(var a=this.columns,b=a.length;b--;)this.parseColumn(a[b],b)},parseColumn:function(a,b){var c=this.rawColumns,f=this.columns,e=a.length,d,k,h,g,p=this.firstRowAsNames,n=-1!==this.valueCount.xColumns.indexOf(b),q,m=[],v=this.chartOptions,u,w=(this.options.columnTypes||[])[b],v=n&&(v&&v.xAxis&&"category"===G(v.xAxis)[0].type||"string"===w);for(c[b]||(c[b]=[]);e--;)d=m[e]||a[e],h=this.trim(d),g=this.trim(d,!0),k=parseFloat(g),void 0===c[b][e]&&(c[b][e]=h),
+v||0===e&&p?a[e]=""+h:+g===k?(a[e]=k,31536E6<k&&"float"!==w?a.isDatetime=!0:a.isNumeric=!0,void 0!==a[e+1]&&(u=k>a[e+1])):(h&&h.length&&(q=this.parseDate(d)),n&&E(q)&&"float"!==w?(m[e]=d,a[e]=q,a.isDatetime=!0,void 0!==a[e+1]&&(d=q>a[e+1],d!==u&&void 0!==u&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,e=a.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):a.unsorted=!0),u=d)):(a[e]=""===h?null:h,0!==e&&(a.isDatetime||a.isNumeric)&&(a.mixed=!0)));n&&a.mixed&&
+(f[b]=c[b]);if(n&&u&&this.options.sort)for(b=0;b<f.length;b++)f[b].reverse(),p&&f[b].unshift(f[b].pop())},dateFormats:{"YYYY/mm/dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{1,2})$/,parser:function(a){return Date.UTC(+a[1],a[2]-1,+a[3])}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(a){return Date.UTC(+a[3],a[2]-1,+a[1])},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(a){return Date.UTC(+a[3],
+a[1]-1,+a[2])}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(a){var b=+a[3],b=b>(new Date).getFullYear()-2E3?b+1900:b+2E3;return Date.UTC(b,a[2]-1,+a[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(a){return Date.UTC(+a[3]+2E3,a[1]-1,+a[2])}}},parseDate:function(a){var b=this.options.parseDate,c,f,e=this.options.dateFormat||this.dateFormat,d;if(b)c=b(a);else if("string"===typeof a){if(e)(b=
+this.dateFormats[e])||(b=this.dateFormats["YYYY/mm/dd"]),(d=a.match(b.regex))&&(c=b.parser(d));else for(f in this.dateFormats)if(b=this.dateFormats[f],d=a.match(b.regex)){this.dateFormat=f;this.alternativeFormat=b.alternative;c=b.parser(d);break}d||(d=Date.parse(a),"object"===typeof d&&null!==d&&d.getTime?c=d.getTime()-6E4*d.getTimezoneOffset():E(d)&&(c=d-6E4*(new Date(d)).getTimezoneOffset()))}return c},rowsToColumns:function(a){var b,c,f,e,d;if(a)for(d=[],c=a.length,b=0;b<c;b++)for(e=a[b].length,
+f=0;f<e;f++)d[f]||(d[f]=[]),d[f][b]=a[b][f];return d},parsed:function(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)},getFreeIndexes:function(a,b){var c,f=[],e=[],d;for(c=0;c<a;c+=1)f.push(!0);for(a=0;a<b.length;a+=1)for(d=b[a].getReferencedColumnIndexes(),c=0;c<d.length;c+=1)f[d[c]]=!1;for(c=0;c<f.length;c+=1)f[c]&&e.push(c);return e},complete:function(){var a=this.columns,b,c=this.options,f,e,d,k,h=[],g;if(c.complete||c.afterComplete){if(this.firstRowAsNames)for(d=0;d<
+a.length;d++)a[d].name=a[d].shift();f=[];e=this.getFreeIndexes(a.length,this.valueCount.seriesBuilders);for(d=0;d<this.valueCount.seriesBuilders.length;d++)g=this.valueCount.seriesBuilders[d],g.populateColumns(e)&&h.push(g);for(;0<e.length;){g=new w;g.addColumnReader(0,"x");d=e.indexOf(0);-1!==d&&e.splice(d,1);for(d=0;d<this.valueCount.global;d++)g.addColumnReader(void 0,this.valueCount.globalPointArrayMap[d]);g.populateColumns(e)&&h.push(g)}0<h.length&&0<h[0].readers.length&&(g=a[h[0].readers[0].columnIndex],
+void 0!==g&&(g.isDatetime?b="datetime":g.isNumeric||(b="category")));if("category"===b)for(d=0;d<h.length;d++)for(g=h[d],e=0;e<g.readers.length;e++)"x"===g.readers[e].configName&&(g.readers[e].configName="name");for(d=0;d<h.length;d++){g=h[d];e=[];for(k=0;k<a[0].length;k++)e[k]=g.read(a,k);f[d]={data:e};g.name&&(f[d].name=g.name);"category"===b&&(f[d].turboThreshold=0)}a={series:f};b&&(a.xAxis={type:b},"category"===b&&(a.xAxis.uniqueNames=!1));c.complete&&c.complete(a);c.afterComplete&&c.afterComplete(a)}},
+update:function(a,b){var c=this.chart;a&&(a.afterComplete=function(a){a.xAxis&&c.xAxis[0]&&a.xAxis.type===c.xAxis[0].options.type&&delete a.xAxis;c.update(a,b,!0)},y(!0,this.options,a),this.init(this.options))}});h.Data=z;h.data=function(a,b,c){return new z(a,b,c)};q(n,"init",function(a){var b=this,c=a.args[0],f=a.args[1];c&&c.data&&!b.hasDataDef&&(b.hasDataDef=!0,b.data=new z(h.extend(c.data,{afterComplete:function(a){var d,e;if(c.hasOwnProperty("series"))if("object"===typeof c.series)for(d=Math.max(c.series.length,
+a&&a.series?a.series.length:0);d--;)e=c.series[d]||{},c.series[d]=y(e,a&&a.series?a.series[d]:{});else delete c.series;c=y(a,c);b.init(c,f)}}),c,b),a.preventDefault())});w=function(){this.readers=[];this.pointIsArray=!0};w.prototype.populateColumns=function(a){var b=!0;this.readers.forEach(function(b){void 0===b.columnIndex&&(b.columnIndex=a.shift())});this.readers.forEach(function(a){void 0===a.columnIndex&&(b=!1)});return b};w.prototype.read=function(a,b){var c=this.pointIsArray,f=c?[]:{},e;this.readers.forEach(function(d){var e=
+a[d.columnIndex][b];c?f.push(e):0<d.configName.indexOf(".")?h.Point.prototype.setNestedProperty(f,e,d.configName):f[d.configName]=e});void 0===this.name&&2<=this.readers.length&&(e=this.getReferencedColumnIndexes(),2<=e.length&&(e.shift(),e.sort(function(a,b){return a-b}),this.name=a[e.shift()].name));return f};w.prototype.addColumnReader=function(a,b){this.readers.push({columnIndex:a,configName:b});"x"!==b&&"y"!==b&&void 0!==b&&(this.pointIsArray=!1)};w.prototype.getReferencedColumnIndexes=function(){var a,
+b=[],c;for(a=0;a<this.readers.length;a+=1)c=this.readers[a],void 0!==c.columnIndex&&b.push(c.columnIndex);return b};w.prototype.hasReader=function(a){var b,c;for(b=0;b<this.readers.length;b+=1)if(c=this.readers[b],c.configName===a)return!0}})(q)});
+//# sourceMappingURL=data.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Drag-panes module
+
+ (c) 2010-2018 Highsoft AS
+ Author: Kacper Madej
+
+ License: www.highcharts.com/license
+*/
+(function(g){"object"===typeof module&&module.exports?module.exports=g:"function"===typeof define&&define.amd?define(function(){return g}):g("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(g){(function(b){var g=b.hasTouch,x=b.merge,u=b.wrap,y=b.isNumber,e=b.addEvent,v=b.relativeLength,z=b.objectEach,m=b.Axis,w=b.Pointer;x(!0,m.prototype.defaultYAxisOptions,{minLength:"10%",maxLength:"100%",resize:{controlledAxis:{next:[],prev:[]},enabled:!1,cursor:"ns-resize",lineColor:"#cccccc",lineDashStyle:"Solid",
+lineWidth:4,x:0,y:0}});b.AxisResizer=function(a){this.init(a)};b.AxisResizer.prototype={init:function(a,c){this.axis=a;this.options=a.options.resize;this.render();c||this.addMouseEvents()},render:function(){var a=this.axis,c=a.chart,d=this.options,b=d.x,e=d.y,k=Math.min(Math.max(a.top+a.height+e,c.plotTop),c.plotTop+c.plotHeight),l={};c.styledMode||(l={cursor:d.cursor,stroke:d.lineColor,"stroke-width":d.lineWidth,dashstyle:d.lineDashStyle});this.lastPos=k-e;this.controlLine||(this.controlLine=c.renderer.path().addClass("highcharts-axis-resizer"));
+this.controlLine.add(a.axisGroup);d=c.styledMode?this.controlLine.strokeWidth():d.lineWidth;l.d=c.renderer.crispLine(["M",a.left+b,k,"L",a.left+a.width+b,k],d);this.controlLine.attr(l)},addMouseEvents:function(){var a=this,c=a.controlLine.element,d=a.axis.chart.container,b=[],t,k,l;a.mouseMoveHandler=t=function(c){a.onMouseMove(c)};a.mouseUpHandler=k=function(c){a.onMouseUp(c)};a.mouseDownHandler=l=function(c){a.onMouseDown(c)};b.push(e(d,"mousemove",t),e(d.ownerDocument,"mouseup",k),e(c,"mousedown",
+l));g&&b.push(e(d,"touchmove",t),e(d.ownerDocument,"touchend",k),e(c,"touchstart",l));a.eventsToUnbind=b},onMouseMove:function(a){a.touches&&0===a.touches[0].pageX||!this.grabbed||(this.hasDragged=!0,this.updateAxes(this.axis.chart.pointer.normalize(a).chartY-this.options.y))},onMouseUp:function(a){this.hasDragged&&this.updateAxes(this.axis.chart.pointer.normalize(a).chartY-this.options.y);this.grabbed=this.hasDragged=this.axis.chart.activeResizer=null},onMouseDown:function(){this.axis.chart.pointer.reset(!1,
+0);this.grabbed=this.axis.chart.activeResizer=!0},updateAxes:function(a){var c=this,d=c.axis.chart,b=c.options.controlledAxis,e=0===b.next.length?[d.yAxis.indexOf(c.axis)+1]:b.next,b=[c.axis].concat(b.prev),k=[],l=!1,g=d.plotTop,m=d.plotHeight,q=g+m,p;a=Math.max(Math.min(a,q),g);p=a-c.lastPos;1>p*p||([b,e].forEach(function(b,e){b.forEach(function(b,h){var f=(b=y(b)?d.yAxis[b]:e||h?d.get(b):b)&&b.options,n,r;f&&"navigator-y-axis"!==f.id&&(h=b.top,r=Math.round(v(f.minLength,m)),n=Math.round(v(f.maxLength,
+m)),e?(p=a-c.lastPos,f=Math.round(Math.min(Math.max(b.len-p,r),n)),h=b.top+p,h+f>q&&(n=q-f-h,a+=n,h+=n),h<g&&(h=g,h+f>q&&(f=m)),f===r&&(l=!0),k.push({axis:b,options:{top:Math.round(h),height:f}})):(f=Math.round(Math.min(Math.max(a-h,r),n)),f===n&&(l=!0),a=h+f,k.push({axis:b,options:{height:f}})))})}),l||(k.forEach(function(a){a.axis.update(a.options,!1)}),d.redraw(!1)))},destroy:function(){var a=this;delete a.axis.resizer;this.eventsToUnbind&&this.eventsToUnbind.forEach(function(a){a()});a.controlLine.destroy();
+z(a,function(b,d){a[d]=null})}};m.prototype.keepProps.push("resizer");e(m,"afterRender",function(){var a=this.resizer,c=this.options.resize;c&&(c=!1!==c.enabled,a?c?a.init(this,!0):a.destroy():c&&(this.resizer=new b.AxisResizer(this)))});e(m,"destroy",function(a){!a.keepEvents&&this.resizer&&this.resizer.destroy()});u(w.prototype,"runPointActions",function(a){this.chart.activeResizer||a.apply(this,Array.prototype.slice.call(arguments,1))});u(w.prototype,"drag",function(a){this.chart.activeResizer||
+a.apply(this,Array.prototype.slice.call(arguments,1))})})(g)});
+//# sourceMappingURL=drag-panes.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Highcharts Drilldown module
+
+ Author: Torstein Honsi
+ License: www.highcharts.com/license
+
+*/
+(function(n){"object"===typeof module&&module.exports?module.exports=n:"function"===typeof define&&define.amd?define(function(){return n}):n("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(n){(function(e){var n=e.animObject,w=e.noop,x=e.color,y=e.defaultOptions,r=e.extend,D=e.format,z=e.objectEach,t=e.pick,l=e.Chart,p=e.seriesTypes,A=p.pie,p=p.column,B=e.Tick,u=e.fireEvent,C=1;r(y.lang,{drillUpText:"\u25c1 Back to {series.name}"});y.drilldown={activeAxisLabelStyle:{cursor:"pointer",
+color:"#003399",fontWeight:"bold",textDecoration:"underline"},activeDataLabelStyle:{cursor:"pointer",color:"#003399",fontWeight:"bold",textDecoration:"underline"},animation:{duration:500},drillUpButton:{position:{align:"right",x:-10,y:10}}};e.SVGRenderer.prototype.Element.prototype.fadeIn=function(a){this.attr({opacity:.1,visibility:"inherit"}).animate({opacity:t(this.newOpacity,1)},a||{duration:250})};l.prototype.addSeriesAsDrilldown=function(a,b){this.addSingleSeriesAsDrilldown(a,b);this.applyDrilldown()};
+l.prototype.addSingleSeriesAsDrilldown=function(a,b){var c=a.series,d=c.xAxis,f=c.yAxis,h,g=[],m=[],k,q,l;l=this.styledMode?{colorIndex:t(a.colorIndex,c.colorIndex)}:{color:a.color||c.color};this.drilldownLevels||(this.drilldownLevels=[]);k=c.options._levelNumber||0;(q=this.drilldownLevels[this.drilldownLevels.length-1])&&q.levelNumber!==k&&(q=void 0);b=r(r({_ddSeriesId:C++},l),b);h=c.points.indexOf(a);c.chart.series.forEach(function(a){a.xAxis!==d||a.isDrilling||(a.options._ddSeriesId=a.options._ddSeriesId||
+C++,a.options._colorIndex=a.userOptions._colorIndex,a.options._levelNumber=a.options._levelNumber||k,q?(g=q.levelSeries,m=q.levelSeriesOptions):(g.push(a),m.push(a.options)))});a=r({levelNumber:k,seriesOptions:c.options,levelSeriesOptions:m,levelSeries:g,shapeArgs:a.shapeArgs,bBox:a.graphic?a.graphic.getBBox():{},color:a.isNull?(new e.Color(x)).setOpacity(0).get():x,lowerSeriesOptions:b,pointOptions:c.options.data[h],pointIndex:h,oldExtremes:{xMin:d&&d.userMin,xMax:d&&d.userMax,yMin:f&&f.userMin,
+yMax:f&&f.userMax},resetZoomButton:this.resetZoomButton},l);this.drilldownLevels.push(a);d&&d.names&&(d.names.length=0);b=a.lowerSeries=this.addSeries(b,!1);b.options._levelNumber=k+1;d&&(d.oldPos=d.pos,d.userMin=d.userMax=null,f.userMin=f.userMax=null);c.type===b.type&&(b.animate=b.animateDrilldown||w,b.options.animation=!0)};l.prototype.applyDrilldown=function(){var a=this.drilldownLevels,b;a&&0<a.length&&(b=a[a.length-1].levelNumber,this.drilldownLevels.forEach(function(a){a.levelNumber===b&&a.levelSeries.forEach(function(a){a.options&&
+a.options._levelNumber===b&&a.remove(!1)})}));this.resetZoomButton&&(this.resetZoomButton.hide(),delete this.resetZoomButton);this.pointer.reset();this.redraw();this.showDrillUpButton()};l.prototype.getDrilldownBackText=function(){var a=this.drilldownLevels;if(a&&0<a.length)return a=a[a.length-1],a.series=a.seriesOptions,D(this.options.lang.drillUpText,a)};l.prototype.showDrillUpButton=function(){var a=this,b=this.getDrilldownBackText(),c=a.options.drilldown.drillUpButton,d,f;this.drillUpButton?this.drillUpButton.attr({text:b}).align():
+(f=(d=c.theme)&&d.states,this.drillUpButton=this.renderer.button(b,null,null,function(){a.drillUp()},d,f&&f.hover,f&&f.select).addClass("highcharts-drillup-button").attr({align:c.position.align,zIndex:7}).add().align(c.position,!1,c.relativeTo||"plotBox"))};l.prototype.drillUp=function(){if(this.drilldownLevels&&0!==this.drilldownLevels.length){for(var a=this,b=a.drilldownLevels,c=b[b.length-1].levelNumber,d=b.length,f=a.series,h,g,e,k,q=function(b){var c;f.forEach(function(a){a.options._ddSeriesId===
+b._ddSeriesId&&(c=a)});c=c||a.addSeries(b,!1);c.type===e.type&&c.animateDrillupTo&&(c.animate=c.animateDrillupTo);b===g.seriesOptions&&(k=c)};d--;)if(g=b[d],g.levelNumber===c){b.pop();e=g.lowerSeries;if(!e.chart)for(h=f.length;h--;)if(f[h].options.id===g.lowerSeriesOptions.id&&f[h].options._levelNumber===c+1){e=f[h];break}e.xData=[];g.levelSeriesOptions.forEach(q);u(a,"drillup",{seriesOptions:g.seriesOptions});k.type===e.type&&(k.drilldownLevel=g,k.options.animation=a.options.drilldown.animation,
+e.animateDrillupFrom&&e.chart&&e.animateDrillupFrom(g));k.options._levelNumber=c;e.remove(!1);k.xAxis&&(h=g.oldExtremes,k.xAxis.setExtremes(h.xMin,h.xMax,!1),k.yAxis.setExtremes(h.yMin,h.yMax,!1));g.resetZoomButton&&(a.resetZoomButton=g.resetZoomButton,a.resetZoomButton.show())}u(a,"drillupall");this.redraw();0===this.drilldownLevels.length?this.drillUpButton=this.drillUpButton.destroy():this.drillUpButton.attr({text:this.getDrilldownBackText()}).align();this.ddDupes.length=[]}};l.prototype.callbacks.push(function(){var a=
+this;a.drilldown={update:function(b,c){e.merge(!0,a.options.drilldown,b);t(c,!0)&&a.redraw()}}});e.addEvent(l,"beforeShowResetZoom",function(){if(this.drillUpButton)return!1});e.addEvent(l,"render",function(){(this.xAxis||[]).forEach(function(a){a.ddPoints={};a.series.forEach(function(b){var c,d=b.xData||[],f=b.points,h;for(c=0;c<d.length;c++)h=b.options.data[c],"number"!==typeof h&&(h=b.pointClass.prototype.optionsToObject.call({series:b},h),h.drilldown&&(a.ddPoints[d[c]]||(a.ddPoints[d[c]]=[]),
+a.ddPoints[d[c]].push(f?f[c]:!0)))});z(a.ticks,B.prototype.drillable)})});p.prototype.animateDrillupTo=function(a){if(!a){var b=this,c=b.drilldownLevel;this.points.forEach(function(a){var b=a.dataLabel;a.graphic&&a.graphic.hide();b&&(b.hidden="hidden"===b.attr("visibility"),b.hidden||(b.hide(),a.connector&&a.connector.hide()))});e.syncTimeout(function(){b.points&&b.points.forEach(function(a,b){b=b===(c&&c.pointIndex)?"show":"fadeIn";var d="show"===b?!0:void 0,f=a.dataLabel;if(a.graphic)a.graphic[b](d);
+f&&!f.hidden&&(f.fadeIn(),a.connector&&a.connector.fadeIn())})},Math.max(this.chart.options.drilldown.animation.duration-50,0));this.animate=w}};p.prototype.animateDrilldown=function(a){var b=this,c=this.chart,d=c.drilldownLevels,f,e=n(c.options.drilldown.animation),g=this.xAxis,m=c.styledMode;a||(d.forEach(function(a){b.options._ddSeriesId===a.lowerSeriesOptions._ddSeriesId&&(f=a.shapeArgs,m||(f.fill=a.color))}),f.x+=t(g.oldPos,g.pos)-g.pos,this.points.forEach(function(a){var c=a.shapeArgs;m||(c.fill=
+a.color);a.graphic&&a.graphic.attr(f).animate(r(a.shapeArgs,{fill:a.color||b.color}),e);a.dataLabel&&a.dataLabel.fadeIn(e)}),this.animate=null)};p.prototype.animateDrillupFrom=function(a){var b=n(this.chart.options.drilldown.animation),c=this.group,d=c!==this.chart.columnGroup,f=this;f.trackerGroups.forEach(function(a){if(f[a])f[a].on("mouseover")});d&&delete this.group;this.points.forEach(function(h){var g=h.graphic,m=a.shapeArgs,k=function(){g.destroy();c&&d&&(c=c.destroy())};g&&(delete h.graphic,
+f.chart.styledMode||(m.fill=a.color),b.duration?g.animate(m,e.merge(b,{complete:k})):(g.attr(m),k()))})};A&&r(A.prototype,{animateDrillupTo:p.prototype.animateDrillupTo,animateDrillupFrom:p.prototype.animateDrillupFrom,animateDrilldown:function(a){var b=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],c=this.chart.options.drilldown.animation,d=b.shapeArgs,f=d.start,h=(d.end-f)/this.points.length,g=this.chart.styledMode;a||(this.points.forEach(function(a,k){var m=a.shapeArgs;g||(d.fill=
+b.color,m.fill=a.color);if(a.graphic)a.graphic.attr(e.merge(d,{start:f+k*h,end:f+(k+1)*h}))[c?"animate":"attr"](m,c)}),this.animate=null)}});e.Point.prototype.doDrilldown=function(a,b,c){var d=this.series.chart,f=d.options.drilldown,e=(f.series||[]).length,g;d.ddDupes||(d.ddDupes=[]);for(;e--&&!g;)f.series[e].id===this.drilldown&&-1===d.ddDupes.indexOf(this.drilldown)&&(g=f.series[e],d.ddDupes.push(this.drilldown));u(d,"drilldown",{point:this,seriesOptions:g,category:b,originalEvent:c,points:void 0!==
+b&&this.series.xAxis.getDDPoints(b).slice(0)},function(b){var c=b.point.series&&b.point.series.chart,d=b.seriesOptions;c&&d&&(a?c.addSingleSeriesAsDrilldown(b.point,d):c.addSeriesAsDrilldown(b.point,d))})};e.Axis.prototype.drilldownCategory=function(a,b){z(this.getDDPoints(a),function(c){c&&c.series&&c.series.visible&&c.doDrilldown&&c.doDrilldown(!0,a,b)});this.chart.applyDrilldown()};e.Axis.prototype.getDDPoints=function(a){return this.ddPoints&&this.ddPoints[a]};B.prototype.drillable=function(){var a=
+this.pos,b=this.label,c=this.axis,d="xAxis"===c.coll&&c.getDDPoints,f=d&&c.getDDPoints(a),h=c.chart.styledMode;d&&(b&&f&&f.length?(b.drillable=!0,b.basicStyles||h||(b.basicStyles=e.merge(b.styles)),b.addClass("highcharts-drilldown-axis-label").on("click",function(b){c.drilldownCategory(a,b)}),h||b.css(c.chart.options.drilldown.activeAxisLabelStyle)):b&&b.drillable&&(h||(b.styles={},b.css(b.basicStyles)),b.on("click",null),b.removeClass("highcharts-drilldown-axis-label")))};e.addEvent(e.Point,"afterInit",
+function(){var a=this,b=a.series;a.drilldown&&e.addEvent(a,"click",function(c){b.xAxis&&!1===b.chart.options.drilldown.allowPointDrilldown?b.xAxis.drilldownCategory(a.x,c):a.doDrilldown(void 0,void 0,c)});return a});e.addEvent(e.Series,"afterDrawDataLabels",function(){var a=this.chart.options.drilldown.activeDataLabelStyle,b=this.chart.renderer,c=this.chart.styledMode;this.points.forEach(function(d){var f=d.options.dataLabels,e=t(d.dlOptions,f&&f.style,{});d.drilldown&&d.dataLabel&&("contrast"!==
+a.color||c||(e.color=b.getContrast(d.color||this.color)),f&&f.color&&(e.color=f.color),d.dataLabel.addClass("highcharts-drilldown-data-label"),c||d.dataLabel.css(a).css(e))},this)});var v=function(a,b,c,d){a[c?"addClass":"removeClass"]("highcharts-drilldown-point");d||a.css({cursor:b})};e.addEvent(e.Series,"afterDrawTracker",function(){var a=this.chart.styledMode;this.points.forEach(function(b){b.drilldown&&b.graphic&&v(b.graphic,"pointer",!0,a)})});e.addEvent(e.Point,"afterSetState",function(){var a=
+this.series.chart.styledMode;this.drilldown&&this.series.halo&&"hover"===this.state?v(this.series.halo,"pointer",!0,a):this.series.halo&&v(this.series.halo,"auto",!1,a)})})(n)});
+//# sourceMappingURL=drilldown.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ Item series type for Highcharts
+
+ (c) 2010-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(c){"object"===typeof module&&module.exports?module.exports=c:"function"===typeof define&&define.amd?define(function(){return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){(function(f){var c=f.extend,u=f.pick,r=f.seriesType;r("item","column",{itemPadding:.2,marker:{symbol:"circle",states:{hover:{},select:{}}}},{drawPoints:function(){var b=this,v=b.chart.renderer,l=this.options.marker,m=this.yAxis.transA*b.options.itemPadding,n=this.borderWidth%2?.5:1;this.points.forEach(function(a){var d,
+e,g,h,k;d=a.marker||{};var w=d.symbol||l.symbol,r=u(d.radius,l.radius),p,t,x="rect"!==w,q;a.graphics=g=a.graphics||{};k=a.pointAttr?a.pointAttr[a.selected?"selected":""]||b.pointAttr[""]:b.pointAttribs(a,a.selected&&"select");delete k.r;b.chart.styledMode&&(delete k.stroke,delete k["stroke-width"]);if(null!==a.y)for(a.graphic||(a.graphic=v.g("point").add(b.group)),h=a.y,t=u(a.stackY,a.y),p=Math.min(a.pointWidth,b.yAxis.transA-m),d=t;d>t-a.y;d--)e=a.barX+(x?a.pointWidth/2-p/2:0),q=b.yAxis.toPixels(d,
+!0)+m/2,b.options.crisp&&(e=Math.round(e)-n,q=Math.round(q)+n),e={x:e,y:q,width:Math.round(x?p:a.pointWidth),height:Math.round(p),r:r},g[h]?g[h].animate(e):g[h]=v.symbol(w).attr(c(e,k)).add(a.graphic),g[h].isActive=!0,h--;f.objectEach(g,function(a,b){a.isActive?a.isActive=!1:(a.destroy(),delete a[b])})})}});f.SVGRenderer.prototype.symbols.rect=function(b,c,l,m,n){return f.SVGRenderer.prototype.symbols.callout(b,c,l,m,n)}})(c)});
+//# sourceMappingURL=item-series.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Client side exporting module
+
+ (c) 2015-2018 Torstein Honsi / Oystein Moseng
+
+ License: www.highcharts.com/license
+*/
+(function(h){"object"===typeof module&&module.exports?module.exports=h:"function"===typeof define&&define.amd?define(function(){return h}):h("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(h){(function(a){var b=a.win,h=b.navigator,n=b.document,d=b.URL||b.webkitURL||b,r=/Edge\/\d+/.test(h.userAgent);a.dataURLtoBlob=function(a){if((a=a.match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/))&&3<a.length&&b.atob&&b.ArrayBuffer&&b.Uint8Array&&b.Blob&&d.createObjectURL){for(var g=b.atob(a[3]),e=
+new b.ArrayBuffer(g.length),e=new b.Uint8Array(e),h=0;h<e.length;++h)e[h]=g.charCodeAt(h);a=new b.Blob([e],{type:a[1]});return d.createObjectURL(a)}};a.downloadURL=function(g,d){var e=n.createElement("a"),x;if("string"===typeof g||g instanceof String||!h.msSaveOrOpenBlob){if(r||2E6<g.length)if(g=a.dataURLtoBlob(g),!g)throw"Failed to convert to blob";if(void 0!==e.download)e.href=g,e.download=d,n.body.appendChild(e),e.click(),n.body.removeChild(e);else try{if(x=b.open(g,"chart"),void 0===x||null===
+x)throw"Failed to open window";}catch(k){b.location.href=g}}else h.msSaveOrOpenBlob(g,d)}})(h);(function(a){function b(k,b){var f=g.getElementsByTagName("head")[0],c=g.createElement("script");c.type="text/javascript";c.src=k;c.onload=b;c.onerror=function(){a.error("Error loading script "+k)};f.appendChild(c)}var h=a.addEvent,n=a.merge,d=a.win,r=d.navigator,g=d.document,B=d.URL||d.webkitURL||d,e=/Edge\/|Trident\/|MSIE /.test(r.userAgent),x=e?150:0;a.CanVGRenderer={};a.svgToDataUrl=function(a){var k=
+-1<r.userAgent.indexOf("WebKit")&&0>r.userAgent.indexOf("Chrome");try{if(!k&&0>r.userAgent.toLowerCase().indexOf("firefox"))return B.createObjectURL(new d.Blob([a],{type:"image/svg+xml;charset-utf-16"}))}catch(f){}return"data:image/svg+xml;charset\x3dUTF-8,"+encodeURIComponent(a)};a.imageToDataUrl=function(a,b,f,c,h,e,q,t,p){var l=new d.Image,k,y=function(){setTimeout(function(){var d=g.createElement("canvas"),e=d.getContext&&d.getContext("2d"),z;try{if(e){d.height=l.height*c;d.width=l.width*c;e.drawImage(l,
+0,0,d.width,d.height);try{z=d.toDataURL(b),h(z,b,f,c)}catch(C){k(a,b,f,c)}}else q(a,b,f,c)}finally{p&&p(a,b,f,c)}},x)},u=function(){t(a,b,f,c);p&&p(a,b,f,c)};k=function(){l=new d.Image;k=e;l.crossOrigin="Anonymous";l.onload=y;l.onerror=u;l.src=a};l.onload=y;l.onerror=u;l.src=a};a.downloadSVGLocal=function(k,e,f,c){function h(a,c){c=new d.jsPDF("l","pt",[a.width.baseVal.value+2*c,a.height.baseVal.value+2*c]);[].forEach.call(a.querySelectorAll('*[visibility\x3d"hidden"]'),function(a){a.parentNode.removeChild(a)});
+d.svg2pdf(a,c,{removeInvalid:!0});return c.output("datauristring")}function u(){A.innerHTML=k;var b=A.getElementsByTagName("text"),d;[].forEach.call(b,function(a){["font-family","font-size"].forEach(function(c){for(var b=a;b&&b!==A;){if(b.style[c]){a.style[c]=b.style[c];break}b=b.parentNode}});a.style["font-family"]=a.style["font-family"]&&a.style["font-family"].split(" ").splice(-1);d=a.getElementsByTagName("title");[].forEach.call(d,function(c){a.removeChild(c)})});b=h(A.firstChild,0);try{a.downloadURL(b,
+v),c&&c()}catch(D){f(D)}}var q,t,p=!0,l,m=e.libURL||a.getOptions().exporting.libURL,A=g.createElement("div"),w=e.type||"image/png",v=(e.filename||"chart")+"."+("image/svg+xml"===w?"svg":w.split("/")[1]),n=e.scale||1,m="/"!==m.slice(-1)?m+"/":m;if("image/svg+xml"===w)try{r.msSaveOrOpenBlob?(t=new MSBlobBuilder,t.append(k),q=t.getBlob("image/svg+xml")):q=a.svgToDataUrl(k),a.downloadURL(q,v),c&&c()}catch(z){f(z)}else"application/pdf"===w?d.jsPDF&&d.svg2pdf?u():(p=!0,b(m+"jspdf.js",function(){b(m+"svg2pdf.js",
+function(){u()})})):(q=a.svgToDataUrl(k),l=function(){try{B.revokeObjectURL(q)}catch(z){}},a.imageToDataUrl(q,w,{},n,function(b){try{a.downloadURL(b,v),c&&c()}catch(C){f(C)}},function(){var e=g.createElement("canvas"),h=e.getContext("2d"),u=k.match(/^<svg[^>]*width\s*=\s*\"?(\d+)\"?[^>]*>/)[1]*n,y=k.match(/^<svg[^>]*height\s*=\s*\"?(\d+)\"?[^>]*>/)[1]*n,q=function(){h.drawSvg(k,0,0,u,y);try{a.downloadURL(r.msSaveOrOpenBlob?e.msToBlob():e.toDataURL(w),v),c&&c()}catch(E){f(E)}finally{l()}};e.width=
+u;e.height=y;d.canvg?q():(p=!0,b(m+"rgbcolor.js",function(){b(m+"canvg.js",function(){q()})}))},f,f,function(){p&&l()}))};a.Chart.prototype.getSVGForLocalExport=function(b,e,d,c){var f=this,g,k=0,t,p,l,m,n,r=function(a,b,d){++k;d.imageElement.setAttributeNS("http://www.w3.org/1999/xlink","href",a);k===g.length&&c(f.sanitizeSVG(t.innerHTML,p))};f.unbindGetSVG=h(f,"getSVG",function(a){p=a.chartCopy.options;t=a.chartCopy.container.cloneNode(!0)});f.getSVGForExport(b,e);g=t.getElementsByTagName("image");
+try{if(!g.length){c(f.sanitizeSVG(t.innerHTML,p));return}m=0;for(n=g.length;m<n;++m)l=g[m],a.imageToDataUrl(l.getAttributeNS("http://www.w3.org/1999/xlink","href"),"image/png",{imageElement:l},b.scale,r,d,d,d)}catch(v){d(v)}f.unbindGetSVG()};a.Chart.prototype.exportChartLocal=function(b,d){var f=this,c=a.merge(f.options.exporting,b),g=function(b){!1===c.fallbackToExportServer?c.error?c.error(c,b):a.error(28,!0):f.exportChart(c)};e&&f.styledMode&&(a.SVGRenderer.prototype.inlineWhitelist=[/^blockSize/,
+/^border/,/^caretColor/,/^color/,/^columnRule/,/^columnRuleColor/,/^cssFloat/,/^cursor/,/^fill$/,/^fillOpacity/,/^font/,/^inlineSize/,/^length/,/^lineHeight/,/^opacity/,/^outline/,/^parentRule/,/^rx$/,/^ry$/,/^stroke/,/^textAlign/,/^textAnchor/,/^textDecoration/,/^transform/,/^vectorEffect/,/^visibility/,/^x$/,/^y$/]);e&&("application/pdf"===c.type||f.container.getElementsByTagName("image").length&&"image/svg+xml"!==c.type)||"application/pdf"===c.type&&f.container.getElementsByTagName("image").length?
+g("Image type not supported for this chart/browser."):f.getSVGForLocalExport(c,d,g,function(b){-1<b.indexOf("\x3cforeignObject")&&"image/svg+xml"!==c.type?g("Image type not supported for charts with embedded HTML"):a.downloadSVGLocal(b,a.extend({filename:f.getFilename()},c),g)})};n(!0,a.getOptions().exporting,{libURL:"https://code.highcharts.com/7.0.1/lib/",menuItemDefinitions:{downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChartLocal()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChartLocal({type:"image/jpeg"})}},
+downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChartLocal({type:"image/svg+xml"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChartLocal({type:"application/pdf"})}}}})})(h)});
+//# sourceMappingURL=offline-exporting.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ (c) 2009-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(a){"object"===typeof module&&module.exports?module.exports=a:"function"===typeof define&&define.amd?define(function(){return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){});
+//# sourceMappingURL=overlapping-datalabels.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Exporting module
+
+ (c) 2010-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(l){"object"===typeof module&&module.exports?module.exports=l:"function"===typeof define&&define.amd?define(function(){return l}):l("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(l){(function(g){var y=g.defaultOptions,z=g.doc,l=g.Chart,q=g.addEvent,I=g.removeEvent,C=g.fireEvent,t=g.createElement,D=g.discardElement,r=g.css,p=g.merge,u=g.pick,E=g.objectEach,x=g.extend,J=g.isTouchDevice,A=g.win,G=A.navigator.userAgent,F=g.SVGRenderer,H=g.Renderer.prototype.symbols,K=/Edge\/|Trident\/|MSIE /.test(G),
+L=/firefox/i.test(G);x(y.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});y.navigation||(y.navigation={});p(!0,y.navigation,{buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}});p(!0,y.navigation,{menuStyle:{border:"1px solid #999999",background:"#ffffff",
+padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",color:"#333333",background:"none",fontSize:J?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"},buttonOptions:{symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}}});y.exporting={type:"image/png",url:"https://export.highcharts.com/",printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",
+symbol:"menu",titleKey:"contextButtonTitle",menuItems:"printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},
+downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}};g.post=function(b,a,d){var c=t("form",p({method:"post",action:b,enctype:"multipart/form-data"},d),{display:"none"},z.body);E(a,function(a,b){t("input",{type:"hidden",name:b,value:a},null,c)});c.submit();D(c)};x(l.prototype,{sanitizeSVG:function(b,a){if(a&&a.exporting&&a.exporting.allowHTML){var d=b.match(/<\/svg>(.*?$)/);d&&d[1]&&(d='\x3cforeignObject x\x3d"0" y\x3d"0" width\x3d"'+a.chart.width+'" height\x3d"'+
+a.chart.height+'"\x3e\x3cbody xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e'+d[1]+"\x3c/body\x3e\x3c/foreignObject\x3e",b=b.replace("\x3c/svg\x3e",d+"\x3c/svg\x3e"))}b=b.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(\S+)("|")\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'\x3csvg xmlns:xlink\x3d"http://www.w3.org/1999/xlink" ').replace(/ (|NS[0-9]+\:)href=/g," xlink:href\x3d").replace(/\n/," ").replace(/<\/svg>.*?$/,
+"\x3c/svg\x3e").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1\x3d"rgb($2)" $1-opacity\x3d"$3"').replace(/ /g,"\u00a0").replace(/­/g,"\u00ad");this.ieSanitizeSVG&&(b=this.ieSanitizeSVG(b));return b},getChartHTML:function(){this.styledMode&&this.inlineStyles();return this.container.innerHTML},getSVG:function(b){var a,d,c,w,m,h=p(this.options,b);d=t("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},z.body);c=
+this.renderTo.style.width;m=this.renderTo.style.height;c=h.exporting.sourceWidth||h.chart.width||/px$/.test(c)&&parseInt(c,10)||(h.isGantt?800:600);m=h.exporting.sourceHeight||h.chart.height||/px$/.test(m)&&parseInt(m,10)||400;x(h.chart,{animation:!1,renderTo:d,forExport:!0,renderer:"SVGRenderer",width:c,height:m});h.exporting.enabled=!1;delete h.data;h.series=[];this.series.forEach(function(a){w=p(a.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});w.isInternal||
+h.series.push(w)});this.axes.forEach(function(a){a.userOptions.internalKey||(a.userOptions.internalKey=g.uniqueKey())});a=new g.Chart(h,this.callback);b&&["xAxis","yAxis","series"].forEach(function(c){var d={};b[c]&&(d[c]=b[c],a.update(d))});this.axes.forEach(function(b){var c=g.find(a.axes,function(a){return a.options.internalKey===b.userOptions.internalKey}),d=b.getExtremes(),e=d.userMin,d=d.userMax;c&&(void 0!==e&&e!==c.min||void 0!==d&&d!==c.max)&&c.setExtremes(e,d,!0,!1)});c=a.getChartHTML();
+C(this,"getSVG",{chartCopy:a});c=this.sanitizeSVG(c,h);h=null;a.destroy();D(d);return c},getSVGForExport:function(b,a){var d=this.options.exporting;return this.getSVG(p({chart:{borderRadius:0}},d.chartOptions,a,{exporting:{sourceWidth:b&&b.sourceWidth||d.sourceWidth,sourceHeight:b&&b.sourceHeight||d.sourceHeight}}))},getFilename:function(){var b=this.userOptions.title&&this.userOptions.title.text,a=this.options.exporting.filename;if(a)return a;"string"===typeof b&&(a=b.toLowerCase().replace(/<\/?[^>]+(>|$)/g,
+"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,""));if(!a||5>a.length)a="chart";return a},exportChart:function(b,a){a=this.getSVGForExport(b,a);b=p(this.options.exporting,b);g.post(b.url,{filename:b.filename||this.getFilename(),type:b.type,width:b.width||0,scale:b.scale,svg:a},b.formAttributes)},print:function(){function b(b){(a.fixedDiv?[a.fixedDiv,a.scrollingContainer]:[a.container]).forEach(function(a){b.appendChild(a)})}
+var a=this,d=[],c=z.body,g=c.childNodes,m=a.options.exporting.printMaxWidth,h,e;if(!a.isPrinting){a.isPrinting=!0;a.pointer.reset(null,0);C(a,"beforePrint");if(e=m&&a.chartWidth>m)h=[a.options.chart.width,void 0,!1],a.setSize(m,void 0,!1);g.forEach(function(a,b){1===a.nodeType&&(d[b]=a.style.display,a.style.display="none")});b(c);setTimeout(function(){A.focus();A.print();setTimeout(function(){b(a.renderTo);g.forEach(function(a,b){1===a.nodeType&&(a.style.display=d[b])});a.isPrinting=!1;e&&a.setSize.apply(a,
+h);C(a,"afterPrint")},1E3)},1)}},contextMenu:function(b,a,d,c,w,m,h){var e=this,n=e.options.navigation,k=e.chartWidth,v=e.chartHeight,l="cache-"+b,f=e[l],B=Math.max(w,m),p;f||(e.exportContextMenu=e[l]=f=t("div",{className:b},{position:"absolute",zIndex:1E3,padding:B+"px",pointerEvents:"auto"},e.fixedDiv||e.container),p=t("div",{className:"highcharts-menu"},null,f),e.styledMode||r(p,x({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},n.menuStyle)),
+f.hideMenu=function(){r(f,{display:"none"});h&&h.setState(0);e.openMenu=!1;g.clearTimeout(f.hideTimer)},e.exportEvents.push(q(f,"mouseleave",function(){f.hideTimer=setTimeout(f.hideMenu,500)}),q(f,"mouseenter",function(){g.clearTimeout(f.hideTimer)}),q(z,"mouseup",function(a){e.pointer.inClass(a.target,b)||f.hideMenu()}),q(f,"click",function(){e.openMenu&&f.hideMenu()})),a.forEach(function(a){"string"===typeof a&&(a=e.options.exporting.menuItemDefinitions[a]);if(g.isObject(a,!0)){var b;a.separator?
+b=t("hr",null,null,p):(b=t("div",{className:"highcharts-menu-item",onclick:function(b){b&&b.stopPropagation();f.hideMenu();a.onclick&&a.onclick.apply(e,arguments)},innerHTML:a.text||e.options.lang[a.textKey]},null,p),e.styledMode||(b.onmouseover=function(){r(this,n.menuItemHoverStyle)},b.onmouseout=function(){r(this,n.menuItemStyle)},r(b,x({cursor:"pointer"},n.menuItemStyle))));e.exportDivElements.push(b)}}),e.exportDivElements.push(p,f),e.exportMenuWidth=f.offsetWidth,e.exportMenuHeight=f.offsetHeight);
+a={display:"block"};d+e.exportMenuWidth>k?a.right=k-d-w-B+"px":a.left=d-B+"px";c+m+e.exportMenuHeight>v&&"top"!==h.alignOptions.verticalAlign?a.bottom=v-c-B+"px":a.top=c+m-B+"px";r(f,a);e.openMenu=!0},addButton:function(b){var a=this,d=a.renderer,c=p(a.options.navigation.buttonOptions,b),g=c.onclick,m=c.menuItems,h,e,n=c.symbolSize||12;a.btnCount||(a.btnCount=0);a.exportDivElements||(a.exportDivElements=[],a.exportSVGElements=[]);if(!1!==c.enabled){var k=c.theme,v=k.states,l=v&&v.hover,v=v&&v.select,
+f;a.styledMode||(k.fill=u(k.fill,"#ffffff"),k.stroke=u(k.stroke,"none"));delete k.states;g?f=function(b){b&&b.stopPropagation();g.call(a,b)}:m&&(f=function(b){b&&b.stopPropagation();a.contextMenu(e.menuClassName,m,e.translateX,e.translateY,e.width,e.height,e);e.setState(2)});c.text&&c.symbol?k.paddingLeft=u(k.paddingLeft,25):c.text||x(k,{width:c.width,height:c.height,padding:0});a.styledMode||(k["stroke-linecap"]="round",k.fill=u(k.fill,"#ffffff"),k.stroke=u(k.stroke,"none"));e=d.button(c.text,0,
+0,f,k,l,v).addClass(b.className).attr({title:u(a.options.lang[c._titleKey||c.titleKey],"")});e.menuClassName=b.menuClassName||"highcharts-menu-"+a.btnCount++;c.symbol&&(h=d.symbol(c.symbol,c.symbolX-n/2,c.symbolY-n/2,n,n,{width:n,height:n}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(e),a.styledMode||h.attr({stroke:c.symbolStroke,fill:c.symbolFill,"stroke-width":c.symbolStrokeWidth||1}));e.add(a.exportingGroup).align(x(c,{width:e.width,x:u(c.x,a.buttonOffset)}),!0,"spacingBox");a.buttonOffset+=
+(e.width+c.buttonSpacing)*("right"===c.align?-1:1);a.exportSVGElements.push(e,h)}},destroyExport:function(b){var a=b?b.target:this;b=a.exportSVGElements;var d=a.exportDivElements,c=a.exportEvents,l;b&&(b.forEach(function(b,c){b&&(b.onclick=b.ontouchstart=null,l="cache-"+b.menuClassName,a[l]&&delete a[l],a.exportSVGElements[c]=b.destroy())}),b.length=0);a.exportingGroup&&(a.exportingGroup.destroy(),delete a.exportingGroup);d&&(d.forEach(function(b,c){g.clearTimeout(b.hideTimer);I(b,"mouseleave");a.exportDivElements[c]=
+b.onmouseout=b.onmouseover=b.ontouchstart=b.onclick=null;D(b)}),d.length=0);c&&(c.forEach(function(a){a()}),c.length=0)}});F.prototype.inlineToAttributes="fill stroke strokeLinecap strokeLinejoin strokeWidth textAnchor x y".split(" ");F.prototype.inlineBlacklist=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/];F.prototype.unstyledElements=["clipPath","defs","desc"];l.prototype.inlineStyles=function(){function b(a){return a.replace(/([A-Z])/g,
+function(a,b){return"-"+b.toLowerCase()})}function a(d){function m(a,f){q=t=!1;if(l){for(r=l.length;r--&&!t;)t=l[r].test(f);q=!t}"transform"===f&&"none"===a&&(q=!0);for(r=g.length;r--&&!q;)q=g[r].test(f)||"function"===typeof a;q||v[f]===a&&"svg"!==d.nodeName||e[d.nodeName][f]===a||(-1!==c.indexOf(f)?d.setAttribute(b(f),a):u+=b(f)+":"+a+";")}var f,v,u="",w,q,t,r;if(1===d.nodeType&&-1===h.indexOf(d.nodeName)){f=A.getComputedStyle(d,null);v="svg"===d.nodeName?{}:A.getComputedStyle(d.parentNode,null);
+e[d.nodeName]||(n=k.getElementsByTagName("svg")[0],w=k.createElementNS(d.namespaceURI,d.nodeName),n.appendChild(w),e[d.nodeName]=p(A.getComputedStyle(w,null)),"text"===d.nodeName&&delete e.text.fill,n.removeChild(w));if(L||K)for(var x in f)m(f[x],x);else E(f,m);u&&(f=d.getAttribute("style"),d.setAttribute("style",(f?f+";":"")+u));"svg"===d.nodeName&&d.setAttribute("stroke-width","1px");"text"!==d.nodeName&&[].forEach.call(d.children||d.childNodes,a)}}var d=this.renderer,c=d.inlineToAttributes,g=d.inlineBlacklist,
+l=d.inlineWhitelist,h=d.unstyledElements,e={},n,k,d=z.createElement("iframe");r(d,{width:"1px",height:"1px",visibility:"hidden"});z.body.appendChild(d);k=d.contentWindow.document;k.open();k.write('\x3csvg xmlns\x3d"http://www.w3.org/2000/svg"\x3e\x3c/svg\x3e');k.close();a(this.container.querySelector("svg"));n.parentNode.removeChild(n)};H.menu=function(b,a,d,c){return["M",b,a+2.5,"L",b+d,a+2.5,"M",b,a+c/2+.5,"L",b+d,a+c/2+.5,"M",b,a+c-1.5,"L",b+d,a+c-1.5]};H.menuball=function(b,a,d,c){b=[];c=c/3-
+2;return b=b.concat(this.circle(d-c,a,c,c),this.circle(d-c,a+c+4,c,c),this.circle(d-c,a+2*(c+4),c,c))};l.prototype.renderExporting=function(){var b=this,a=b.options.exporting,d=a.buttons,c=b.isDirtyExporting||!b.exportSVGElements;b.buttonOffset=0;b.isDirtyExporting&&b.destroyExport();c&&!1!==a.enabled&&(b.exportEvents=[],b.exportingGroup=b.exportingGroup||b.renderer.g("exporting-group").attr({zIndex:3}).add(),E(d,function(a){b.addButton(a)}),b.isDirtyExporting=!1);q(b,"destroy",b.destroyExport)};
+q(l,"init",function(){var b=this;["exporting","navigation"].forEach(function(a){b[a]={update:function(d,c){b.isDirtyExporting=!0;p(!0,b.options[a],d);u(c,!0)&&b.redraw()}}})});l.prototype.callbacks.push(function(b){b.renderExporting();q(b,"redraw",b.renderExporting)})})(l)});
+//# sourceMappingURL=exporting.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Exporting module
+
+ (c) 2010-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(m){"object"===typeof module&&module.exports?module.exports=m:"function"===typeof define&&define.amd?define(function(){return m}):m("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(m){(function(a){a.ajax=function(f){var b=a.merge(!0,{url:!1,type:"GET",dataType:"json",success:!1,error:!1,data:!1,headers:{}},f);f={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"};var c=new XMLHttpRequest;if(!b.url)return!1;c.open(b.type.toUpperCase(),
+b.url,!0);c.setRequestHeader("Content-Type",f[b.dataType]||f.text);a.objectEach(b.headers,function(a,f){c.setRequestHeader(f,a)});c.onreadystatechange=function(){var a;if(4===c.readyState){if(200===c.status){a=c.responseText;if("json"===b.dataType)try{a=JSON.parse(a)}catch(v){b.error&&b.error(c,v);return}return b.success&&b.success(a)}b.error&&b.error(c,c.responseText)}};try{b.data=JSON.stringify(b.data)}catch(k){}c.send(b.data||!0)}})(m);(function(a){var f=a.win,b=f.navigator,c=f.document,k=f.URL||
+f.webkitURL||f,v=/Edge\/\d+/.test(b.userAgent);a.dataURLtoBlob=function(a){if((a=a.match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/))&&3<a.length&&f.atob&&f.ArrayBuffer&&f.Uint8Array&&f.Blob&&k.createObjectURL){for(var c=f.atob(a[3]),b=new f.ArrayBuffer(c.length),b=new f.Uint8Array(b),g=0;g<b.length;++g)b[g]=c.charCodeAt(g);a=new f.Blob([b],{type:a[1]});return k.createObjectURL(a)}};a.downloadURL=function(e,k){var q=c.createElement("a"),g;if("string"===typeof e||e instanceof String||!b.msSaveOrOpenBlob){if(v||
+2E6<e.length)if(e=a.dataURLtoBlob(e),!e)throw"Failed to convert to blob";if(void 0!==q.download)q.href=e,q.download=k,c.body.appendChild(q),q.click(),c.body.removeChild(q);else try{if(g=f.open(e,"chart"),void 0===g||null===g)throw"Failed to open window";}catch(B){f.location.href=e}}else b.msSaveOrOpenBlob(e,k)}})(m);(function(a){function f(a,b){if(k.Blob&&k.navigator.msSaveOrOpenBlob)return new k.Blob(["\ufeff"+a],{type:b})}var b=a.defined,c=a.pick,k=a.win,v=k.document,e=a.seriesTypes,m=a.downloadURL;
+a.setOptions({exporting:{csv:{columnHeaderFormatter:null,dateFormat:"%Y-%m-%d %H:%M:%S",decimalPoint:null,itemDelimiter:null,lineDelimiter:"\n"},showTable:!1,useMultiLevelHeaders:!0,useRowspanHeaders:!0},lang:{downloadCSV:"Download CSV",downloadXLS:"Download XLS",openInCloud:"Open in Highcharts Cloud",viewData:"View data table"}});a.addEvent(a.Chart,"render",function(){this.options&&this.options.exporting&&this.options.exporting.showTable&&this.viewData()});a.Chart.prototype.setUpKeyToAxis=function(){e.arearange&&
+(e.arearange.prototype.keyToAxis={low:"y",high:"y"});e.gantt&&(e.gantt.prototype.keyToAxis={start:"x",end:"x"})};a.Chart.prototype.getDataRows=function(g){var f=this.time,e=this.options.exporting&&this.options.exporting.csv||{},h,l=this.xAxis,t={},k=[],n,m=[],p=[],y,w,u,C=function(d,b,h){if(e.columnHeaderFormatter){var u=e.columnHeaderFormatter(d,b,h);if(!1!==u)return u}return d?d instanceof a.Axis?d.options.title&&d.options.title.text||(d.isDatetimeAxis?"DateTime":"Category"):g?{columnTitle:1<h?
+b:d.name,topLevelColumnTitle:d.name}:d.name+(1<h?" ("+b+")":""):"Category"},z=[];w=0;this.setUpKeyToAxis();this.series.forEach(function(d){var b=d.options.keys||d.pointArrayMap||["y"],h=b.length,u=!d.requireSorting&&{},x={},B={},n=l.indexOf(d.xAxis),k,r;b.forEach(function(a){var b=(d.keyToAxis&&d.keyToAxis[a]||a)+"Axis";x[a]=d[b]&&d[b].categories||[];B[a]=d[b]&&d[b].isDatetimeAxis});if(!1!==d.options.includeInCSVExport&&!d.options.isInternal&&!1!==d.visible){a.find(z,function(d){return d[0]===n})||
+z.push([n,w]);for(r=0;r<h;)y=C(d,b[r],b.length),p.push(y.columnTitle||y),g&&m.push(y.topLevelColumnTitle||y),r++;k={chart:d.chart,autoIncrement:d.autoIncrement,options:d.options,pointArrayMap:d.pointArrayMap};d.options.data.forEach(function(a,g){var l,p;p={series:k};d.pointClass.prototype.applyOptions.apply(p,[a]);a=p.x;l=d.data[g]&&d.data[g].name;u&&(u[a]&&(a+="|"+g),u[a]=!0);r=0;d.xAxis&&"name"!==d.exportKey||(a=l);t[a]||(t[a]=[],t[a].xValues=[]);t[a].x=p.x;t[a].name=l;for(t[a].xValues[n]=p.x;r<
+h;)g=b[r],l=p[g],t[a][w+r]=c(x[g][l],B[g]?f.dateFormat(e.dateFormat,l):null,l),r++});w+=r}});for(n in t)t.hasOwnProperty(n)&&k.push(t[n]);var x,A;n=g?[m,p]:[p];for(w=z.length;w--;)x=z[w][0],A=z[w][1],h=l[x],k.sort(function(a,b){return a.xValues[x]-b.xValues[x]}),u=C(h),n[0].splice(A,0,u),g&&n[1]&&n[1].splice(A,0,u),k.forEach(function(a){var d=a.name;h&&!b(d)&&(h.isDatetimeAxis?(a.x instanceof Date&&(a.x=a.x.getTime()),d=f.dateFormat(e.dateFormat,a.x)):d=h.categories?c(h.names[a.x],h.categories[a.x],
+a.x):a.x);a.splice(A,0,d)});n=n.concat(k);a.fireEvent(this,"exportData",{dataRows:n});return n};a.Chart.prototype.getCSV=function(a){var b="",g=this.getDataRows(),h=this.options.exporting.csv,f=c(h.decimalPoint,","!==h.itemDelimiter&&a?(1.1).toLocaleString()[1]:"."),e=c(h.itemDelimiter,","===f?";":","),k=h.lineDelimiter;g.forEach(function(a,h){for(var c,l=a.length;l--;)c=a[l],"string"===typeof c&&(c='"'+c+'"'),"number"===typeof c&&"."!==f&&(c=c.toString().replace(".",f)),a[l]=c;b+=a.join(e);h<g.length-
+1&&(b+=k)});return b};a.Chart.prototype.getTable=function(a){var b="\x3ctable\x3e",g=this.options,h=a?(1.1).toLocaleString()[1]:".",f=c(g.exporting.useMultiLevelHeaders,!0);a=this.getDataRows(f);var e=0,k=f?a.shift():null,n=a.shift(),m=function(a,b,g,f){var e=c(f,"");b="text"+(b?" "+b:"");"number"===typeof e?(e=e.toString(),","===h&&(e=e.replace(".",h)),b="number"):f||(b="empty");return"\x3c"+a+(g?" "+g:"")+' class\x3d"'+b+'"\x3e'+e+"\x3c/"+a+"\x3e"};!1!==g.exporting.tableCaption&&(b+='\x3ccaption class\x3d"highcharts-table-caption"\x3e'+
+c(g.exporting.tableCaption,g.title.text?g.title.text.replace(/&/g,"\x26amp;").replace(/</g,"\x26lt;").replace(/>/g,"\x26gt;").replace(/"/g,"\x26quot;").replace(/'/g,"\x26#x27;").replace(/\//g,"\x26#x2F;"):"Chart")+"\x3c/caption\x3e");for(var p=0,q=a.length;p<q;++p)a[p].length>e&&(e=a[p].length);b+=function(a,b,e){var h="\x3cthead\x3e",c=0;e=e||b&&b.length;var k,d,l=0;if(d=f&&a&&b){a:if(d=a.length,b.length===d){for(;d--;)if(a[d]!==b[d]){d=!1;break a}d=!0}else d=!1;d=!d}if(d){for(h+="\x3ctr\x3e";c<
+e;++c)d=a[c],k=a[c+1],d===k?++l:l?(h+=m("th","highcharts-table-topheading",'scope\x3d"col" colspan\x3d"'+(l+1)+'"',d),l=0):(d===b[c]?g.exporting.useRowspanHeaders?(k=2,delete b[c]):(k=1,b[c]=""):k=1,h+=m("th","highcharts-table-topheading",'scope\x3d"col"'+(1<k?' valign\x3d"top" rowspan\x3d"'+k+'"':""),d));h+="\x3c/tr\x3e"}if(b){h+="\x3ctr\x3e";c=0;for(e=b.length;c<e;++c)void 0!==b[c]&&(h+=m("th",null,'scope\x3d"col"',b[c]));h+="\x3c/tr\x3e"}return h+"\x3c/thead\x3e"}(k,n,Math.max(e,n.length));b+=
+"\x3ctbody\x3e";a.forEach(function(a){b+="\x3ctr\x3e";for(var c=0;c<e;c++)b+=m(c?"td":"th",null,c?"":'scope\x3d"row"',a[c]);b+="\x3c/tr\x3e"});return b+="\x3c/tbody\x3e\x3c/table\x3e"};a.Chart.prototype.downloadCSV=function(){var a=this.getCSV(!0);m(f(a,"text/csv")||"data:text/csv,\ufeff"+encodeURIComponent(a),this.getFilename()+".csv")};a.Chart.prototype.downloadXLS=function(){var a='\x3chtml xmlns:o\x3d"urn:schemas-microsoft-com:office:office" xmlns:x\x3d"urn:schemas-microsoft-com:office:excel" xmlns\x3d"http://www.w3.org/TR/REC-html40"\x3e\x3chead\x3e\x3c!--[if gte mso 9]\x3e\x3cxml\x3e\x3cx:ExcelWorkbook\x3e\x3cx:ExcelWorksheets\x3e\x3cx:ExcelWorksheet\x3e\x3cx:Name\x3eArk1\x3c/x:Name\x3e\x3cx:WorksheetOptions\x3e\x3cx:DisplayGridlines/\x3e\x3c/x:WorksheetOptions\x3e\x3c/x:ExcelWorksheet\x3e\x3c/x:ExcelWorksheets\x3e\x3c/x:ExcelWorkbook\x3e\x3c/xml\x3e\x3c![endif]--\x3e\x3cstyle\x3etd{border:none;font-family: Calibri, sans-serif;} .number{mso-number-format:"0.00";} .text{ mso-number-format:"@";}\x3c/style\x3e\x3cmeta name\x3dProgId content\x3dExcel.Sheet\x3e\x3cmeta charset\x3dUTF-8\x3e\x3c/head\x3e\x3cbody\x3e'+
+this.getTable(!0)+"\x3c/body\x3e\x3c/html\x3e";m(f(a,"application/vnd.ms-excel")||"data:application/vnd.ms-excel;base64,"+k.btoa(unescape(encodeURIComponent(a))),this.getFilename()+".xls")};a.Chart.prototype.viewData=function(){this.dataTableDiv||(this.dataTableDiv=v.createElement("div"),this.dataTableDiv.className="highcharts-data-table",this.renderTo.parentNode.insertBefore(this.dataTableDiv,this.renderTo.nextSibling));this.dataTableDiv.innerHTML=this.getTable()};a.Chart.prototype.openInCloud=function(){function b(c){Object.keys(c).forEach(function(e){"function"===
+typeof c[e]&&delete c[e];a.isObject(c[e])&&b(c[e])})}var c,e;c=a.merge(this.userOptions);b(c);c={name:c.title&&c.title.text||"Chart title",options:c,settings:{constructor:"Chart",dataProvider:{csv:this.getCSV()}}};e=JSON.stringify(c);(function(){var a=v.createElement("form");v.body.appendChild(a);a.method="post";a.action="https://cloud-api.highcharts.com/openincloud";a.target="_blank";var b=v.createElement("input");b.type="hidden";b.name="chart";b.value=e;a.appendChild(b);a.submit();v.body.removeChild(a)})()};
+var q=a.getOptions().exporting;q&&(a.extend(q.menuItemDefinitions,{downloadCSV:{textKey:"downloadCSV",onclick:function(){this.downloadCSV()}},downloadXLS:{textKey:"downloadXLS",onclick:function(){this.downloadXLS()}},viewData:{textKey:"viewData",onclick:function(){this.viewData()}},openInCloud:{textKey:"openInCloud",onclick:function(){this.openInCloud()}}}),q.buttons.contextButton.menuItems.push("separator","downloadCSV","downloadXLS","viewData","openInCloud"));e.map&&(e.map.prototype.exportKey="name");
+e.mapbubble&&(e.mapbubble.prototype.exportKey="name");e.treemap&&(e.treemap.prototype.exportKey="name")})(m)});
+//# sourceMappingURL=export-data.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Highcharts funnel module
+
+ (c) 2010-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(a){"object"===typeof module&&module.exports?module.exports=a:"function"===typeof define&&define.amd?define(function(){return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){(function(a){var p=a.seriesType,D=a.seriesTypes,H=a.noop,E=a.pick;p("funnel","pie",{animation:!1,center:["50%","50%"],width:"90%",neckWidth:"30%",height:"100%",neckHeight:"25%",reversed:!1,size:!0,dataLabels:{connectorWidth:1},states:{select:{color:"#cccccc",borderColor:"#000000"}}},{animate:H,
+translate:function(){var d=function(b,a){return/%$/.test(b)?a*parseInt(b,10)/100:parseInt(b,10)},a=0,f=this.chart,e=this.options,c=e.reversed,v=e.ignoreHiddenPoint,t=f.plotWidth,f=f.plotHeight,q=0,p=e.center,g=d(p[0],t),r=d(p[1],f),D=d(e.width,t),k,w,l=d(e.height,f),x=d(e.neckWidth,t),F=d(e.neckHeight,f),y=r-l/2+l-F,d=this.data,A,B,E="left"===e.dataLabels.position?1:0,C,m,G,u,h,z,n;this.getWidthAt=w=function(b){var a=r-l/2;return b>y||l===F?x:x+(D-x)*(1-(b-a)/(l-F))};this.getX=function(b,a,d){return g+
+(a?-1:1)*(w(c?2*r-b:b)/2+d.labelDistance)};this.center=[g,r,l];this.centerX=g;d.forEach(function(b){v&&!1===b.visible||(a+=b.y)});d.forEach(function(b){n=null;B=a?b.y/a:0;m=r-l/2+q*l;h=m+B*l;k=w(m);C=g-k/2;G=C+k;k=w(h);u=g-k/2;z=u+k;m>y?(C=u=g-x/2,G=z=g+x/2):h>y&&(n=h,k=w(y),u=g-k/2,z=u+k,h=y);c&&(m=2*r-m,h=2*r-h,null!==n&&(n=2*r-n));A=["M",C,m,"L",G,m,z,h];null!==n&&A.push(z,n,u,n);A.push(u,h,"Z");b.shapeType="path";b.shapeArgs={d:A};b.percentage=100*B;b.plotX=g;b.plotY=(m+(n||h))/2;b.tooltipPos=
+[g,b.plotY];b.slice=H;b.half=E;v&&!1===b.visible||(q+=B)})},sortByAngle:function(a){a.sort(function(a,d){return a.plotY-d.plotY})},drawDataLabels:function(){var a=this.data,p=this.options.dataLabels.distance,f,e,c,v=a.length,t,q;for(this.center[2]-=2*p;v--;)c=a[v],e=(f=c.half)?1:-1,q=c.plotY,c.labelDistance=E(c.options.dataLabels&&c.options.dataLabels.distance,p),this.maxLabelDistance=Math.max(c.labelDistance,this.maxLabelDistance||0),t=this.getX(q,f,c),c.labelPosition={natural:{x:0,y:q},"final":{},
+alignment:f?"right":"left",connectorPosition:{breakAt:{x:t+(c.labelDistance-5)*e,y:q},touchingSliceAt:{x:t+c.labelDistance*e,y:q}}};D.pie.prototype.drawDataLabels.call(this)}});p("pyramid","funnel",{neckWidth:"0%",neckHeight:"0%",reversed:!0})})(a)});
+//# sourceMappingURL=funnel.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ (c) 2009-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(m){"object"===typeof module&&module.exports?module.exports=m:"function"===typeof define&&define.amd?define(function(){return m}):m("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(m){(function(b){var r=b.addEvent,f=b.Axis,m=b.Chart,l=b.color,p,q=b.extend,n=b.isNumber,c=b.Legend,g=b.LegendSymbolMixin,w=b.noop,v=b.merge,u=b.pick;b.ColorAxis||(p=b.ColorAxis=function(){this.init.apply(this,arguments)},q(p.prototype,f.prototype),q(p.prototype,{defaultColorAxisOptions:{lineWidth:0,
+minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(f.prototype.keepProps),init:function(a,d){var e="vertical"!==a.options.legend.layout,h;this.coll="colorAxis";h=v(this.defaultColorAxisOptions,
+{side:e?2:1,reversed:!e},d,{opposite:!e,showEmpty:!1,title:null,visible:a.options.legend.enabled});f.prototype.init.call(this,a,h);d.dataClasses&&this.initDataClasses(d);this.initStops();this.horiz=e;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var d=this.chart,e,h=0,k=d.options.chart.colorCount,b=this.options,c=a.dataClasses.length;this.dataClasses=e=[];this.legendItems=[];a.dataClasses.forEach(function(a,g){a=v(a);e.push(a);if(d.styledMode||!a.color)"category"===
+b.dataClassColor?(d.styledMode||(g=d.options.colors,k=g.length,a.color=g[h]),a.colorIndex=h,h++,h===k&&(h=0)):a.color=l(b.minColor).tweenTo(l(b.maxColor),2>c?.5:g/(c-1))})},setTickPositions:function(){if(!this.dataClasses)return f.prototype.setTickPositions.call(this)},initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(a){a.color=l(a[1])})},setOptions:function(a){f.prototype.setOptions.call(this,a);this.options.crosshair=
+this.options.marker},setAxisSize:function(){var a=this.legendSymbol,d=this.chart,e=d.options.legend||{},h,k;a?(this.left=e=a.attr("x"),this.top=h=a.attr("y"),this.width=k=a.attr("width"),this.height=a=a.attr("height"),this.right=d.chartWidth-e-k,this.bottom=d.chartHeight-h-a,this.len=this.horiz?k:a,this.pos=this.horiz?e:h):this.len=(this.horiz?e.symbolWidth:e.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-a)/(this.max-this.min||
+1)},toColor:function(a,d){var e=this.stops,h,k,b=this.dataClasses,g,c;if(b)for(c=b.length;c--;){if(g=b[c],h=g.from,e=g.to,(void 0===h||a>=h)&&(void 0===e||a<=e)){k=g.color;d&&(d.dataClass=c,d.colorIndex=g.colorIndex);break}}else{a=this.normalizedValue(a);for(c=e.length;c--&&!(a>e[c][0]););h=e[c]||e[c+1];e=e[c+1]||h;a=1-(e[0]-a)/(e[0]-h[0]||1);k=h.color.tweenTo(e.color,a)}return k},getOffset:function(){var a=this.legendGroup,d=this.chart.axisOffset[this.side];a&&(this.axisParent=a,f.prototype.getOffset.call(this),
+this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=d)},setLegendColor:function(){var a,d=this.reversed;a=d?1:0;d=d?0:1;a=this.horiz?[a,0,d,0]:[0,d,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,d){var e=a.padding,c=a.options,k=this.horiz,b=u(c.symbolWidth,k?this.defaultLegendLength:12),g=u(c.symbolHeight,k?12:this.defaultLegendLength),l=u(c.labelPadding,k?16:30),c=u(c.itemDistance,
+10);this.setLegendColor();d.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,b,g).attr({zIndex:1}).add(d.legendGroup);this.legendItemWidth=b+e+(k?c:l);this.legendItemHeight=g+e+(k?l:0)},setState:function(a){this.series.forEach(function(d){d.setState(a)})},visible:!0,setVisible:w,getSeriesExtremes:function(){var a=this.series,d=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;d--;)a[d].getExtremes(),void 0!==a[d].valueMin&&(this.dataMin=Math.min(this.dataMin,a[d].valueMin),this.dataMax=
+Math.max(this.dataMax,a[d].valueMax))},drawCrosshair:function(a,d){var e=d&&d.plotX,c=d&&d.plotY,b,g=this.pos,l=this.len;d&&(b=this.toPixels(d[d.series.colorKey]),b<g?b=g-2:b>g+l&&(b=g+l+2),d.plotX=b,d.plotY=this.len-b,f.prototype.drawCrosshair.call(this,a,d),d.plotX=e,d.plotY=c,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||this.cross.attr({fill:this.crosshair.color})))},
+getPlotLinePath:function(a,d,e,c,b){return n(b)?this.horiz?["M",b-4,this.top-6,"L",b+4,this.top-6,b,this.top,"Z"]:["M",this.left,b,"L",this.left-6,b+6,this.left-6,b-6,"Z"]:f.prototype.getPlotLinePath.call(this,a,d,e,c)},update:function(a,d){var e=this.chart,b=e.legend;this.series.forEach(function(a){a.isDirtyData=!0});a.dataClasses&&b.allItems&&(b.allItems.forEach(function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),e.isDirtyLegend=!0);e.options[this.coll]=v(this.userOptions,a);f.prototype.update.call(this,
+a,d);this.legendItem&&(this.setLegendColor(),b.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);f.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var a=this,d=this.chart,e=this.legendItems,c=d.options.legend,l=c.valueDecimals,p=c.valueSuffix||"",f;e.length||this.dataClasses.forEach(function(c,h){var k=!0,n=c.from,m=c.to;f="";void 0===n?f="\x3c ":void 0===m&&(f="\x3e ");void 0!==n&&(f+=b.numberFormat(n,l)+p);void 0!==n&&void 0!==m&&(f+=
+" - ");void 0!==m&&(f+=b.numberFormat(m,l)+p);e.push(q({chart:d,name:f,options:{},drawLegendSymbol:g.drawRectangle,visible:!0,setState:w,isDataClass:!0,setVisible:function(){k=this.visible=!k;a.series.forEach(function(a){a.points.forEach(function(a){a.dataClass===h&&a.setVisible(k)})});d.legend.colorizeItem(this,k)}},c))});return e},name:""}),["fill","stroke"].forEach(function(a){b.Fx.prototype[a+"Setter"]=function(){this.elem.attr(a,l(this.start).tweenTo(l(this.end),this.pos),null,!0)}}),r(m,"afterGetAxes",
+function(){var a=this.options.colorAxis;this.colorAxis=[];a&&new p(this,a)}),r(c,"afterGetAllItems",function(a){var d=[],c=this.chart.colorAxis[0];c&&c.options&&c.options.showInLegend&&(c.options.dataClasses?d=c.getDataClassLegendSymbols():d.push(c),c.series.forEach(function(c){b.erase(a.allItems,c)}));for(c=d.length;c--;)a.allItems.unshift(d[c])}),r(c,"afterColorizeItem",function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}),r(c,"afterUpdate",function(a,
+c,b){this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},b)}))})(m);(function(b){var m=b.defined,f=b.noop,t=b.seriesTypes;b.colorPointMixin={isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(b){var l=this,f=b?"show":"hide";l.visible=!!b;["graphic","dataLabel"].forEach(function(b){if(l[b])l[b][f]()})},setState:function(l){b.Point.prototype.setState.call(this,l);this.graphic&&this.graphic.attr({zIndex:"hover"===l?1:0})}};b.colorSeriesMixin=
+{pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:f,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:t.column.prototype.pointAttribs,translateColors:function(){var b=this,f=this.options.nullColor,m=this.colorAxis,n=this.colorKey;this.data.forEach(function(c){var g=c[n];if(g=c.options.color||(c.isNull?f:m&&void 0!==g?m.toColor(g,c):c.color||b.color))c.color=g})},colorAttribs:function(b){var f=
+{};m(b.color)&&(f[this.colorProp||"fill"]=b.color);return f}}})(m);(function(b){var m=b.colorPointMixin,f=b.merge,t=b.noop,l=b.pick,p=b.Series,q=b.seriesType,n=b.seriesTypes;q("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{hover:{halo:!1,brightness:.2}}},
+f(b.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var b;n.scatter.prototype.init.apply(this,arguments);b=this.options;b.pointRange=l(b.pointRange,b.colsize||1);this.yAxis.axisPointRange=b.rowsize||1},translate:function(){var b=this.options,g=this.xAxis,f=this.yAxis,m=b.pointPadding||0,n=function(a,b,c){return Math.min(Math.max(b,a),c)};this.generatePoints();this.points.forEach(function(a){var c=(b.colsize||1)/2,e=(b.rowsize||
+1)/2,h=n(Math.round(g.len-g.translate(a.x-c,0,1,0,1)),-g.len,2*g.len),c=n(Math.round(g.len-g.translate(a.x+c,0,1,0,1)),-g.len,2*g.len),k=n(Math.round(f.translate(a.y-e,0,1,0,1)),-f.len,2*f.len),e=n(Math.round(f.translate(a.y+e,0,1,0,1)),-f.len,2*f.len),p=l(a.pointPadding,m);a.plotX=a.clientX=(h+c)/2;a.plotY=(k+e)/2;a.shapeType="rect";a.shapeArgs={x:Math.min(h,c)+p,y:Math.min(k,e)+p,width:Math.abs(c-h)-2*p,height:Math.abs(e-k)-2*p}});this.translateColors()},drawPoints:function(){var b=this.chart.styledMode?
+"css":"attr";n.column.prototype.drawPoints.call(this);this.points.forEach(function(c){c.graphic[b](this.colorAttribs(c))},this)},animate:t,getBox:t,drawLegendSymbol:b.LegendSymbolMixin.drawRectangle,alignDataLabel:n.column.prototype.alignDataLabel,getExtremes:function(){p.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;p.prototype.getExtremes.call(this)}}),b.extend({haloPath:function(b){if(!b)return[];var c=this.shapeArgs;return["M",c.x-b,c.y-
+b,"L",c.x-b,c.y+c.height+b,c.x+c.width+b,c.y+c.height+b,c.x+c.width+b,c.y-b,"Z"]}},m))})(m)});
+//# sourceMappingURL=heatmap.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ (c) 2014-2018 Highsoft AS
+ Authors: Jon Arild Nygard / Oystein Moseng
+
+ License: www.highcharts.com/license
+*/
+(function(p){"object"===typeof module&&module.exports?module.exports=p:"function"===typeof define&&define.amd?define(function(){return p}):p("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(p){var C=function(b){var y=b.extend,p=b.isArray,g=b.isObject,u=b.isNumber,B=b.merge,z=b.pick;return{getColor:function(q,l){var v=l.index,m=l.mapOptionsToLevel,g=l.parentColor,w=l.parentColorIndex,n=l.series,e=l.colors,y=l.siblings,h=n.points,u=n.chart.options.chart,A,p,a,c;if(q){h=h[q.i];q=m[q.level]||
+{};if(m=h&&q.colorByPoint)p=h.index%(e?e.length:u.colorCount),A=e&&e[p];if(!n.chart.styledMode){e=h&&h.options.color;u=q&&q.color;if(a=g)a=(a=q&&q.colorVariation)&&"brightness"===a.key?b.color(g).brighten(v/y*a.to).get():g;a=z(e,u,A,a,n.color)}c=z(h&&h.options.colorIndex,q&&q.colorIndex,p,w,l.colorIndex)}return{color:a,colorIndex:c}},getLevelOptions:function(b){var l=null,v,m,q,w;if(g(b))for(l={},q=u(b.from)?b.from:1,w=b.levels,m={},v=g(b.defaults)?b.defaults:{},p(w)&&(m=w.reduce(function(b,e){var l,
+h;g(e)&&u(e.level)&&(h=B({},e),l="boolean"===typeof h.levelIsConstant?h.levelIsConstant:v.levelIsConstant,delete h.levelIsConstant,delete h.level,e=e.level+(l?0:q-1),g(b[e])?y(b[e],h):b[e]=h);return b},{})),w=u(b.to)?b.to:1,b=0;b<=w;b++)l[b]=B({},v,g(m[b])?m[b]:{});return l},setTreeValues:function l(b,m){var g=m.before,v=m.idRoot,n=m.mapIdToNode[v],e=m.points[b.i],u=e&&e.options||{},h=0,p=[];y(b,{levelDynamic:b.level-(("boolean"===typeof m.levelIsConstant?m.levelIsConstant:1)?0:n.level),name:z(e&&
+e.name,""),visible:v===b.id||("boolean"===typeof m.visible?m.visible:!1)});"function"===typeof g&&(b=g(b,m));b.children.forEach(function(e,g){var a=y({},m);y(a,{index:g,siblings:b.children.length,visible:b.visible});e=l(e,a);p.push(e);e.visible&&(h+=e.val)});b.visible=0<h||b.visible;g=z(u.value,h);y(b,{children:p,childrenTotal:h,isLeaf:b.visible&&!h,val:g});return b},updateRootId:function(b){var l;g(b)&&(l=g(b.options)?b.options:{},l=z(b.rootNode,l.rootId,""),g(b.userOptions)&&(b.userOptions.rootId=
+l),b.rootNode=l);return l}}}(p);(function(b,p){var y=b.seriesType,g=b.seriesTypes,u=b.merge,B=b.extend,z=b.noop,q=p.getColor,l=p.getLevelOptions,v=b.isArray,m=b.isNumber,C=b.isObject,w=b.isString,n=b.pick,e=b.Series,E=b.stableSort,h=b.Color,F=function(a,c,d){d=d||this;b.objectEach(a,function(b,f){c.call(d,b,f,a)})},A=function(a,c,d){d=d||this;a=c.call(d,a);!1!==a&&A(a,c,d)},G=p.updateRootId;y("treemap","scatter",{showInLegend:!1,marker:!1,colorByPoint:!1,dataLabels:{enabled:!0,defer:!1,verticalAlign:"middle",
+formatter:function(){var a=this&&this.point?this.point:{};return w(a.name)?a.name:""},inside:!0},tooltip:{headerFormat:"",pointFormat:"\x3cb\x3e{point.name}\x3c/b\x3e: {point.value}\x3cbr/\x3e"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,drillUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,opacity:.15,states:{hover:{borderColor:"#999999",brightness:g.heatmap?0:.1,halo:!1,
+opacity:.75,shadow:!1}}},{pointArrayMap:["value"],directTouch:!0,optionalAxis:"colorAxis",getSymbol:z,parallelArrays:["x","y","value","colorValue"],colorKey:"colorValue",trackerGroups:["group","dataLabelsGroup"],getListOfParents:function(a,c){a=v(a)?a:[];var d=v(c)?c:[];c=a.reduce(function(a,c,d){c=n(c.parent,"");void 0===a[c]&&(a[c]=[]);a[c].push(d);return a},{"":[]});F(c,function(a,c,b){""!==c&&-1===d.indexOf(c)&&(a.forEach(function(a){b[""].push(a)}),delete b[c])});return c},getTree:function(){var a=
+this.data.map(function(a){return a.id}),a=this.getListOfParents(this.data,a);this.nodeMap=[];return this.buildNode("",-1,0,a,null)},init:function(a,c){var d=b.colorSeriesMixin;b.colorSeriesMixin&&(this.translateColors=d.translateColors,this.colorAttribs=d.colorAttribs,this.axisTypes=d.axisTypes);e.prototype.init.call(this,a,c);this.options.allowDrillToNode&&b.addEvent(this,"click",this.onClickDrillToNode)},buildNode:function(a,c,d,b,f){var t=this,x=[],k=t.points[c],D=0,e;(b[a]||[]).forEach(function(c){e=
+t.buildNode(t.points[c].id,c,d+1,b,a);D=Math.max(e.height+1,D);x.push(e)});c={id:a,i:c,children:x,height:D,level:d,parent:f,visible:!1};t.nodeMap[c.id]=c;k&&(k.node=c);return c},setTreeValues:function(a){var c=this,d=c.options,b=c.nodeMap[c.rootNode],d="boolean"===typeof d.levelIsConstant?d.levelIsConstant:!0,f=0,r=[],x,k=c.points[a.i];a.children.forEach(function(a){a=c.setTreeValues(a);r.push(a);a.ignore||(f+=a.val)});E(r,function(a,c){return a.sortIndex-c.sortIndex});x=n(k&&k.options.value,f);k&&
+(k.value=x);B(a,{children:r,childrenTotal:f,ignore:!(n(k&&k.visible,!0)&&0<x),isLeaf:a.visible&&!f,levelDynamic:a.level-(d?0:b.level),name:n(k&&k.name,""),sortIndex:n(k&&k.sortIndex,-x),val:x});return a},calculateChildrenAreas:function(a,c){var d=this,b=d.options,f=d.mapOptionsToLevel[a.level+1],r=n(d[f&&f.layoutAlgorithm]&&f.layoutAlgorithm,b.layoutAlgorithm),x=b.alternateStartingDirection,k=[];a=a.children.filter(function(a){return!a.ignore});f&&f.layoutStartingDirection&&(c.direction="vertical"===
+f.layoutStartingDirection?0:1);k=d[r](c,a);a.forEach(function(a,b){b=k[b];a.values=u(b,{val:a.childrenTotal,direction:x?1-c.direction:c.direction});a.pointValues=u(b,{x:b.x/d.axisRatio,width:b.width/d.axisRatio});a.children.length&&d.calculateChildrenAreas(a,a.values)})},setPointValues:function(){var a=this,c=a.xAxis,d=a.yAxis;a.points.forEach(function(b){var f=b.node,r=f.pointValues,t,k,e=0;a.chart.styledMode||(e=(a.pointAttribs(b)["stroke-width"]||0)%2/2);r&&f.visible?(f=Math.round(c.translate(r.x,
+0,0,0,1))-e,t=Math.round(c.translate(r.x+r.width,0,0,0,1))-e,k=Math.round(d.translate(r.y,0,0,0,1))-e,r=Math.round(d.translate(r.y+r.height,0,0,0,1))-e,b.shapeType="rect",b.shapeArgs={x:Math.min(f,t),y:Math.min(k,r),width:Math.abs(t-f),height:Math.abs(r-k)},b.plotX=b.shapeArgs.x+b.shapeArgs.width/2,b.plotY=b.shapeArgs.y+b.shapeArgs.height/2):(delete b.plotX,delete b.plotY)})},setColorRecursive:function(a,c,d,b,f){var r=this,t=r&&r.chart,t=t&&t.options&&t.options.colors,k;if(a){k=q(a,{colors:t,index:b,
+mapOptionsToLevel:r.mapOptionsToLevel,parentColor:c,parentColorIndex:d,series:r,siblings:f});if(c=r.points[a.i])c.color=k.color,c.colorIndex=k.colorIndex;(a.children||[]).forEach(function(c,d){r.setColorRecursive(c,k.color,k.colorIndex,d,a.children.length)})}},algorithmGroup:function(a,c,d,b){this.height=a;this.width=c;this.plot=b;this.startDirection=this.direction=d;this.lH=this.nH=this.lW=this.nW=this.total=0;this.elArr=[];this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(a,c){return Math.max(a/
+c,c/a)}};this.addElement=function(a){this.lP.total=this.elArr[this.elArr.length-1];this.total+=a;0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=
+this.lP.aspectRatio(this.lP.nW,this.nH));this.elArr.push(a)};this.reset=function(){this.lW=this.nW=0;this.elArr=[];this.total=0}},algorithmCalcPoints:function(a,c,d,b){var f,t,e,k,l=d.lW,h=d.lH,g=d.plot,m,p=0,n=d.elArr.length-1;c?(l=d.nW,h=d.nH):m=d.elArr[d.elArr.length-1];d.elArr.forEach(function(a){if(c||p<n)0===d.direction?(f=g.x,t=g.y,e=l,k=a/e):(f=g.x,t=g.y,k=h,e=a/k),b.push({x:f,y:t,width:e,height:k}),0===d.direction?g.y+=k:g.x+=e;p+=1});d.reset();0===d.direction?d.width-=l:d.height-=h;g.y=
+g.parent.y+(g.parent.height-d.height);g.x=g.parent.x+(g.parent.width-d.width);a&&(d.direction=1-d.direction);c||d.addElement(m)},algorithmLowAspectRatio:function(a,c,d){var b=[],f=this,e,g={x:c.x,y:c.y,parent:c},k=0,l=d.length-1,h=new this.algorithmGroup(c.height,c.width,c.direction,g);d.forEach(function(d){e=d.val/c.val*c.height*c.width;h.addElement(e);h.lP.nR>h.lP.lR&&f.algorithmCalcPoints(a,!1,h,b,g);k===l&&f.algorithmCalcPoints(a,!0,h,b,g);k+=1});return b},algorithmFill:function(a,c,d){var b=
+[],f,e=c.direction,g=c.x,k=c.y,h=c.width,l=c.height,m,p,n,q;d.forEach(function(d){f=d.val/c.val*c.height*c.width;m=g;p=k;0===e?(q=l,n=f/q,h-=n,g+=n):(n=h,q=f/n,l-=q,k+=q);b.push({x:m,y:p,width:n,height:q});a&&(e=1-e)});return b},strip:function(a,c){return this.algorithmLowAspectRatio(!1,a,c)},squarified:function(a,c){return this.algorithmLowAspectRatio(!0,a,c)},sliceAndDice:function(a,c){return this.algorithmFill(!0,a,c)},stripes:function(a,c){return this.algorithmFill(!1,a,c)},translate:function(){var a=
+this,c=a.options,d=G(a),b,f;e.prototype.translate.call(a);f=a.tree=a.getTree();b=a.nodeMap[d];a.mapOptionsToLevel=l({from:b.level+1,levels:c.levels,to:f.height,defaults:{levelIsConstant:a.options.levelIsConstant,colorByPoint:c.colorByPoint}});""===d||b&&b.children.length||(a.drillToNode("",!1),d=a.rootNode,b=a.nodeMap[d]);A(a.nodeMap[a.rootNode],function(c){var b=!1,d=c.parent;c.visible=!0;if(d||""===d)b=a.nodeMap[d];return b});A(a.nodeMap[a.rootNode].children,function(a){var c=!1;a.forEach(function(a){a.visible=
+!0;a.children.length&&(c=(c||[]).concat(a.children))});return c});a.setTreeValues(f);a.axisRatio=a.xAxis.len/a.yAxis.len;a.nodeMap[""].pointValues=d={x:0,y:0,width:100,height:100};a.nodeMap[""].values=d=u(d,{width:d.width*a.axisRatio,direction:"vertical"===c.layoutStartingDirection?0:1,val:f.val});a.calculateChildrenAreas(f,d);a.colorAxis?a.translateColors():c.colorByPoint||a.setColorRecursive(a.tree);c.allowDrillToNode&&(c=b.pointValues,a.xAxis.setExtremes(c.x,c.x+c.width,!1),a.yAxis.setExtremes(c.y,
+c.y+c.height,!1),a.xAxis.setScale(),a.yAxis.setScale());a.setPointValues()},drawDataLabels:function(){var a=this,c=a.mapOptionsToLevel,d,b;a.points.filter(function(a){return a.node.visible}).forEach(function(f){b=c[f.node.level];d={style:{}};f.node.isLeaf||(d.enabled=!1);b&&b.dataLabels&&(d=u(d,b.dataLabels),a._hasPointLabels=!0);f.shapeArgs&&(d.style.width=f.shapeArgs.width,f.dataLabel&&f.dataLabel.css({width:f.shapeArgs.width+"px"}));f.dlOptions=u(d,f.options.dataLabels)});e.prototype.drawDataLabels.call(this)},
+alignDataLabel:function(a){g.column.prototype.alignDataLabel.apply(this,arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||0)+1})},pointAttribs:function(a,c){var b=C(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},e=a&&b[a.node.level]||{},b=this.options,f=c&&b.states[c]||{},g=a&&a.getClassName()||"";a={stroke:a&&a.borderColor||e.borderColor||f.borderColor||b.borderColor,"stroke-width":n(a&&a.borderWidth,e.borderWidth,f.borderWidth,b.borderWidth),dashstyle:a&&a.borderDashStyle||e.borderDashStyle||
+f.borderDashStyle||b.borderDashStyle,fill:a&&a.color||this.color};-1!==g.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==g.indexOf("highcharts-internal-node-interactive")?(c=n(f.opacity,b.opacity),a.fill=h(a.fill).setOpacity(c).get(),a.cursor="pointer"):-1!==g.indexOf("highcharts-internal-node")?a.fill="none":c&&(a.fill=h(a.fill).brighten(f.brightness).get());return a},drawPoints:function(){var a=this,c=a.points.filter(function(a){return a.node.visible});c.forEach(function(c){var b=
+"level-group-"+c.node.levelDynamic;a[b]||(a[b]=a.chart.renderer.g(b).attr({zIndex:1E3-c.node.levelDynamic}).add(a.group));c.group=a[b]});g.column.prototype.drawPoints.call(this);this.colorAttribs&&a.chart.styledMode&&this.points.forEach(function(a){a.graphic&&a.graphic.css(this.colorAttribs(a))},this);a.options.allowDrillToNode&&c.forEach(function(c){c.graphic&&(c.drillId=a.options.interactByLeaf?a.drillToByLeaf(c):a.drillToByGroup(c))})},onClickDrillToNode:function(a){var c=(a=a.point)&&a.drillId;
+w(c)&&(a.setState(""),this.drillToNode(c))},drillToByGroup:function(a){var c=!1;1!==a.node.level-this.nodeMap[this.rootNode].level||a.node.isLeaf||(c=a.id);return c},drillToByLeaf:function(a){var c=!1;if(a.node.parent!==this.rootNode&&a.node.isLeaf)for(a=a.node;!c;)a=this.nodeMap[a.parent],a.parent===this.rootNode&&(c=a.id);return c},drillUp:function(){var a=this.nodeMap[this.rootNode];a&&w(a.parent)&&this.drillToNode(a.parent)},drillToNode:function(a,c){var b=this.nodeMap[a];this.idPreviousRoot=
+this.rootNode;this.rootNode=a;""===a?this.drillUpButton=this.drillUpButton.destroy():this.showDrillUpButton(b&&b.name||a);this.isDirty=!0;n(c,!0)&&this.chart.redraw()},showDrillUpButton:function(a){var c=this;a=a||"\x3c Back";var b=c.options.drillUpButton,e,f;b.text&&(a=b.text);this.drillUpButton?(this.drillUpButton.placed=!1,this.drillUpButton.attr({text:a}).align()):(f=(e=b.theme)&&e.states,this.drillUpButton=this.chart.renderer.button(a,null,null,function(){c.drillUp()},e,f&&f.hover,f&&f.select).addClass("highcharts-drillup-button").attr({align:b.position.align,
+zIndex:7}).add().align(b.position,!1,b.relativeTo||"plotBox"))},buildKDTree:z,drawLegendSymbol:b.LegendSymbolMixin.drawRectangle,getExtremes:function(){e.prototype.getExtremes.call(this,this.colorValueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;e.prototype.getExtremes.call(this)},getExtremesFromAll:!0,bindAxes:function(){var a={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,dataMin:0,minPadding:0,max:100,dataMax:100,maxPadding:0,startOnTick:!1,title:null,tickPositions:[]};e.prototype.bindAxes.call(this);
+b.extend(this.yAxis.options,a);b.extend(this.xAxis.options,a)},utils:{recursive:A}},{getClassName:function(){var a=b.Point.prototype.getClassName.call(this),c=this.series,d=c.options;this.node.level<=c.nodeMap[c.rootNode].level?a+=" highcharts-above-level":this.node.isLeaf||n(d.interactByLeaf,!d.allowDrillToNode)?this.node.isLeaf||(a+=" highcharts-internal-node"):a+=" highcharts-internal-node-interactive";return a},isValid:function(){return this.id||m(this.value)},setState:function(a){b.Point.prototype.setState.call(this,
+a);this.graphic&&this.graphic.attr({zIndex:"hover"===a?1:0})},setVisible:g.pie.prototype.pointClass.prototype.setVisible})})(p,C)});
+//# sourceMappingURL=treemap.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Sankey diagram module
+
+ (c) 2010-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(g){"object"===typeof module&&module.exports?module.exports=g:"function"===typeof define&&define.amd?define(function(){return g}):g("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(g){(function(c){c.NodesMixin={createNode:function(g){function r(b,a){return c.find(b,function(b){return b.id===a})}var d=r(this.nodes,g),k=this.pointClass,b;d||(b=this.options.nodes&&r(this.options.nodes,g),d=(new k).init(this,c.extend({className:"highcharts-node",isNode:!0,id:g,y:1},b)),d.linksTo=
+[],d.linksFrom=[],d.formatPrefix="node",d.name=d.name||d.options.id,d.getSum=function(){var b=0,a=0;d.linksTo.forEach(function(a){b+=a.weight});d.linksFrom.forEach(function(b){a+=b.weight});return Math.max(b,a)},d.offset=function(b,a){for(var e=0,f=0;f<d[a].length;f++){if(d[a][f]===b)return e;e+=d[a][f].weight}},d.hasShape=function(){var b=0;d.linksTo.forEach(function(a){a.outgoing&&b++});return!d.linksTo.length||b!==d.linksTo.length},this.nodes.push(d));return d}}})(g);(function(c){var g=c.defined,
+r=c.seriesType,d=c.pick,k=c.Point;r("sankey","column",{colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){return""},inside:!0},linkOpacity:.5,nodeWidth:20,nodePadding:10,showInLegend:!1,states:{hover:{linkOpacity:1}},tooltip:{followPointer:!0,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"{point.fromNode.name} \u2192 {point.toNode.name}: \x3cb\x3e{point.weight}\x3c/b\x3e\x3cbr/\x3e",
+nodeFormat:"{point.name}: \x3cb\x3e{point.sum}\x3c/b\x3e\x3cbr/\x3e"}},{isCartesian:!1,forceDL:!0,createNode:c.NodesMixin.createNode,createNodeColumn:function(){var b=this.chart,e=[],a=this.options.nodePadding;e.sum=function(){var a=0;this.forEach(function(b){a+=b.getSum()});return a};e.offset=function(b,d){for(var f=0,c=0;c<e.length;c++){if(e[c]===b)return f+(b.options.offset||0);f+=e[c].getSum()*d+a}};e.top=function(d){for(var f=0,c=0;c<e.length;c++)0<c&&(f+=a),f+=e[c].getSum()*d;return(b.plotSizeY-
+f)/2};return e},createNodeColumns:function(){var b=[];this.nodes.forEach(function(a){var e=-1,d,g;if(!c.defined(a.options.column))if(0===a.linksTo.length)a.column=0;else{for(d=0;d<a.linksTo.length;d++)g=a.linksTo[0],g.fromNode.column>e&&(e=g.fromNode.column);a.column=e+1}b[a.column]||(b[a.column]=this.createNodeColumn());b[a.column].push(a)},this);for(var e=0;e<b.length;e++)void 0===b[e]&&(b[e]=this.createNodeColumn());return b},pointAttribs:function(b,e){var a=this.options.linkOpacity,d=b.color;
+e&&(a=this.options.states[e].linkOpacity||a,d=this.options.states[e].color||b.color);return{fill:b.isNode?d:c.color(d).setOpacity(a).get()}},generatePoints:function(){var b={},e=this.chart;c.Series.prototype.generatePoints.call(this);this.nodes||(this.nodes=[]);this.colorCounter=0;this.nodes.forEach(function(a){a.linksFrom.length=0;a.linksTo.length=0});this.points.forEach(function(a){g(a.from)&&(b[a.from]||(b[a.from]=this.createNode(a.from)),b[a.from].linksFrom.push(a),a.fromNode=b[a.from],e.styledMode?
+a.colorIndex=d(a.options.colorIndex,b[a.from].colorIndex):a.color=a.options.color||b[a.from].color);g(a.to)&&(b[a.to]||(b[a.to]=this.createNode(a.to)),b[a.to].linksTo.push(a),a.toNode=b[a.to]);a.name=a.name||a.options.id},this)},translate:function(){this.processedXData||this.processData();this.generatePoints();this.nodeColumns=this.createNodeColumns();var b=this.chart,d=b.inverted,a=this.options,c=0,g=a.nodeWidth,r=this.nodeColumns,A=(b.plotSizeX-g)/(r.length-1),B=(d?-A:A)*a.curveFactor,m=Infinity;
+this.nodeColumns.forEach(function(d){m=Math.min(m,(b.plotSizeY-(d.length-1)*a.nodePadding)/d.sum())});this.nodeColumns.forEach(function(a){a.forEach(function(e){var f=e.getSum(),k=f*m,E=a.top(m)+a.offset(e,m),l=d?b.plotSizeX-c:c;e.sum=f;e.shapeType="rect";e.shapeArgs=d?{x:l-g,y:b.plotSizeY-E-k,width:g,height:k}:{x:l,y:E,width:g,height:k};e.shapeArgs.display=e.hasShape()?"":"none";e.plotY=1;e.linksFrom.forEach(function(a){var c=a.weight*m,f=e.offset(a,"linksFrom")*m,f=E+f,h=a.toNode,n=r[h.column].top(m)+
+h.offset(a,"linksTo")*m+r[h.column].offset(h,m),p=g,h=h.column*A,k=a.outgoing,q=h>l;d&&(f=b.plotSizeY-f,n=b.plotSizeY-n,h=b.plotSizeX-h,p=-p,c=-c,q=l>h);a.shapeType="path";if(q)a.shapeArgs={d:["M",l+p,f,"C",l+p+B,f,h-B,n,h,n,"L",h+(k?p:0),n+c/2,"L",h,n+c,"C",h-B,n+c,l+p+B,f+c,l+p,f+c,"z"]};else{var k=h-20-c,q=h-20,w=h,v=l+p,u=v+20,C=u+c,H=f,x=f+c,F=x+20,y=F+(b.plotHeight-f-c),t=y+20,D=t+c,G=n,z=G+c,I=z+20,J=t+.7*c,K=w-.7*c,L=v+.7*c;a.shapeArgs={d:["M",v,H,"C",L,H,C,x-.7*c,C,F,"L",C,y,"C",C,J,L,D,
+v,D,"L",w,D,"C",K,D,k,J,k,y,"L",k,I,"C",k,z-.7*c,K,G,w,G,"L",w,z,"C",q,z,q,z,q,I,"L",q,y,"C",q,t,q,t,w,t,"L",v,t,"C",u,t,u,t,u,y,"L",u,F,"C",u,x,u,x,v,x,"z"]}}a.dlBox={x:l+(h-l+p)/2,y:f+(n-f)/2,height:c,width:0};a.y=a.plotY=1;a.color||(a.color=e.color)})});c+=A},this)},render:function(){var b=this.points;this.points=this.points.concat(this.nodes);c.seriesTypes.column.prototype.render.call(this);this.points=b},animate:c.Series.prototype.animate,destroy:function(){this.data=[].concat(this.points,this.nodes);
+c.Series.prototype.destroy.call(this)}},{getClassName:function(){return(this.isNode?"highcharts-node ":"highcharts-link ")+k.prototype.getClassName.call(this)},isValid:function(){return this.isNode||"number"===typeof this.weight}})})(g)});
+//# sourceMappingURL=sankey.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Solid angular gauge module
+
+ (c) 2010-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(l){"object"===typeof module&&module.exports?module.exports=l:"function"===typeof define&&define.amd?define(function(){return l}):l("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(l){(function(f){var l=f.pInt,u=f.pick,q=f.isNumber,w=f.wrap,v;w(f.Renderer.prototype.symbols,"arc",function(a,g,d,c,f,b){a=a(g,d,c,f,b);b.rounded&&(c=((b.r||c)-b.innerR)/2,b=["A",c,c,0,1,1,a[12],a[13]],a.splice.apply(a,[a.length-1,0].concat(["A",c,c,0,1,1,a[1],a[2]])),a.splice.apply(a,[11,3].concat(b)));
+return a});v={initDataClasses:function(a){var g=this.chart,d,c=0,r=this.options;this.dataClasses=d=[];a.dataClasses.forEach(function(b,h){b=f.merge(b);d.push(b);b.color||("category"===r.dataClassColor?(h=g.options.colors,b.color=h[c++],c===h.length&&(c=0)):b.color=f.color(r.minColor).tweenTo(f.color(r.maxColor),h/(a.dataClasses.length-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(a){a.color=f.color(a[1])})},toColor:function(a,
+g){var d=this.stops,c,f,b=this.dataClasses,h,e;if(b)for(e=b.length;e--;){if(h=b[e],c=h.from,d=h.to,(void 0===c||a>=c)&&(void 0===d||a<=d)){f=h.color;g&&(g.dataClass=e);break}}else{this.isLog&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min);for(e=d.length;e--&&!(a>d[e][0]););c=d[e]||d[e+1];d=d[e+1]||c;a=1-(d[0]-a)/(d[0]-c[0]||1);f=c.color.tweenTo(d.color,a)}return f}};f.seriesType("solidgauge","gauge",{colorByPoint:!0},{translate:function(){var a=this.yAxis;f.extend(a,v);!a.dataClasses&&a.options.dataClasses&&
+a.initDataClasses(a.options);a.initStops(a.options);f.seriesTypes.gauge.prototype.translate.call(this)},drawPoints:function(){var a=this,g=a.yAxis,d=g.center,c=a.options,r=a.chart.renderer,b=c.overshoot,h=q(b)?b/180*Math.PI:0,e;q(c.threshold)&&(e=g.startAngleRad+g.translate(c.threshold,null,null,null,!0));this.thresholdAngleRad=u(e,g.startAngleRad);a.points.forEach(function(b){var e=b.graphic,k=g.startAngleRad+g.translate(b.y,null,null,null,!0),t=l(u(b.options.radius,c.radius,100))*d[2]/200,m=l(u(b.options.innerRadius,
+c.innerRadius,60))*d[2]/200,n=g.toColor(b.y,b),p=Math.min(g.startAngleRad,g.endAngleRad),q=Math.max(g.startAngleRad,g.endAngleRad);"none"===n&&(n=b.color||a.color||"none");"none"!==n&&(b.color=n);k=Math.max(p-h,Math.min(q+h,k));!1===c.wrap&&(k=Math.max(p,Math.min(q,k)));p=Math.min(k,a.thresholdAngleRad);k=Math.max(k,a.thresholdAngleRad);k-p>2*Math.PI&&(k=p+2*Math.PI);b.shapeArgs=m={x:d[0],y:d[1],r:t,innerR:m,start:p,end:k,rounded:c.rounded};b.startR=t;e?(t=m.d,e.animate(f.extend({fill:n},m)),t&&(m.d=
+t)):(b.graphic=e=r.arc(m).attr({fill:n,"sweep-flag":0}).add(a.group),a.chart.styledMode||("square"!==c.linecap&&e.attr({"stroke-linecap":"round","stroke-linejoin":"round"}),e.attr({stroke:c.borderColor||"none","stroke-width":c.borderWidth||0})));e&&e.addClass(b.getClassName(),!0)})},animate:function(a){a||(this.startAngleRad=this.thresholdAngleRad,f.seriesTypes.pie.prototype.animate.call(this,a))}})})(l)});
+//# sourceMappingURL=solid-gauge.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Streamgraph module
+
+ (c) 2010-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(a){"object"===typeof module&&module.exports?module.exports=a:"function"===typeof define&&define.amd?define(function(){return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){(function(a){a=a.seriesType;a("streamgraph","areaspline",{fillOpacity:1,lineWidth:0,marker:{enabled:!1},stacking:"stream"},{negStacks:!1,streamStacker:function(a,b,c){a[0]-=b.total/2;a[1]-=b.total/2;this.stackedYData[c]=a}})})(a)});
+//# sourceMappingURL=streamgraph.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ (c) 2016-2018 Highsoft AS
+ Authors: Jon Arild Nygard
+
+ License: www.highcharts.com/license
+*/
+(function(z){"object"===typeof module&&module.exports?module.exports=z:"function"===typeof define&&define.amd?define(function(){return z}):z("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(z){var N=function(){return function(c){var w=this,k=w.graphic,h=c.animatableAttribs,n=c.onComplete,B=c.css,y=c.renderer;w.shouldDraw()?(k||(w.graphic=k=y[c.shapeType](c.shapeArgs).add(c.group)),k.css(B).attr(c.attribs).animate(h,c.isNew?!1:void 0,n)):k&&k.animate(h,void 0,function(){w.graphic=k=k.destroy();
+"function"===typeof n&&n()});k&&k.addClass(w.getClassName(),!0)}}(),K=function(c){var w=c.extend,k=c.isArray,h=c.isObject,n=c.isNumber,B=c.merge,y=c.pick;return{getColor:function(t,l){var D=l.index,f=l.mapOptionsToLevel,h=l.parentColor,k=l.parentColorIndex,x=l.series,C=l.colors,w=l.siblings,p=x.points,n=x.chart.options.chart,E,B,a,b;if(t){p=p[t.i];t=f[t.level]||{};if(f=p&&t.colorByPoint)B=p.index%(C?C.length:n.colorCount),E=C&&C[B];if(!x.chart.styledMode){C=p&&p.options.color;n=t&&t.color;if(a=h)a=
+(a=t&&t.colorVariation)&&"brightness"===a.key?c.color(h).brighten(D/w*a.to).get():h;a=y(C,n,E,a,x.color)}b=y(p&&p.options.colorIndex,t&&t.colorIndex,B,k,l.colorIndex)}return{color:a,colorIndex:b}},getLevelOptions:function(c){var l=null,D,f,F,t;if(h(c))for(l={},F=n(c.from)?c.from:1,t=c.levels,f={},D=h(c.defaults)?c.defaults:{},k(t)&&(f=t.reduce(function(c,f){var l,p;h(f)&&n(f.level)&&(p=B({},f),l="boolean"===typeof p.levelIsConstant?p.levelIsConstant:D.levelIsConstant,delete p.levelIsConstant,delete p.level,
+f=f.level+(l?0:F-1),h(c[f])?w(c[f],p):c[f]=p);return c},{})),t=n(c.to)?c.to:1,c=0;c<=t;c++)l[c]=B({},D,h(f[c])?f[c]:{});return l},setTreeValues:function l(c,f){var h=f.before,n=f.idRoot,x=f.mapIdToNode[n],k=f.points[c.i],D=k&&k.options||{},p=0,B=[];w(c,{levelDynamic:c.level-(("boolean"===typeof f.levelIsConstant?f.levelIsConstant:1)?0:x.level),name:y(k&&k.name,""),visible:n===c.id||("boolean"===typeof f.visible?f.visible:!1)});"function"===typeof h&&(c=h(c,f));c.children.forEach(function(h,k){var a=
+w({},f);w(a,{index:k,siblings:c.children.length,visible:c.visible});h=l(h,a);B.push(h);h.visible&&(p+=h.val)});c.visible=0<p||c.visible;h=y(D.value,p);w(c,{children:B,childrenTotal:p,isLeaf:c.visible&&!p,val:h});return c},updateRootId:function(c){var k;h(c)&&(k=h(c.options)?c.options:{},k=y(c.rootNode,k.rootId,""),h(c.userOptions)&&(c.userOptions.rootId=k),c.rootNode=k);return k}}}(z);(function(c,w){var k=c.seriesType,h=c.seriesTypes,n=c.merge,B=c.extend,y=c.noop,t=w.getColor,l=w.getLevelOptions,
+D=c.isArray,f=c.isNumber,F=c.isObject,z=c.isString,x=c.pick,C=c.Series,L=c.stableSort,p=c.Color,H=function(a,b,d){d=d||this;c.objectEach(a,function(c,e){b.call(d,c,e,a)})},E=function(a,b,d){d=d||this;a=b.call(d,a);!1!==a&&E(a,b,d)},M=w.updateRootId;k("treemap","scatter",{showInLegend:!1,marker:!1,colorByPoint:!1,dataLabels:{enabled:!0,defer:!1,verticalAlign:"middle",formatter:function(){var a=this&&this.point?this.point:{};return z(a.name)?a.name:""},inside:!0},tooltip:{headerFormat:"",pointFormat:"\x3cb\x3e{point.name}\x3c/b\x3e: {point.value}\x3cbr/\x3e"},
+ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,drillUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,opacity:.15,states:{hover:{borderColor:"#999999",brightness:h.heatmap?0:.1,halo:!1,opacity:.75,shadow:!1}}},{pointArrayMap:["value"],directTouch:!0,optionalAxis:"colorAxis",getSymbol:y,parallelArrays:["x","y","value","colorValue"],colorKey:"colorValue",trackerGroups:["group","dataLabelsGroup"],
+getListOfParents:function(a,b){a=D(a)?a:[];var d=D(b)?b:[];b=a.reduce(function(a,b,d){b=x(b.parent,"");void 0===a[b]&&(a[b]=[]);a[b].push(d);return a},{"":[]});H(b,function(a,b,c){""!==b&&-1===d.indexOf(b)&&(a.forEach(function(a){c[""].push(a)}),delete c[b])});return b},getTree:function(){var a=this.data.map(function(a){return a.id}),a=this.getListOfParents(this.data,a);this.nodeMap=[];return this.buildNode("",-1,0,a,null)},init:function(a,b){var d=c.colorSeriesMixin;c.colorSeriesMixin&&(this.translateColors=
+d.translateColors,this.colorAttribs=d.colorAttribs,this.axisTypes=d.axisTypes);C.prototype.init.call(this,a,b);this.options.allowDrillToNode&&c.addEvent(this,"click",this.onClickDrillToNode)},buildNode:function(a,b,d,c,e){var g=this,m=[],v=g.points[b],q=0,I;(c[a]||[]).forEach(function(b){I=g.buildNode(g.points[b].id,b,d+1,c,a);q=Math.max(I.height+1,q);m.push(I)});b={id:a,i:b,children:m,height:q,level:d,parent:e,visible:!1};g.nodeMap[b.id]=b;v&&(v.node=b);return b},setTreeValues:function(a){var b=
+this,d=b.options,c=b.nodeMap[b.rootNode],d="boolean"===typeof d.levelIsConstant?d.levelIsConstant:!0,e=0,g=[],m,u=b.points[a.i];a.children.forEach(function(a){a=b.setTreeValues(a);g.push(a);a.ignore||(e+=a.val)});L(g,function(a,b){return a.sortIndex-b.sortIndex});m=x(u&&u.options.value,e);u&&(u.value=m);B(a,{children:g,childrenTotal:e,ignore:!(x(u&&u.visible,!0)&&0<m),isLeaf:a.visible&&!e,levelDynamic:a.level-(d?0:c.level),name:x(u&&u.name,""),sortIndex:x(u&&u.sortIndex,-m),val:m});return a},calculateChildrenAreas:function(a,
+b){var d=this,c=d.options,e=d.mapOptionsToLevel[a.level+1],g=x(d[e&&e.layoutAlgorithm]&&e.layoutAlgorithm,c.layoutAlgorithm),m=c.alternateStartingDirection,u=[];a=a.children.filter(function(a){return!a.ignore});e&&e.layoutStartingDirection&&(b.direction="vertical"===e.layoutStartingDirection?0:1);u=d[g](b,a);a.forEach(function(a,c){c=u[c];a.values=n(c,{val:a.childrenTotal,direction:m?1-b.direction:b.direction});a.pointValues=n(c,{x:c.x/d.axisRatio,width:c.width/d.axisRatio});a.children.length&&d.calculateChildrenAreas(a,
+a.values)})},setPointValues:function(){var a=this,b=a.xAxis,d=a.yAxis;a.points.forEach(function(c){var e=c.node,g=e.pointValues,m,u,v=0;a.chart.styledMode||(v=(a.pointAttribs(c)["stroke-width"]||0)%2/2);g&&e.visible?(e=Math.round(b.translate(g.x,0,0,0,1))-v,m=Math.round(b.translate(g.x+g.width,0,0,0,1))-v,u=Math.round(d.translate(g.y,0,0,0,1))-v,g=Math.round(d.translate(g.y+g.height,0,0,0,1))-v,c.shapeType="rect",c.shapeArgs={x:Math.min(e,m),y:Math.min(u,g),width:Math.abs(m-e),height:Math.abs(g-u)},
+c.plotX=c.shapeArgs.x+c.shapeArgs.width/2,c.plotY=c.shapeArgs.y+c.shapeArgs.height/2):(delete c.plotX,delete c.plotY)})},setColorRecursive:function(a,b,d,c,e){var g=this,m=g&&g.chart,m=m&&m.options&&m.options.colors,v;if(a){v=t(a,{colors:m,index:c,mapOptionsToLevel:g.mapOptionsToLevel,parentColor:b,parentColorIndex:d,series:g,siblings:e});if(b=g.points[a.i])b.color=v.color,b.colorIndex=v.colorIndex;(a.children||[]).forEach(function(b,d){g.setColorRecursive(b,v.color,v.colorIndex,d,a.children.length)})}},
+algorithmGroup:function(a,b,d,c){this.height=a;this.width=b;this.plot=c;this.startDirection=this.direction=d;this.lH=this.nH=this.lW=this.nW=this.total=0;this.elArr=[];this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(a,b){return Math.max(a/b,b/a)}};this.addElement=function(a){this.lP.total=this.elArr[this.elArr.length-1];this.total+=a;0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,
+this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH));this.elArr.push(a)};this.reset=function(){this.lW=this.nW=0;this.elArr=[];this.total=0}},algorithmCalcPoints:function(a,b,d,c){var e,g,m,v,q=d.lW,f=d.lH,r=d.plot,h,k=0,p=d.elArr.length-1;b?(q=d.nW,f=d.nH):
+h=d.elArr[d.elArr.length-1];d.elArr.forEach(function(a){if(b||k<p)0===d.direction?(e=r.x,g=r.y,m=q,v=a/m):(e=r.x,g=r.y,v=f,m=a/v),c.push({x:e,y:g,width:m,height:v}),0===d.direction?r.y+=v:r.x+=m;k+=1});d.reset();0===d.direction?d.width-=q:d.height-=f;r.y=r.parent.y+(r.parent.height-d.height);r.x=r.parent.x+(r.parent.width-d.width);a&&(d.direction=1-d.direction);b||d.addElement(h)},algorithmLowAspectRatio:function(a,b,d){var c=[],e=this,g,m={x:b.x,y:b.y,parent:b},u=0,q=d.length-1,f=new this.algorithmGroup(b.height,
+b.width,b.direction,m);d.forEach(function(d){g=d.val/b.val*b.height*b.width;f.addElement(g);f.lP.nR>f.lP.lR&&e.algorithmCalcPoints(a,!1,f,c,m);u===q&&e.algorithmCalcPoints(a,!0,f,c,m);u+=1});return c},algorithmFill:function(a,b,d){var c=[],e,g=b.direction,m=b.x,u=b.y,q=b.width,f=b.height,r,h,k,p;d.forEach(function(d){e=d.val/b.val*b.height*b.width;r=m;h=u;0===g?(p=f,k=e/p,q-=k,m+=k):(k=q,p=e/k,f-=p,u+=p);c.push({x:r,y:h,width:k,height:p});a&&(g=1-g)});return c},strip:function(a,b){return this.algorithmLowAspectRatio(!1,
+a,b)},squarified:function(a,b){return this.algorithmLowAspectRatio(!0,a,b)},sliceAndDice:function(a,b){return this.algorithmFill(!0,a,b)},stripes:function(a,b){return this.algorithmFill(!1,a,b)},translate:function(){var a=this,b=a.options,d=M(a),c,e;C.prototype.translate.call(a);e=a.tree=a.getTree();c=a.nodeMap[d];a.mapOptionsToLevel=l({from:c.level+1,levels:b.levels,to:e.height,defaults:{levelIsConstant:a.options.levelIsConstant,colorByPoint:b.colorByPoint}});""===d||c&&c.children.length||(a.drillToNode("",
+!1),d=a.rootNode,c=a.nodeMap[d]);E(a.nodeMap[a.rootNode],function(b){var d=!1,c=b.parent;b.visible=!0;if(c||""===c)d=a.nodeMap[c];return d});E(a.nodeMap[a.rootNode].children,function(a){var b=!1;a.forEach(function(a){a.visible=!0;a.children.length&&(b=(b||[]).concat(a.children))});return b});a.setTreeValues(e);a.axisRatio=a.xAxis.len/a.yAxis.len;a.nodeMap[""].pointValues=d={x:0,y:0,width:100,height:100};a.nodeMap[""].values=d=n(d,{width:d.width*a.axisRatio,direction:"vertical"===b.layoutStartingDirection?
+0:1,val:e.val});a.calculateChildrenAreas(e,d);a.colorAxis?a.translateColors():b.colorByPoint||a.setColorRecursive(a.tree);b.allowDrillToNode&&(b=c.pointValues,a.xAxis.setExtremes(b.x,b.x+b.width,!1),a.yAxis.setExtremes(b.y,b.y+b.height,!1),a.xAxis.setScale(),a.yAxis.setScale());a.setPointValues()},drawDataLabels:function(){var a=this,b=a.mapOptionsToLevel,d,c;a.points.filter(function(a){return a.node.visible}).forEach(function(e){c=b[e.node.level];d={style:{}};e.node.isLeaf||(d.enabled=!1);c&&c.dataLabels&&
+(d=n(d,c.dataLabels),a._hasPointLabels=!0);e.shapeArgs&&(d.style.width=e.shapeArgs.width,e.dataLabel&&e.dataLabel.css({width:e.shapeArgs.width+"px"}));e.dlOptions=n(d,e.options.dataLabels)});C.prototype.drawDataLabels.call(this)},alignDataLabel:function(a){h.column.prototype.alignDataLabel.apply(this,arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||0)+1})},pointAttribs:function(a,b){var d=F(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},c=a&&d[a.node.level]||{},d=this.options,e=
+b&&d.states[b]||{},g=a&&a.getClassName()||"";a={stroke:a&&a.borderColor||c.borderColor||e.borderColor||d.borderColor,"stroke-width":x(a&&a.borderWidth,c.borderWidth,e.borderWidth,d.borderWidth),dashstyle:a&&a.borderDashStyle||c.borderDashStyle||e.borderDashStyle||d.borderDashStyle,fill:a&&a.color||this.color};-1!==g.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==g.indexOf("highcharts-internal-node-interactive")?(b=x(e.opacity,d.opacity),a.fill=p(a.fill).setOpacity(b).get(),
+a.cursor="pointer"):-1!==g.indexOf("highcharts-internal-node")?a.fill="none":b&&(a.fill=p(a.fill).brighten(e.brightness).get());return a},drawPoints:function(){var a=this,b=a.points.filter(function(a){return a.node.visible});b.forEach(function(b){var d="level-group-"+b.node.levelDynamic;a[d]||(a[d]=a.chart.renderer.g(d).attr({zIndex:1E3-b.node.levelDynamic}).add(a.group));b.group=a[d]});h.column.prototype.drawPoints.call(this);this.colorAttribs&&a.chart.styledMode&&this.points.forEach(function(a){a.graphic&&
+a.graphic.css(this.colorAttribs(a))},this);a.options.allowDrillToNode&&b.forEach(function(b){b.graphic&&(b.drillId=a.options.interactByLeaf?a.drillToByLeaf(b):a.drillToByGroup(b))})},onClickDrillToNode:function(a){var b=(a=a.point)&&a.drillId;z(b)&&(a.setState(""),this.drillToNode(b))},drillToByGroup:function(a){var b=!1;1!==a.node.level-this.nodeMap[this.rootNode].level||a.node.isLeaf||(b=a.id);return b},drillToByLeaf:function(a){var b=!1;if(a.node.parent!==this.rootNode&&a.node.isLeaf)for(a=a.node;!b;)a=
+this.nodeMap[a.parent],a.parent===this.rootNode&&(b=a.id);return b},drillUp:function(){var a=this.nodeMap[this.rootNode];a&&z(a.parent)&&this.drillToNode(a.parent)},drillToNode:function(a,b){var c=this.nodeMap[a];this.idPreviousRoot=this.rootNode;this.rootNode=a;""===a?this.drillUpButton=this.drillUpButton.destroy():this.showDrillUpButton(c&&c.name||a);this.isDirty=!0;x(b,!0)&&this.chart.redraw()},showDrillUpButton:function(a){var b=this;a=a||"\x3c Back";var c=b.options.drillUpButton,f,e;c.text&&
+(a=c.text);this.drillUpButton?(this.drillUpButton.placed=!1,this.drillUpButton.attr({text:a}).align()):(e=(f=c.theme)&&f.states,this.drillUpButton=this.chart.renderer.button(a,null,null,function(){b.drillUp()},f,e&&e.hover,e&&e.select).addClass("highcharts-drillup-button").attr({align:c.position.align,zIndex:7}).add().align(c.position,!1,c.relativeTo||"plotBox"))},buildKDTree:y,drawLegendSymbol:c.LegendSymbolMixin.drawRectangle,getExtremes:function(){C.prototype.getExtremes.call(this,this.colorValueData);
+this.valueMin=this.dataMin;this.valueMax=this.dataMax;C.prototype.getExtremes.call(this)},getExtremesFromAll:!0,bindAxes:function(){var a={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,dataMin:0,minPadding:0,max:100,dataMax:100,maxPadding:0,startOnTick:!1,title:null,tickPositions:[]};C.prototype.bindAxes.call(this);c.extend(this.yAxis.options,a);c.extend(this.xAxis.options,a)},utils:{recursive:E}},{getClassName:function(){var a=c.Point.prototype.getClassName.call(this),b=this.series,d=b.options;
+this.node.level<=b.nodeMap[b.rootNode].level?a+=" highcharts-above-level":this.node.isLeaf||x(d.interactByLeaf,!d.allowDrillToNode)?this.node.isLeaf||(a+=" highcharts-internal-node"):a+=" highcharts-internal-node-interactive";return a},isValid:function(){return this.id||f(this.value)},setState:function(a){c.Point.prototype.setState.call(this,a);this.graphic&&this.graphic.attr({zIndex:"hover"===a?1:0})},setVisible:h.pie.prototype.pointClass.prototype.setVisible})})(z,K);(function(c,w,k){var h=c.CenteredSeriesMixin,
+n=c.Series,B=c.extend,y=h.getCenter,t=k.getColor,l=k.getLevelOptions,D=h.getStartAndEndRadians,f=c.isNumber,z=c.isObject,K=c.isString,x=c.merge,C=180/Math.PI,h=c.seriesType,L=k.setTreeValues,p=k.updateRootId,H=function(a,b){var c=[];if(f(a)&&f(b)&&a<=b)for(;a<=b;a++)c.push(a);return c},E=function(a,b){var c;b=z(b)?b:{};var k=0,e,g,m,u;z(a)&&(c=x({},a),a=f(b.from)?b.from:0,u=f(b.to)?b.to:0,g=H(a,u),a=Object.keys(c).filter(function(a){return-1===g.indexOf(+a)}),e=m=f(b.diffRadius)?b.diffRadius:0,g.forEach(function(a){a=
+c[a];var b=a.levelSize.unit,d=a.levelSize.value;"weight"===b?k+=d:"percentage"===b?(a.levelSize={unit:"pixels",value:d/100*e},m-=a.levelSize.value):"pixels"===b&&(m-=d)}),g.forEach(function(a){var b=c[a];"weight"===b.levelSize.unit&&(b=b.levelSize.value,c[a].levelSize={unit:"pixels",value:b/k*m})}),a.forEach(function(a){c[a].levelSize={value:0,unit:"pixels"}}));return c},M=function(a,b){var c=b.mapIdToNode[a.parent],f=b.series,e=f.chart,g=f.points[a.i],c=t(a,{colors:e&&e.options&&e.options.colors,
+colorIndex:f.colorIndex,index:b.index,mapOptionsToLevel:b.mapOptionsToLevel,parentColor:c&&c.color,parentColorIndex:c&&c.colorIndex,series:b.series,siblings:b.siblings});a.color=c.color;a.colorIndex=c.colorIndex;g&&(g.color=a.color,g.colorIndex=a.colorIndex,a.sliced=a.id!==b.idRoot?g.sliced:!1);return a};h("sunburst","treemap",{center:["50%","50%"],colorByPoint:!1,dataLabels:{allowOverlap:!0,defer:!0,style:{textOverflow:"ellipsis"},rotationMode:"auto"},rootId:void 0,levelIsConstant:!0,levelSize:{value:1,
+unit:"weight"},slicedOffset:10},{drawDataLabels:c.noop,drawPoints:function(){var a=this,b=a.mapOptionsToLevel,c=a.shapeRoot,k=a.group,e=a.hasRendered,g=a.rootNode,m=a.idPreviousRoot,u=a.nodeMap,h=u[m],p=h&&h.shapeArgs,h=a.points,r=a.startAndEndRadians,t=a.chart,l=t&&t.options&&t.options.chart||{},w="boolean"===typeof l.animation?l.animation:!0,y=a.center[3]/2,D=a.chart.renderer,E,F=!1,H=!1;if(l=!!(w&&e&&g!==m&&a.dataLabelsGroup))a.dataLabelsGroup.attr({opacity:0}),E=function(){F=!0;a.dataLabelsGroup&&
+a.dataLabelsGroup.animate({opacity:1,visibility:"visible"})};h.forEach(function(d){var h,v,q=d.node,l=b[q.level];h=d.shapeExisting||{};var n=q.shapeArgs||{},I,F=!(!q.visible||!q.shapeArgs);if(e&&w){var J={};v={end:n.end,start:n.start,innerR:n.innerR,r:n.r,x:n.x,y:n.y};F?!d.graphic&&p&&(J=g===d.id?{start:r.start,end:r.end}:p.end<=n.start?{start:r.end,end:r.end}:{start:r.start,end:r.start},J.innerR=J.r=y):d.graphic&&(m===d.id?v={innerR:y,r:y}:c&&(v=c.end<=h.start?{innerR:y,r:y,start:r.end,end:r.end}:
+{innerR:y,r:y,start:r.start,end:r.start}));h=J}else v=n,h={};var J=[n.plotX,n.plotY],A;d.node.isLeaf||(g===d.id?(A=u[g],A=A.parent):A=d.id);B(d,{shapeExisting:n,tooltipPos:J,drillId:A,name:""+(d.name||d.id||d.index),plotX:n.plotX,plotY:n.plotY,value:q.val,isNull:!F});A=d.options;q=z(n)?n:{};A=z(A)?A.dataLabels:{};var l=z(l)?l.dataLabels:{},l=x({style:{}},l,A),G;A=l.rotationMode;f(l.rotation)||("auto"===A&&(1>d.innerArcLength&&d.outerArcLength>q.radius?G=0:A=1<d.innerArcLength&&d.outerArcLength>1.5*
+q.radius?"parallel":"perpendicular"),"auto"!==A&&(G=q.end-(q.end-q.start)/2),l.style.width="parallel"===A?Math.min(2.5*q.radius,(d.outerArcLength+d.innerArcLength)/2):q.radius,"perpendicular"===A&&d.series.chart.renderer.fontMetrics(l.style.fontSize).h>d.outerArcLength&&(l.style.width=1),l.style.width=Math.max(l.style.width-2*(l.padding||0),1),G=G*C%180,"parallel"===A&&(G-=90),90<G?G-=180:-90>G&&(G+=180),l.rotation=G);0===l.rotation&&(l.rotation=.001);d.dlOptions=l;!H&&F&&(H=!0,I=E);d.draw({animatableAttribs:v,
+attribs:B(h,!t.styledMode&&a.pointAttribs(d,d.selected&&"select")),onComplete:I,group:k,renderer:D,shapeType:"arc",shapeArgs:n})});l&&H?(a.hasRendered=!1,a.options.dataLabels.defer=!0,n.prototype.drawDataLabels.call(a),a.hasRendered=!0,F&&E()):n.prototype.drawDataLabels.call(a)},pointAttribs:c.seriesTypes.column.prototype.pointAttribs,layoutAlgorithm:function(a,b,c){var d=a.start,e=a.end-d,g=a.val,m=a.x,h=a.y,k=c&&z(c.levelSize)&&f(c.levelSize.value)?c.levelSize.value:0,l=a.r,n=l+k,p=c&&f(c.slicedOffset)?
+c.slicedOffset:0;return(b||[]).reduce(function(a,b){var c=1/g*b.val*e,f=d+c/2,q=m+Math.cos(f)*p,f=h+Math.sin(f)*p;b={x:b.sliced?q:m,y:b.sliced?f:h,innerR:l,r:n,radius:k,start:d,end:d+c};a.push(b);d=b.end;return a},[])},setShapeArgs:function(a,b,c){var d=[],e=c[a.level+1];a=a.children.filter(function(a){return a.visible});d=this.layoutAlgorithm(b,a,e);a.forEach(function(a,b){b=d[b];var e=b.start+(b.end-b.start)/2,f=b.innerR+(b.r-b.innerR)/2,g=b.end-b.start,f=0===b.innerR&&6.28<g?{x:b.x,y:b.y}:{x:b.x+
+Math.cos(e)*f,y:b.y+Math.sin(e)*f},h=a.val?a.childrenTotal>a.val?a.childrenTotal:a.val:a.childrenTotal;this.points[a.i]&&(this.points[a.i].innerArcLength=g*b.innerR,this.points[a.i].outerArcLength=g*b.r);a.shapeArgs=x(b,{plotX:f.x,plotY:f.y+4*Math.abs(Math.cos(e))});a.values=x(b,{val:h});a.children.length&&this.setShapeArgs(a,a.values,c)},this)},translate:function(){var a=this.options,b=this.center=y.call(this),c=this.startAndEndRadians=D(a.startAngle,a.endAngle),f=b[3]/2,e=b[2]/2-f,g=p(this),h=this.nodeMap,
+k,q=h&&h[g],t,r;this.shapeRoot=q&&q.shapeArgs;n.prototype.translate.call(this);r=this.tree=this.getTree();h=this.nodeMap;q=h[g];k=K(q.parent)?q.parent:"";t=h[k];k=l({from:0<q.level?q.level:1,levels:this.options.levels,to:r.height,defaults:{colorByPoint:a.colorByPoint,dataLabels:a.dataLabels,levelIsConstant:a.levelIsConstant,levelSize:a.levelSize,slicedOffset:a.slicedOffset}});k=E(k,{diffRadius:e,from:0<q.level?q.level:1,to:r.height});L(r,{before:M,idRoot:g,levelIsConstant:a.levelIsConstant,mapOptionsToLevel:k,
+mapIdToNode:h,points:this.points,series:this});a=h[""].shapeArgs={end:c.end,r:f,start:c.start,val:q.val,x:b[0],y:b[1]};this.setShapeArgs(t,a,k);this.mapOptionsToLevel=k},animate:function(a){var b=this.chart,c=[b.plotWidth/2,b.plotHeight/2],f=b.plotLeft,e=b.plotTop,b=this.group;a?(a={translateX:c[0]+f,translateY:c[1]+e,scaleX:.001,scaleY:.001,rotation:10,opacity:.01},b.attr(a)):(a={translateX:f,translateY:e,scaleX:1,scaleY:1,rotation:0,opacity:1},b.animate(a,this.options.animation),this.animate=null)},
+utils:{calculateLevelSizes:E,range:H}},{draw:w,shouldDraw:function(){return!this.isNull}})})(z,N,K)});
+//# sourceMappingURL=sunburst.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Vector plot series module
+
+ (c) 2010-2018 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(c){"object"===typeof module&&module.exports?module.exports=c:"function"===typeof define&&define.amd?define(function(){return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){(function(d){var c=d.seriesType;c("vector","scatter",{lineWidth:2,marker:null,rotationOrigin:"center",states:{hover:{lineWidthPlus:1}},tooltip:{pointFormat:"\x3cb\x3e[{point.x}, {point.y}]\x3c/b\x3e\x3cbr/\x3eLength: \x3cb\x3e{point.length}\x3c/b\x3e\x3cbr/\x3eDirection: \x3cb\x3e{point.direction}\u00b0\x3c/b\x3e\x3cbr/\x3e"},
+vectorLength:20},{pointArrayMap:["y","length","direction"],parallelArrays:["x","y","length","direction"],pointAttribs:function(a,b){var c=this.options;a=a.color||this.color;var d=this.options.lineWidth;b&&(a=c.states[b].color||a,d=(c.states[b].lineWidth||d)+(c.states[b].lineWidthPlus||0));return{stroke:a,"stroke-width":d}},markerAttribs:d.noop,getSymbol:d.noop,arrow:function(a){a=a.length/this.lengthMax*this.options.vectorLength/20;var b={start:10*a,center:0,end:-10*a}[this.options.rotationOrigin]||
+0;return["M",0,7*a+b,"L",-1.5*a,7*a+b,0,10*a+b,1.5*a,7*a+b,0,7*a+b,0,-10*a+b]},translate:function(){d.Series.prototype.translate.call(this);this.lengthMax=d.arrayMax(this.lengthData)},drawPoints:function(){var a=this.chart;this.points.forEach(function(b){var c=b.plotX,d=b.plotY;a.isInsidePlot(c,d,a.inverted)?(b.graphic||(b.graphic=this.chart.renderer.path().add(this.markerGroup)),b.graphic.attr({d:this.arrow(b),translateX:c,translateY:d,rotation:b.direction}).attr(this.pointAttribs(b))):b.graphic&&
+(b.graphic=b.graphic.destroy())},this)},drawGraph:d.noop,animate:function(a){a?this.markerGroup.attr({opacity:.01}):(this.markerGroup.animate({opacity:1},d.animObject(this.options.animation)),this.animate=null)}})})(c)});
+//# sourceMappingURL=vector.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ (c) 2016-2018 Highsoft AS
+ Authors: Jon Arild Nygard
+
+ License: www.highcharts.com/license
+*/
+(function(h){"object"===typeof module&&module.exports?module.exports=h:"function"===typeof define&&define.amd?define(function(){return h}):h("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(h){var y=function(){return function(f){var v=this,k=v.graphic,h=f.animatableAttribs,t=f.onComplete,w=f.css,A=f.renderer;v.shouldDraw()?(k||(v.graphic=k=A[f.shapeType](f.shapeArgs).add(f.group)),k.css(w).attr(f.attribs).animate(h,f.isNew?!1:void 0,t)):k&&k.animate(h,void 0,function(){v.graphic=k=k.destroy();
+"function"===typeof t&&t()});k&&k.addClass(v.getClassName(),!0)}}(),C=function(f){var h=f.deg2rad,k=f.find,J=f.isArray,t=f.isNumber,w=function(a,d){d=t(d)?d:14;d=Math.pow(10,d);return Math.round(a*d)/d},A=function(a,d){var e=d[0]-a[0];a=d[1]-a[1];return[[-a,e],[a,-e]]},q=function(a,d){a=a.map(function(a){return a[0]*d[0]+a[1]*d[1]});return{min:Math.min.apply(this,a),max:Math.max.apply(this,a)}},E=function(a,d){var e=a[0];a=a[1];var m=h*-d;d=Math.cos(m);m=Math.sin(m);return[w(e*d-a*m),w(e*m+a*d)]},
+z=function(a,d,e){a=E([a[0]-d[0],a[1]-d[1]],e);return[a[0]+d[0],a[1]+d[1]]},B=function(a){var d,e=a.axes;J(e)||(e=[],d=d=a.concat([a[0]]),d.reduce(function(a,d){var m=A(a,d)[0];k(e,function(a){return a[0]===m[0]&&a[1]===m[1]})||e.push(m);return d}),a.axes=e);return e},G=function(a,d){a=B(a);d=B(d);return a.concat(d)};return{getBoundingBoxFromPolygon:function(a){return a.reduce(function(a,e){var d=e[0];e=e[1];a.left=Math.min(d,a.left);a.right=Math.max(d,a.right);a.bottom=Math.max(e,a.bottom);a.top=
+Math.min(e,a.top);return a},{left:Number.MAX_VALUE,right:-Number.MAX_VALUE,bottom:-Number.MAX_VALUE,top:Number.MAX_VALUE})},getPolygon:function(a,d,e,m,f){var k=[a,d],h=a-e/2;a+=e/2;e=d-m/2;d+=m/2;return[[h,e],[a,e],[a,d],[h,d]].map(function(a){return z(a,k,-f)})},isPolygonsColliding:function(a,d){var e=G(a,d);return!k(e,function(e){var f=q(a,e);e=q(d,e);return!!(e.min>f.max||e.max<f.min)})},movePolygon:function(a,d,e){return e.map(function(e){return[e[0]+a,e[1]+d]})},rotate2DToOrigin:E,rotate2DToPoint:z}}(h);
+(function(f,h,k){function v(g,c){var b=!1,a=g.rect,e=g.polygon,d=g.lastCollidedWith,f=function(c){var b;b=c.rect;(b=!(b.left>a.right||b.right<a.left||b.top>a.bottom||b.bottom<a.top))&&(g.rotation%90||c.roation%90)&&(b=D(e,c.polygon));return b};d&&((b=f(d))||delete g.lastCollidedWith);b||(b=!!C(c,function(c){var b=f(c);b&&(g.lastCollidedWith=c);return b}));return b}function t(g){var c=4*g,b=Math.ceil((Math.sqrt(c)-1)/2),a=2*b+1,d=Math.pow(a,2),e=!1,a=a-1;1E4>=g&&("boolean"===typeof e&&c>=d-a&&(e={x:b-
+(d-c),y:-b}),d-=a,"boolean"===typeof e&&c>=d-a&&(e={x:-b,y:-b+(d-c)}),d-=a,"boolean"===typeof e&&(e=c>=d-a?{x:-b+(d-c),y:b}:{x:b,y:b-(d-c-a)}),e.x*=5,e.y*=5);return e}function w(g,c,b){var a=2*Math.max(Math.abs(b.top),Math.abs(b.bottom));b=2*Math.max(Math.abs(b.left),Math.abs(b.right));return Math.min(0<b?1/b*g:1,0<a?1/a*c:1)}function A(a,c,b){b=b.reduce(function(a,c){c=c.dimensions;var b=Math.max(c.width,c.height);a.maxHeight=Math.max(a.maxHeight,c.height);a.maxWidth=Math.max(a.maxWidth,c.width);
+a.area+=b*b;return a},{maxHeight:0,maxWidth:0,area:0});b=Math.max(b.maxHeight,b.maxWidth,.85*Math.sqrt(b.area));var g=a>c?a/c:1;a=c>a?c/a:1;return{width:b*g,height:b*a,ratioX:g,ratioY:a}}function q(a,c,b,d){var g=!1;e(a)&&e(c)&&e(b)&&e(d)&&-1<a&&-1<c&&d>b&&(g=b+c%a*((d-b)/(a-1)));return g}function E(a,c){var b,g=[];for(b=1;1E4>b;b++)g.push(a(b,c));return function(a){return 1E4>=a?g[a-1]:!1}}function z(a,c){var b=c.width/2,g=-(c.height/2),d=c.height/2;return!(-(c.width/2)<a.left&&b>a.right&&g<a.top&&
+d>a.bottom)}function B(g,c){var b=c.placed,d=c.field,e=c.rectangle,f=c.polygon,k=c.spiral,h=1,p={x:0,y:0},n=g.rect=a({},e);g.polygon=f;for(g.rotation=c.rotation;!1!==p&&(v(g,b)||z(n,d));)p=k(h),m(p)&&(n.left=e.left+p.x,n.right=e.right+p.x,n.top=e.top+p.y,n.bottom=e.bottom+p.y,g.polygon=L(p.x,p.y,f)),h++;return p}function G(a,c){var b,g,d;m(a)&&m(c)&&(b=c.bottom-c.top,g=c.right-c.left,c=a.ratioX,d=a.ratioY,b=g*c>b*d?g:b,a=y(a,{width:a.width+b*c*2,height:a.height+b*d*2}));return a}var a=f.extend,d=
+f.isArray,e=f.isNumber,m=f.isObject,y=f.merge,F=f.noop,C=f.find,K=k.getBoundingBoxFromPolygon,M=k.getPolygon,D=k.isPolygonsColliding,L=k.movePolygon,I=f.Series;f.seriesType("wordcloud","column",{allowExtendPlayingField:!0,animation:{duration:500},borderWidth:0,clip:!1,colorByPoint:!0,minFontSize:1,maxFontSize:25,placementStrategy:"center",rotation:{from:0,orientations:2,to:90},showInLegend:!1,spiral:"rectangular",style:{fontFamily:"sans-serif",fontWeight:"900"},tooltip:{followPointer:!0,pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.weight}\x3c/b\x3e\x3cbr/\x3e'}},
+{animate:I.prototype.animate,animateDrilldown:F,animateDrillupFrom:F,bindAxes:function(){var g={endOnTick:!1,gridLineWidth:0,lineWidth:0,maxPadding:0,startOnTick:!1,title:null,tickPositions:[]};I.prototype.bindAxes.call(this);a(this.yAxis.options,g);a(this.xAxis.options,g)},deriveFontSize:function(a,c,b){a=e(a)?a:0;c=e(c)?c:1;b=e(b)?b:1;return Math.floor(Math.max(b,a*c))},drawPoints:function(){var d=this,c=d.hasRendered,b=d.xAxis,f=d.yAxis,k=d.group,h=d.options,t=h.animation,v=h.allowExtendPlayingField,
+p=d.chart.renderer,n=p.text().add(k),q=[],z=d.placementStrategy[h.placementStrategy],y,C=h.rotation,F=d.points.map(function(a){return a.weight}),D=Math.max.apply(null,F),H=d.points.sort(function(a,c){return c.weight-a.weight}),u;H.forEach(function(c){var b=d.deriveFontSize(1/D*c.weight,h.maxFontSize,h.minFontSize),b=a({fontSize:b+"px"},h.style);n.css(b).attr({x:0,y:0,text:c.name});b=n.getBBox(!0);c.dimensions={height:b.height,width:b.width}});u=A(b.len,f.len,H);y=E(d.spirals[h.spiral],{field:u});
+H.forEach(function(b){var g=d.deriveFontSize(1/D*b.weight,h.maxFontSize,h.minFontSize),g=a({fontSize:g+"px",fill:b.color},h.style),f=z(b,{data:H,field:u,placed:q,rotation:C}),r={align:"center","alignment-baseline":"middle",x:f.x,y:f.y,text:b.name,rotation:f.rotation},n=M(f.x,f.y,b.dimensions.width,b.dimensions.height,f.rotation),l=K(n),x=B(b,{rectangle:l,polygon:n,field:u,placed:q,spiral:y,rotation:f.rotation}),w;!x&&v&&(u=G(u,l),x=B(b,{rectangle:l,polygon:n,field:u,placed:q,spiral:y,rotation:f.rotation}));
+if(m(x)){r.x+=x.x;r.y+=x.y;l.left+=x.x;l.right+=x.x;l.top+=x.y;l.bottom+=x.y;f=u;if(!e(f.left)||f.left>l.left)f.left=l.left;if(!e(f.right)||f.right<l.right)f.right=l.right;if(!e(f.top)||f.top>l.top)f.top=l.top;if(!e(f.bottom)||f.bottom<l.bottom)f.bottom=l.bottom;u=f;q.push(b);b.isNull=!1}else b.isNull=!0;t&&(w={x:r.x,y:r.y},c?(delete r.x,delete r.y):(r.x=0,r.y=0));b.draw({animatableAttribs:w,attribs:r,css:g,group:k,renderer:p,shapeArgs:void 0,shapeType:"text"})});n=n.destroy();b=w(b.len,f.len,u);
+d.group.attr({scaleX:b,scaleY:b})},hasData:function(){return m(this)&&!0===this.visible&&d(this.points)&&0<this.points.length},placementStrategy:{random:function(a,c){var b=c.field;c=c.rotation;return{x:Math.round(b.width*(Math.random()+.5)/2)-b.width/2,y:Math.round(b.height*(Math.random()+.5)/2)-b.height/2,rotation:q(c.orientations,a.index,c.from,c.to)}},center:function(a,c){c=c.rotation;return{x:0,y:0,rotation:q(c.orientations,a.index,c.from,c.to)}}},pointArrayMap:["weight"],spirals:{archimedean:function(a,
+c){var b=c.field;c=!1;var b=b.width*b.width+b.height*b.height,d=.8*a;1E4>=a&&(c={x:d*Math.cos(d),y:d*Math.sin(d)},Math.min(Math.abs(c.x),Math.abs(c.y))<b||(c=!1));return c},rectangular:function(a,c){a=t(a,c);c=c.field;a&&(a.x*=c.ratioX,a.y*=c.ratioY);return a},square:t},utils:{extendPlayingField:G,getRotation:q,isPolygonsColliding:D,rotate2DToOrigin:k.rotate2DToOrigin,rotate2DToPoint:k.rotate2DToPoint},getPlotBox:function(){var a=this.chart,c=a.inverted,b=this[c?"yAxis":"xAxis"],c=this[c?"xAxis":
+"yAxis"];return{translateX:(b?b.left:a.plotLeft)+(b?b.len:a.plotWidth)/2,translateY:(c?c.top:a.plotTop)+(c?c.len:a.plotHeight)/2,scaleX:1,scaleY:1}}},{draw:h,shouldDraw:function(){return!this.isNull},weight:1})})(h,y,C)});
+//# sourceMappingURL=wordcloud.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ X-range series
+
+ (c) 2010-2018 Torstein Honsi, Lars A. V. Cabrera
+
+ License: www.highcharts.com/license
+*/
+(function(g){"object"===typeof module&&module.exports?module.exports=g:"function"===typeof define&&define.amd?define(function(){return g}):g("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(g){(function(c){var g=c.addEvent,t=c.defined,x=c.Color,u=c.seriesTypes.column,y=c.correctFloat,v=c.isNumber,r=c.isObject,p=c.merge,n=c.pick,z=c.seriesType,A=c.Axis,f=c.Point,B=c.Series;z("xrange","column",{colorByPoint:!0,dataLabels:{verticalAlign:"middle",inside:!0,formatter:function(){var a=this.point.partialFill;
+r(a)&&(a=a.amount);t(a)||(a=0);return y(100*a)+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.x} - {point.x2}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.yCategory}\x3c/b\x3e\x3cbr/\x3e'},borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:c.seriesTypes.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:c.noop,getColumnMetrics:function(){function a(){d.series.forEach(function(a){var b=
+a.xAxis;a.xAxis=a.yAxis;a.yAxis=b})}var b,d=this.chart;a();b=u.prototype.getColumnMetrics.call(this);a();return b},cropData:function(a,b,d,e){b=B.prototype.cropData.call(this,this.x2Data,b,d,e);b.xData=a.slice(b.start,b.end);return b},translatePoint:function(a){var b=this.xAxis,d=this.yAxis,e=this.columnMetrics,l=this.options,c=l.minPointLength||0,m=a.plotX,k=n(a.x2,a.x+(a.len||0)),h=b.translate(k,0,0,0,1),k=Math.abs(h-m),w=this.chart.inverted,g=n(l.borderWidth,1)%2/2,q=e.offset,f=Math.round(e.width);
+c&&(c-=k,0>c&&(c=0),m-=c/2,h+=c/2);m=Math.max(m,-10);h=Math.min(Math.max(h,-10),b.len+10);t(a.options.pointWidth)&&(q-=(Math.ceil(a.options.pointWidth)-f)/2,f=Math.ceil(a.options.pointWidth));l.pointPlacement&&v(a.plotY)&&d.categories&&(a.plotY=d.translate(a.y,0,1,0,1,l.pointPlacement));a.shapeArgs={x:Math.floor(Math.min(m,h))+g,y:Math.floor(a.plotY+q)+g,width:Math.round(Math.abs(h-m)),height:f,r:this.options.borderRadius};d=a.shapeArgs.x;l=d+a.shapeArgs.width;0>d||l>b.len?(d=Math.min(b.len,Math.max(0,
+d)),l=Math.max(0,Math.min(l,b.len)),b=l-d,a.dlBox=p(a.shapeArgs,{x:d,width:l-d,centerX:b?b/2:null})):a.dlBox=null;a.tooltipPos[0]+=w?0:k/2;a.tooltipPos[1]-=w?-k/2:e.width/2;if(b=a.partialFill)r(b)&&(b=b.amount),v(b)||(b=0),e=a.shapeArgs,a.partShapeArgs={x:e.x,y:e.y,width:e.width,height:e.height,r:this.options.borderRadius},a.clipRectArgs={x:e.x,y:e.y,width:Math.max(Math.round(k*b+(a.plotX-m)),0),height:e.height}},translate:function(){u.prototype.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},
+this)},drawPoint:function(a,b){var d=this.options,e=this.chart.renderer,c=a.graphic,g=a.shapeType,m=a.shapeArgs,k=a.partShapeArgs,h=a.clipRectArgs,f=a.partialFill,n=a.selected&&"select",q=d.stacking&&!d.borderRadius;if(a.isNull)c&&(a.graphic=c.destroy());else{if(c)a.graphicOriginal[b](p(m));else a.graphic=c=e.g("point").addClass(a.getClassName()).add(a.group||this.group),a.graphicOriginal=e[g](m).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(c);k&&(a.graphicOverlay?(a.graphicOverlay[b](p(k)),
+a.clipRect.animate(p(h))):(a.clipRect=e.clipRect(h.x,h.y,h.width,h.height),a.graphicOverlay=e[g](k).addClass("highcharts-partfill-overlay").add(c).clip(a.clipRect)));this.chart.styledMode||(a.graphicOriginal.attr(this.pointAttribs(a,n)).shadow(d.shadow,null,q),k&&(r(f)||(f={}),r(d.partialFill)&&(f=p(f,d.partialFill)),b=f.fill||x(a.color||this.color).brighten(-.3).get(),a.graphicOverlay.attr(this.pointAttribs(a,n)).attr({fill:b}).shadow(d.shadow,null,q)))}},drawPoints:function(){var a=this,b=a.getAnimationVerb();
+a.points.forEach(function(d){a.drawPoint(d,b)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{applyOptions:function(){var a,b=f.prototype.applyOptions.apply(this,arguments),d=b.series;if(d.options.colorByPoint&&!b.options.color){a=d.options.colors||d.chart.options.colors;var c=b.y%(a?a.length:d.chart.options.chart.colorCount);a=a&&a[c];d.chart.styledMode||(b.color=a);b.options.colorIndex||(b.colorIndex=c)}return b},init:function(){f.prototype.init.apply(this,
+arguments);this.y||(this.y=0);return this},setState:function(){f.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},getLabelConfig:function(){var a=f.prototype.getLabelConfig.call(this),b=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=b&&b[this.y];return a},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===typeof this.x&&"number"===typeof this.x2}});g(A,"afterGetSeriesExtremes",function(){var a=this.series,b,c;this.isXAxis&&
+(b=n(this.dataMax,-Number.MAX_VALUE),a.forEach(function(a){a.x2Data&&a.x2Data.forEach(function(a){a>b&&(b=a,c=!0)})}),c&&(this.dataMax=b))})})(g)});
+//# sourceMappingURL=xrange.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Tilemap module
+
+ (c) 2010-2018 Highsoft AS
+
+ License: www.highcharts.com/license
+*/
+(function(k){"object"===typeof module&&module.exports?module.exports=k:"function"===typeof define&&define.amd?define(function(){return k}):k("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(k){(function(d){var k=d.defined,v=d.noop,e=d.seriesTypes;d.colorPointMixin={isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(d){var a=this,b=d?"show":"hide";a.visible=!!d;["graphic","dataLabel"].forEach(function(c){if(a[c])a[c][b]()})},
+setState:function(e){d.Point.prototype.setState.call(this,e);this.graphic&&this.graphic.attr({zIndex:"hover"===e?1:0})}};d.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:v,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:e.column.prototype.pointAttribs,translateColors:function(){var d=this,a=this.options.nullColor,b=this.colorAxis,c=this.colorKey;this.data.forEach(function(f){var g=
+f[c];if(g=f.options.color||(f.isNull?a:b&&void 0!==g?b.toColor(g,f):f.color||d.color))f.color=g})},colorAttribs:function(d){var a={};k(d.color)&&(a[this.colorProp||"fill"]=d.color);return a}}})(k);(function(d){var k=d.colorPointMixin,v=d.merge,e=d.noop,r=d.pick,a=d.Series,b=d.seriesType,c=d.seriesTypes;b("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,
+pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{hover:{halo:!1,brightness:.2}}},v(d.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var b;c.scatter.prototype.init.apply(this,arguments);b=this.options;b.pointRange=r(b.pointRange,b.colsize||1);this.yAxis.axisPointRange=b.rowsize||1},translate:function(){var b=this.options,a=this.xAxis,c=this.yAxis,d=b.pointPadding||0,l=function(b,
+a,c){return Math.min(Math.max(a,b),c)};this.generatePoints();this.points.forEach(function(g){var f=(b.colsize||1)/2,e=(b.rowsize||1)/2,u=l(Math.round(a.len-a.translate(g.x-f,0,1,0,1)),-a.len,2*a.len),f=l(Math.round(a.len-a.translate(g.x+f,0,1,0,1)),-a.len,2*a.len),m=l(Math.round(c.translate(g.y-e,0,1,0,1)),-c.len,2*c.len),e=l(Math.round(c.translate(g.y+e,0,1,0,1)),-c.len,2*c.len),h=r(g.pointPadding,d);g.plotX=g.clientX=(u+f)/2;g.plotY=(m+e)/2;g.shapeType="rect";g.shapeArgs={x:Math.min(u,f)+h,y:Math.min(m,
+e)+h,width:Math.abs(f-u)-2*h,height:Math.abs(e-m)-2*h}});this.translateColors()},drawPoints:function(){var b=this.chart.styledMode?"css":"attr";c.column.prototype.drawPoints.call(this);this.points.forEach(function(a){a.graphic[b](this.colorAttribs(a))},this)},animate:e,getBox:e,drawLegendSymbol:d.LegendSymbolMixin.drawRectangle,alignDataLabel:c.column.prototype.alignDataLabel,getExtremes:function(){a.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;
+a.prototype.getExtremes.call(this)}}),d.extend({haloPath:function(b){if(!b)return[];var a=this.shapeArgs;return["M",a.x-b,a.y-b,"L",a.x-b,a.y+a.height+b,a.x+a.width+b,a.y+a.height+b,a.x+a.width+b,a.y-b,"Z"]}},k))})(k);(function(d){var k=d.seriesType,v=d.pick,e=function(a,b,c){return Math.min(Math.max(b,a),c)},r=function(a,b,c){a=a.options;return{xPad:(a.colsize||1)/-b,yPad:(a.rowsize||1)/-c}};d.tileShapeTypes={hexagon:{alignDataLabel:d.seriesTypes.scatter.prototype.alignDataLabel,getSeriesPadding:function(a){return r(a,
+3,2)},haloPath:function(a){if(!a)return[];var b=this.tileEdges;return["M",b.x2-a,b.y1+a,"L",b.x3+a,b.y1+a,b.x4+1.5*a,b.y2,b.x3+a,b.y3-a,b.x2-a,b.y3-a,b.x1-1.5*a,b.y2,"Z"]},translate:function(){var a=this.options,b=this.xAxis,c=this.yAxis,d=a.pointPadding||0,g=(a.colsize||1)/3,k=(a.rowsize||1)/2,q;this.generatePoints();this.points.forEach(function(a){var l=e(Math.floor(b.len-b.translate(a.x-2*g,0,1,0,1)),-b.len,2*b.len),f=e(Math.floor(b.len-b.translate(a.x-g,0,1,0,1)),-b.len,2*b.len),t=e(Math.floor(b.len-
+b.translate(a.x+g,0,1,0,1)),-b.len,2*b.len),u=e(Math.floor(b.len-b.translate(a.x+2*g,0,1,0,1)),-b.len,2*b.len),m=e(Math.floor(c.translate(a.y-k,0,1,0,1)),-c.len,2*c.len),h=e(Math.floor(c.translate(a.y,0,1,0,1)),-c.len,2*c.len),n=e(Math.floor(c.translate(a.y+k,0,1,0,1)),-c.len,2*c.len),p=v(a.pointPadding,d),w=p*Math.abs(f-l)/Math.abs(n-h),w=b.reversed?-w:w,r=b.reversed?-p:p,p=c.reversed?-p:p;a.x%2&&(q=q||Math.round(Math.abs(n-m)/2)*(c.reversed?-1:1),m+=q,h+=q,n+=q);a.plotX=a.clientX=(f+t)/2;a.plotY=
+h;l+=w+r;f+=r;t-=r;u-=w+r;m-=p;n+=p;a.tileEdges={x1:l,x2:f,x3:t,x4:u,y1:m,y2:h,y3:n};a.shapeType="path";a.shapeArgs={d:["M",f,m,"L",t,m,u,h,t,n,f,n,l,h,"Z"]}});this.translateColors()}},diamond:{alignDataLabel:d.seriesTypes.scatter.prototype.alignDataLabel,getSeriesPadding:function(a){return r(a,2,2)},haloPath:function(a){if(!a)return[];var b=this.tileEdges;return["M",b.x2,b.y1+a,"L",b.x3+a,b.y2,b.x2,b.y3-a,b.x1-a,b.y2,"Z"]},translate:function(){var a=this.options,b=this.xAxis,c=this.yAxis,d=a.pointPadding||
+0,g=a.colsize||1,k=(a.rowsize||1)/2,q;this.generatePoints();this.points.forEach(function(a){var f=e(Math.round(b.len-b.translate(a.x-g,0,1,0,0)),-b.len,2*b.len),l=e(Math.round(b.len-b.translate(a.x,0,1,0,0)),-b.len,2*b.len),t=e(Math.round(b.len-b.translate(a.x+g,0,1,0,0)),-b.len,2*b.len),u=e(Math.round(c.translate(a.y-k,0,1,0,0)),-c.len,2*c.len),m=e(Math.round(c.translate(a.y,0,1,0,0)),-c.len,2*c.len),h=e(Math.round(c.translate(a.y+k,0,1,0,0)),-c.len,2*c.len),n=v(a.pointPadding,d),p=n*Math.abs(l-
+f)/Math.abs(h-m),p=b.reversed?-p:p,n=c.reversed?-n:n;a.x%2&&(q=Math.abs(h-u)/2*(c.reversed?-1:1),u+=q,m+=q,h+=q);a.plotX=a.clientX=l;a.plotY=m;f+=p;t-=p;u-=n;h+=n;a.tileEdges={x1:f,x2:l,x3:t,y1:u,y2:m,y3:h};a.shapeType="path";a.shapeArgs={d:["M",l,u,"L",t,m,l,h,f,m,"Z"]}});this.translateColors()}},circle:{alignDataLabel:d.seriesTypes.scatter.prototype.alignDataLabel,getSeriesPadding:function(a){return r(a,2,2)},haloPath:function(a){return d.seriesTypes.scatter.prototype.pointClass.prototype.haloPath.call(this,
+a+(a&&this.radius))},translate:function(){var a=this.options,b=this.xAxis,c=this.yAxis,d=a.pointPadding||0,g=(a.rowsize||1)/2,k=a.colsize||1,q,l,r,v,t=!1;this.generatePoints();this.points.forEach(function(a){var f=e(Math.round(b.len-b.translate(a.x,0,1,0,0)),-b.len,2*b.len),h=e(Math.round(c.translate(a.y,0,1,0,0)),-c.len,2*c.len),n=d,p=!1;void 0!==a.pointPadding&&(n=a.pointPadding,t=p=!0);if(!v||t)q=Math.abs(e(Math.floor(b.len-b.translate(a.x+k,0,1,0,0)),-b.len,2*b.len)-f),l=Math.abs(e(Math.floor(c.translate(a.y+
+g,0,1,0,0)),-c.len,2*c.len)-h),r=Math.floor(Math.sqrt(q*q+l*l)/2),v=Math.min(q,r,l)-n,t&&!p&&(t=!1);a.x%2&&(h+=l*(c.reversed?-1:1));a.plotX=a.clientX=f;a.plotY=h;a.radius=v;a.shapeType="circle";a.shapeArgs={x:f,y:h,r:v}});this.translateColors()}},square:{alignDataLabel:d.seriesTypes.heatmap.prototype.alignDataLabel,translate:d.seriesTypes.heatmap.prototype.translate,getSeriesPadding:function(){},haloPath:d.seriesTypes.heatmap.prototype.pointClass.prototype.haloPath}};d.wrap(d.Axis.prototype,"setAxisTranslation",
+function(a){a.apply(this,Array.prototype.slice.call(arguments,1));var b=this,c=b.series.map(function(a){return a.getSeriesPixelPadding&&a.getSeriesPixelPadding(b)}).reduce(function(a,b){return(a&&a.padding)>(b&&b.padding)?a:b},void 0)||{padding:0,axisLengthFactor:1},d=Math.round(c.padding*c.axisLengthFactor);c.padding&&(b.len-=d,a.apply(b,Array.prototype.slice.call(arguments,1)),b.minPixelPadding+=c.padding,b.len+=d)});k("tilemap","heatmap",{states:{hover:{halo:{enabled:!0,size:2,opacity:.5,attributes:{zIndex:3}}}},
+pointPadding:2,tileShape:"hexagon"},{setOptions:function(){var a=d.seriesTypes.heatmap.prototype.setOptions.apply(this,Array.prototype.slice.call(arguments));this.tileShape=d.tileShapeTypes[a.tileShape];return a},alignDataLabel:function(){return this.tileShape.alignDataLabel.apply(this,Array.prototype.slice.call(arguments))},getSeriesPixelPadding:function(a){var b=a.isXAxis,c=this.tileShape.getSeriesPadding(this),d;if(!c)return{padding:0,axisLengthFactor:1};d=Math.round(a.translate(b?2*c.xPad:c.yPad,
+0,1,0,1));a=Math.round(a.translate(b?c.xPad:0,0,1,0,1));return{padding:Math.abs(d-a)||0,axisLengthFactor:b?2:1.1}},translate:function(){return this.tileShape.translate.apply(this,Array.prototype.slice.call(arguments))}},d.extend({haloPath:function(){return this.series.tileShape.haloPath.apply(this,Array.prototype.slice.call(arguments))}},d.colorPointMixin))})(k)});
+//# sourceMappingURL=tilemap.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ (c) 2017-2018 Highsoft AS
+ Authors: Jon Arild Nygard
+
+ License: www.highcharts.com/license
+*/
+(function(n){"object"===typeof module&&module.exports?module.exports=n:"function"===typeof define&&define.amd?define(function(){return n}):n("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(n){var A=function(){return function(f){var h=this,e=h.graphic,t=f.animatableAttribs,m=f.onComplete,w=f.css,u=f.renderer;h.shouldDraw()?(e||(h.graphic=e=u[f.shapeType](f.shapeArgs).add(f.group)),e.css(w).attr(f.attribs).animate(t,f.isNew?!1:void 0,m)):e&&e.animate(t,void 0,function(){h.graphic=e=e.destroy();
+"function"===typeof m&&m()});e&&e.addClass(h.getClassName(),!0)}}(),x=function(){return{getAngleBetweenPoints:function(f,h){return Math.atan2(h.x-f.x,h.y-f.y)},getCenterOfPoints:function(f){var h=f.reduce(function(e,f){e.x+=f.x;e.y+=f.y;return e},{x:0,y:0});return{x:h.x/f.length,y:h.y/f.length}},getDistanceBetweenPoints:function(f,h){return Math.sqrt(Math.pow(h.x-f.x,2)+Math.pow(h.y-f.y,2))}}}(),B=function(f){var h=f.getAngleBetweenPoints,e=f.getCenterOfPoints,t=f.getDistanceBetweenPoints,m=function(l,
+a){a=Math.pow(10,a);return Math.round(l*a)/a},w=function(l,a){var p=t(l,a),k=l.r,f=a.r,e=[];if(p<k+f&&p>Math.abs(k-f)){var k=k*k,h=(k-f*f+p*p)/(2*p),f=Math.sqrt(k-h*h),k=l.x,e=a.x;l=l.y;var y=a.y;a=k+h*(e-k)/p;h=l+h*(y-l)/p;l=f/p*-(y-l);p=f/p*-(e-k);e=[{x:m(a+l,14),y:m(h-p,14)},{x:m(a-l,14),y:m(h+p,14)}]}return e},u=function(f){return f.reduce(function(a,f,k,l){l=l.slice(k+1).reduce(function(a,l,p){var e=[k,p+k+1];return a.concat(w(f,l).map(function(a){a.indexes=e;return a}))},[]);return a.concat(l)},
+[])},n=function(f,a){return t(f,a)<=a.r+1e-10},z=function(f,a){return!a.some(function(a){return!n(f,a)})};return{getAreaOfIntersectionBetweenCircles:function(f){var a=u(f).filter(function(a){return z(a,f)}),p;if(1<a.length){var k=e(a),a=a.map(function(a){a.angle=h(k,a);return a}).sort(function(a,f){return f.angle-a.angle}),l=a[a.length-1],a=a.reduce(function(a,k){var p=a.startPoint,l=e([p,k]),m=k.indexes.filter(function(a){return-1<p.indexes.indexOf(a)}).reduce(function(a,e){e=f[e];var m=h(e,k),n=
+h(e,p),m=n-(n-m+(n<m?2*Math.PI:0))/2,m=t(l,{x:e.x+e.r*Math.sin(m),y:e.y+e.r*Math.cos(m)});e=e.r;m>2*e&&(m=2*e);if(!a||a.width>m)a={r:e,largeArc:m>e?1:0,width:m,x:k.x,y:k.y};return a},null);if(m){var n=m.r;a.arcs.push(["A",n,n,0,m.largeArc,1,m.x,m.y]);a.startPoint=k}return a},{startPoint:l,arcs:[]}).arcs;0!==a.length&&1!==a.length&&(a.unshift(["M",l.x,l.y]),p={center:k,d:a})}return p},getCircleCircleIntersection:w,getCirclesIntersectionPoints:u,getOverlapBetweenCircles:function(f,a,e){var k=0;if(e<
+f+a){var k=f*f,l=a*a;if(e<=Math.abs(a-f))k=Math.PI*Math.min(k,l);else{e=(k-l+e*e)/(2*e);var h=Math.sqrt(k-e*e),k=k*Math.asin(h/f)+l*Math.asin(h/a)-h*(e+Math.sqrt(e*e+l-k))}k=m(k,14)}return k},isPointInsideCircle:n,isPointInsideAllCircles:z,isPointOutsideAllCircles:function(e,a){return!a.some(function(a){return n(e,a)})},round:m}}(x);(function(f,h,e,n){var m=n.Color,t=n.extend,u=e.getAreaOfIntersectionBetweenCircles,x=e.getCircleCircleIntersection,z=h.getCenterOfPoints,l=h.getDistanceBetweenPoints,
+a=e.getOverlapBetweenCircles,p=n.isArray,k=n.isNumber,D=n.isObject,A=e.isPointInsideAllCircles,B=e.isPointOutsideAllCircles,y=n.isString,L=n.merge,M=e.round,P=n.seriesType,N=function(d){return Object.keys(d).map(function(b){return d[b]})},O=function(d){var b=0;2===d.length&&(b=d[0],d=d[1],b=a(b.r,d.r,l(b,d)));return b},E=function(d,b){return b.reduce(function(b,g){var c=0;1<g.sets.length&&(c=g.value,g=O(g.sets.map(function(c){return d[c]})),g=c-g,c=Math.round(g*g*1E11)/1E11);return b+c},0)},F=function(d,
+b,q){for(var g=0,c=d.length-1,a=Math.floor((g+c)/2),e;(e=q(d[a],b))!==b&&g<c;)b<e?c=a-1:g=a+1,a=Math.floor((g+c)/2);return e===b?a:-1},Q=function(d,b,q){var g=q||1;return Array.apply(0,Array(Math.round((d+b)/g))).map(function(d,b){return b*g})},C=function(d,b,q){var g=Q(0,d+b,.001),c=F(g,0,function(c){c=a(d,b,c);c=q-c;return.01>Math.abs(c)?0:c});return M(g[c],14)},v=function(d){return p(d.sets)&&1===d.sets.length},R=function(d,b){var q=function(c,d){return c.fx-d.fx},g=function(c,d,b,g){return d.map(function(d,
+a){return c*d+b*g[a]})},c=function(c,b){b.fx=d(b);c[c.length-1]=b;return c},a=function(c){var b=c[0];return c.map(function(c){c=g(.5,b,.5,c);c.fx=d(c);return c})},e=function(c){for(var d=c.slice(0,-1).length,b=[],g=function(c,d){c.sum+=d[c.i];return c},a=0;a<d;a++)b[a]=c.reduce(g,{sum:0,i:a}).sum/d;return b},f=function(c,b,a,q){c=g(a,c,q,b);c.fx=d(c);return c};b=function(c){var b=c.length,a=Array(b+1);a[0]=c;a[0].fx=d(c);for(var g=0;g<b;++g){var q=c.slice();q[g]=q[g]?1.05*q[g]:.001;q.fx=d(q);a[g+
+1]=q}return a}(b);for(var k=0;100>k;k++){b.sort(q);var r=b[b.length-1],h=e(b),l=f(h,r,2,-1);l.fx<b[0].fx?(r=f(h,r,3,-2),b=c(b,r.fx<l.fx?r:l)):l.fx>=b[b.length-2].fx?l.fx>r.fx?(h=f(h,r,.5,.5),b=h.fx<r.fx?c(b,h):a(b)):(h=f(h,r,1.5,-.5),b=h.fx<l.fx?c(b,h):a(b)):b=c(b,l)}return b[0]},G=function(d,b,a){b=b.reduce(function(b,c){c=c.r-l(d,c);return c<=b?c:b},Number.MAX_VALUE);return b=a.reduce(function(b,c){c=l(d,c)-c.r;return c<=b?c:b},b)},S=function(d,b){var a=d.reduce(function(a,c){var g=c.r/2;return[{x:c.x,
+y:c.y},{x:c.x+g,y:c.y},{x:c.x-g,y:c.y},{x:c.x,y:c.y+g},{x:c.x,y:c.y-g}].reduce(function(c,a){var g=G(a,d,b);c.margin<g&&(c.point=a,c.margin=g);return c},a)},{point:void 0,margin:-Number.MAX_VALUE}).point,a=R(function(a){return-G({x:a[0],y:a[1]},d,b)},[a.x,a.y]),a={x:a[0],y:a[1]};A(a,d)&&B(a,b)||(a=z(d));return a},T=function(a){var b=a.filter(v);return a.reduce(function(a,d){if(d.value){var c=d.sets;d=c.join();var g=b.reduce(function(a,b){var d=-1<c.indexOf(b.sets[0]);a[d?"internal":"external"].push(b.circle);
+return a},{internal:[],external:[]});a[d]=S(g.internal,g.external)}return a},{})},H=function(a){var b=a.filter(function(a){return 2===a.sets.length}).reduce(function(a,b){b.sets.forEach(function(c,d,g){D(a[c])||(a[c]={overlapping:{},totalOverlap:0});a[c].totalOverlap+=b.value;a[c].overlapping[g[1-d]]=b.value});return a},{});a.filter(v).forEach(function(a){t(a,b[a.sets[0]])});return a},I=function(a,b){return b.totalOverlap-a.totalOverlap},U=function(a){var b=[],d={};a.filter(function(a){return 1===
+a.sets.length}).forEach(function(a){d[a.sets[0]]=a.circle={x:Number.MAX_VALUE,y:Number.MAX_VALUE,r:Math.sqrt(a.value/Math.PI)}});var g=function(a,c){var d=a.circle;d.x=c.x;d.y=c.y;b.push(a)};H(a);var c=a.filter(v).sort(I);g(c.pop(),{x:0,y:0});var e=a.filter(function(a){return 2===a.sets.length});c.forEach(function(a){var c=a.circle,f=c.r,q=a.overlapping,k=b.reduce(function(a,g,k){var h=g.circle;g=C(f,h.r,q[g.sets[0]]);var l=[{x:h.x+g,y:h.y},{x:h.x-g,y:h.y},{x:h.x,y:h.y+g},{x:h.x,y:h.y-g}];b.slice(k+
+1).forEach(function(a){var c=a.circle;a=C(f,c.r,q[a.sets[0]]);l=l.concat(x({x:h.x,y:h.y,r:a},{x:c.x,y:c.y,r:a}))});l.forEach(function(b){c.x=b.x;c.y=b.y;var g=E(d,e);g<a.loss&&(a.loss=g,a.coordinates=b)});return a},{loss:Number.MAX_VALUE,coordinates:void 0});g(a,k.coordinates)});return d},V=function(a){var b={};0<a.length&&(b=U(a),a.filter(function(a){return!v(a)}).forEach(function(a){var d=a.sets;a=d.join();d=d.map(function(a){return b[a]});b[a]=u(d)}));return b},J=function(a){var b={};return D(a)&&
+k(a.value)&&-1<a.value&&p(a.sets)&&0<a.sets.length&&!a.sets.some(function(a){var d=!1;!b[a]&&y(a)?b[a]=!0:d=!0;return d})},K=function(a){a=p(a)?a:[];var b=a.reduce(function(a,c){J(c)&&v(c)&&0<c.value&&-1===a.indexOf(c.sets[0])&&a.push(c.sets[0]);return a},[]).sort(),d=a.reduce(function(a,c){J(c)&&!c.sets.some(function(a){return-1===b.indexOf(a)})&&(a[c.sets.sort().join()]=c);return a},{});b.reduce(function(a,c,b,d){d.slice(b+1).forEach(function(b){a.push(c+","+b)});return a},[]).forEach(function(a){if(!d[a]){var c=
+{sets:a.split(","),value:0};d[a]=c}});return N(d)},W=function(a,b,e){var d=e.bottom-e.top,c=e.right-e.left,d=Math.min(0<c?1/c*a:1,0<d?1/d*b:1);return{scale:d,centerX:a/2-(e.right+e.left)/2*d,centerY:b/2-(e.top+e.bottom)/2*d}};P("venn","scatter",{borderColor:"#cccccc",borderDashStyle:"solid",borderWidth:1,brighten:0,clip:!1,colorByPoint:!0,dataLabels:{enabled:!0,formatter:function(){return this.point.name}},marker:!1,opacity:.75,showInLegend:!1,states:{hover:{opacity:1,halo:!1,borderColor:"#333333"},
+select:{color:"#cccccc",borderColor:"#000000",animation:!1}},tooltip:{pointFormat:"{point.name}: {point.value}"}},{isCartesian:!1,axisTypes:[],directTouch:!0,translate:function(){var a=this.chart;this.processedXData=this.xData;this.generatePoints();var b=K(this.options.data),e=V(b),g=T(b),b=Object.keys(e).filter(function(a){return(a=e[a])&&k(a.r)}).reduce(function(a,c){var b=e[c];c=b.x-b.r;var d=b.x+b.r,f=b.y+b.r,b=b.y-b.r;if(!k(a.left)||a.left>c)a.left=c;if(!k(a.right)||a.right<d)a.right=d;if(!k(a.top)||
+a.top>b)a.top=b;if(!k(a.bottom)||a.bottom<f)a.bottom=f;return a},{top:0,bottom:0,left:0,right:0}),a=W(a.plotWidth,a.plotHeight,b),c=a.scale,f=a.centerX,h=a.centerY;this.points.forEach(function(a){var b=p(a.sets)?a.sets:[],d=b.join(),k=e[d],l,d=g[d];k&&(k.r?l={x:f+k.x*c,y:h+k.y*c,r:k.r*c}:k.d&&(l={d:k.d.reduce(function(a,b){"M"===b[0]?(b[1]=f+b[1]*c,b[2]=h+b[2]*c):"A"===b[0]&&(b[1]*=c,b[2]*=c,b[6]=f+b[6]*c,b[7]=h+b[7]*c);return a.concat(b)},[]).join(" ")}),d?(d.x=f+d.x*c,d.y=h+d.y*c):d={});a.shapeArgs=
+l;d&&l&&(a.plotX=d.x,a.plotY=d.y);a.name=a.options.name||b.join("\u2229")})},drawPoints:function(){var a=this,b=a.chart,e=a.group,f=b.renderer;(a.points||[]).forEach(function(c){var d,g=c.shapeArgs;b.styledMode||(d=a.pointAttribs(c,c.state));c.draw({isNew:!c.graphic,animatableAttribs:g,attribs:d,group:e,renderer:f,shapeType:g&&g.d?"path":"circle"})})},pointAttribs:function(a,b){var d=this.options||{};a=L(d,{color:a&&a.color},a&&a.options||{},b&&d.states[b]||{});return{fill:m(a.color).setOpacity(a.opacity).brighten(a.brightness).get(),
+stroke:a.borderColor,"stroke-width":a.borderWidth,dashstyle:a.borderDashStyle}},animate:function(a){if(!a){var b=n.animObject(this.options.animation);this.points.forEach(function(a){var d=a.shapeArgs;if(a.graphic&&d){var c={},e={};d.d?c.opacity=.001:(c.r=0,e.r=d.r);a.graphic.attr(c).animate(e,b);d.d&&setTimeout(function(){a&&a.graphic&&a.graphic.animate({opacity:1})},b.duration)}},this);this.animate=null}},utils:{addOverlapToSets:H,binarySearch:F,geometry:h,geometryCircles:e,getDistanceBetweenCirclesByOverlap:C,
+loss:E,processVennData:K,sortByTotalOverlap:I}},{draw:f,shouldDraw:function(){return!!this.shapeArgs},isValid:function(){return k(this.value)}})})(A,x,B,n)});
+//# sourceMappingURL=venn.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Gantt series
+
+ (c) 2016-2018 Lars A. V. Cabrera
+
+ License: www.highcharts.com/license
+*/
+(function(C){"object"===typeof module&&module.exports?module.exports=C:"function"===typeof define&&define.amd?define(function(){return C}):C("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(C){(function(c){var v=c.addEvent,x=c.PlotLineOrBand,k=c.merge,m={currentDateIndicator:!0,color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:void 0,rotation:0,style:{fontSize:"10px"}}};v(c.Axis,"afterSetOptions",function(){var c=this.options,q=c.currentDateIndicator;q&&("object"===
+typeof q?(q.label&&q.label.format&&(q.label.formatter=void 0),q=k(m,q)):q=k(m),q.value=new Date,c.plotLines||(c.plotLines=[]),c.plotLines.push(q))});v(x,"render",function(){var k=this.options,q,n;k.currentDateIndicator&&k.label&&(q=k.label.format,n=k.label.formatter,k.value=new Date,k.label.text="function"===typeof n?n(this):c.dateFormat(q,new Date),this.label&&this.label.attr({text:k.label.text}))})})(C);(function(c){var v=function(a){return Array.prototype.slice.call(a,1)},x=c.dateFormat,k=c.defined,
+m=c.isArray,t=c.isNumber,q=function(a){return c.isObject(a,!0)},n=c.merge,B=c.pick,a=c.wrap,g=c.Axis,f=c.Tick,A={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};g.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)};g.prototype.isOuterAxis=function(){var a=this,e=-1,b=!0;a.chart.axes.forEach(function(d,h){d.side!==a.side||d.isNavigatorAxis()||(d===a?e=h:0<=e&&h>e&&(b=!1))});return b};g.prototype.getMaxLabelDimensions=function(a,
+e){var b={width:0,height:0};e.forEach(function(d){d=a[d];var e;q(d)&&(e=q(d.label)?d.label:{},d=e.getBBox?e.getBBox().height:0,e=t(e.textPxLength)?e.textPxLength:0,b.height=Math.max(d,b.height),b.width=Math.max(e,b.width))});return b};c.dateFormats={W:function(a){a=new Date(a);var e;a.setHours(0,0,0,0);a.setDate(a.getDate()-(a.getDay()||7));e=new Date(a.getFullYear(),0,1);return Math.ceil(((a-e)/864E5+1)/7)},E:function(a){return x("%a",a,!0).charAt(0)}};a(g.prototype,"autoLabelAlign",function(a){return this.chart.isStock?
+"left":a.apply(this,v(arguments))});a(f.prototype,"getLabelPosition",function(a,e,b,d,h,l,f,c){var r=this.axis,w=r.reversed,u=r.chart,p=r.options,z=p&&q(p.grid)?p.grid:{},p=l.align,g=A[r.side],y=r.tickPositions,I=this.pos-f,J=t(y[c+1])?y[c+1]-f:r.max+f,G=r.tickSize("tick",!0),y=m(G)?G[0]:0,G=G&&G[1]/2,n;!0===z.enabled?("top"===g?(z=r.top+r.offset,n=z-y):"bottom"===g?(n=u.chartHeight-r.bottom+r.offset,z=n+y):(z=r.top+r.len-r.translate(w?J:I),n=r.top+r.len-r.translate(w?I:J)),"right"===g?(g=u.chartWidth-
+r.right+r.offset,w=g+y):"left"===g?(w=r.left+r.offset,g=w-y):(g=Math.round(r.left+r.translate(w?J:I))-G,w=Math.round(r.left+r.translate(w?I:J))-G),this.slotWidth=w-g,w={x:"left"===p?g:"right"===p?w:g+(w-g)/2,y:n+(z-n)/2},u=u.renderer.fontMetrics(l.style.fontSize,d.element),p=d.getBBox().height,l.useHTML?w.y+=u.b+-(p/2):(p=Math.round(p/u.h),w.y+=(u.b-(u.h-u.f))/2+-((p-1)*u.h/2)),w.x+=r.horiz&&l.x||0):w=a.apply(this,v(arguments));return w});a(g.prototype,"tickSize",function(a){var e=this.maxLabelDimensions,
+b=this.options,d=b&&q(b.grid)?b.grid:{},b=a.apply(this,v(arguments));!0===d.enabled&&(d=2*Math.abs(this.defaultLeftAxisOptions.labels.x),e=d+(this.horiz?e.height:e.width),m(b)?b[0]=e:b=[e]);return b});a(g.prototype,"getTitlePosition",function(a){var e=this.options;if(!0===(e&&q(e.grid)?e.grid:{}).enabled){var b=this.axisTitle,d=b&&b.getBBox().width,h=this.horiz,l=this.left,r=this.top,f=this.width,c=this.height,u=e.title,e=this.opposite,g=this.offset,p=this.tickSize()||[0],F=u.x||0,D=u.y||0,y=B(u.margin,
+h?5:10),b=this.chart.renderer.fontMetrics(u.style&&u.style.fontSize,b).f,p=(h?r+c:l)+p[0]/2*(e?-1:1)*(h?1:-1)+(this.side===A.bottom?b:0);return{x:h?l-d/2-y+F:p+(e?f:0)+g+F,y:h?p-(e?c:0)+(e?b:-b)/2+g+D:r-y+D}}return a.apply(this,v(arguments))});a(g.prototype,"unsquish",function(a){var e=this.options;return!0===(e&&q(e.grid)?e.grid:{}).enabled&&this.categories?this.tickInterval:a.apply(this,v(arguments))});c.addEvent(g,"afterSetOptions",function(a){var e=this.options;a=a.userOptions;var b,d=e&&q(e.grid)?
+e.grid:{};!0===d.enabled&&(b=n(!0,{className:"highcharts-grid-axis "+(a.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},a),"xAxis"===
+this.coll&&(k(a.linkedTo)&&!k(a.tickPixelInterval)&&(b.tickPixelInterval=350),k(a.tickPixelInterval)||!k(a.linkedTo)||k(a.tickPositioner)||k(a.tickInterval)||(b.tickPositioner=function(d,e){var a=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(a){var h,l,f,g,p=b.units;for(g=0;g<p.length;g++)if(p[g][0]===a.unitName){h=g;break}if(p[h][1])return p[h+1]&&(f=p[h+1][0],l=(p[h+1][1]||[1])[0]),a=c.timeUnits[f],this.tickInterval=a*l,this.getTimeTicks({unitRange:a,
+count:l,unitName:f},d,e,this.options.startOfWeek)}})),n(!0,this.options,b),this.horiz&&(e.minPadding=B(a.minPadding,0),e.maxPadding=B(a.maxPadding,0)),t(e.grid.borderWidth)&&(e.tickWidth=e.lineWidth=d.borderWidth))});a(g.prototype,"setAxisTranslation",function(a){var e=this.options,b=e&&q(e.grid)?e.grid:{},d=this.tickPositions&&this.tickPositions.info,h=this.userOptions.labels||{};this.horiz&&(!0===b.enabled&&this.series.forEach(function(b){b.options.pointRange=0}),d&&(!1===e.dateTimeLabelFormats[d.unitName].range||
+1<d.count)&&!k(h.align)&&(e.labels.align="left",k(h.x)||(e.labels.x=3)));a.apply(this,v(arguments))});a(g.prototype,"trimTicks",function(a){var e=this.options,b=e&&q(e.grid)?e.grid:{},d=this.categories,h=this.tickPositions,l=h[0],f=h[h.length-1],c=this.linkedParent&&this.linkedParent.min||this.min,g=this.linkedParent&&this.linkedParent.max||this.max,u=this.tickInterval,A=l>c,p=f<g,l=l<c&&l+u>c,f=f>g&&f-u<g;!0!==b.enabled||d||!this.horiz&&!this.isLinked||(!A&&!l||e.startOnTick||(h[0]=c),!p&&!f||e.endOnTick||
+(h[h.length-1]=g));a.apply(this,v(arguments))});a(g.prototype,"render",function(a){var e=this.options,b=e&&q(e.grid)?e.grid:{},d,h,l,f,c,g=this.chart.renderer,w=this.horiz;if(!0===b.enabled){if(b=2*Math.abs(this.defaultLeftAxisOptions.labels.x),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),b=this.maxLabelDimensions.width+b,d=e.lineWidth,this.rightWall&&this.rightWall.destroy(),a.apply(this),a=this.axisGroup.getBBox(),this.isOuterAxis()&&this.axisLine&&(w&&(b=a.height-
+1),d)){a=this.getLinePath(d);f=a.indexOf("M")+1;c=a.indexOf("L")+1;h=a.indexOf("M")+2;l=a.indexOf("L")+2;if(this.side===A.top||this.side===A.left)b=-b;w?(a[h]+=b,a[l]+=b):(a[f]+=b,a[c]+=b);this.axisLineExtra?this.axisLineExtra.animate({d:a}):this.axisLineExtra=g.path(a).attr({stroke:e.lineColor,"stroke-width":d,zIndex:7}).addClass("highcharts-axis-line").add(this.axisGroup);this.axisLine[this.showAxis?"show":"hide"](!0)}}else a.apply(this)});a(g.prototype,"init",function(f,e,b){function d(b){var a=
+b.options,d=25/11,e=b.chart.renderer.fontMetrics(a.labels.style.fontSize);a.labels||(a.labels={});a.labels.align=B(a.labels.align,"center");b.categories||(a.showLastLabel=!1);b.horiz&&(a.tickLength=h.cellHeight||e.h*d);b.labelRotation=0;a.labels.rotation=0}var h=b&&q(b.grid)?b.grid:{},l,r,z;if(h.enabled)if(k(h.borderColor)&&(b.tickColor=b.lineColor=h.borderColor),m(h.columns))for(r=0,z=h.columns.length;z--;)l=n(b,h.columns[z],{type:"category"}),delete l.grid.columns,l=new g(e,l),l.isColumn=!0,l.columnIndex=
+r,a(l,"labelFormatter",function(b){var a=this.axis,d=a.tickPositions,e=this.value,h=e===d[0],d=e===d[d.length-1],f=c.find(a.series[0].options.data,function(b){return b[a.isXAxis?"x":"y"]===e});this.isFirst=h;this.isLast=d;this.point=f;return b.call(this)}),r++;else f.apply(this,v(arguments)),d(this);else f.apply(this,v(arguments))})})(C);(function(c){var v=c.Chart,x=c.pick;c.addEvent(c.Axis,"afterSetOptions",function(){this.horiz||!c.isNumber(this.options.staticScale)||this.chart.options.chart.height||
+(this.staticScale=this.options.staticScale)});v.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(k){var m=k.chart,v=!!m.initiatedScale&&m.options.animation,q=k.options.staticScale,n;k.staticScale&&c.defined(k.min)&&(n=x(k.unitLength,k.max+k.tickInterval-k.min)*q,n=Math.max(n,q),q=n-m.plotHeight,1<=Math.abs(q)&&(m.plotHeight=n,m.redrawTrigger="adjustHeight",m.setSize(void 0,m.chartHeight+q,v)),k.series.forEach(function(c){(c=c.sharedClipKey&&
+m[c.sharedClipKey])&&c.attr({height:m.plotHeight})}))}),this.initiatedScale=!0);this.redrawTrigger=null};c.addEvent(v,"render",v.prototype.adjustHeight)})(C);var K=function(c){var v=c.extend,x=c.isNumber,k=c.pick,m=function(c,n){var q=c.reduce(function(a,c){var f=k(c.parent,"");void 0===a[f]&&(a[f]=[]);a[f].push(c);return a},{});Object.keys(q).forEach(function(a,c){var f=q[a];""!==a&&-1===n.indexOf(a)&&(f.forEach(function(a){c[""].push(a)}),delete c[a])});return q},t=function(c,n,m,a,g,f){var A=0,
+u=0,e=f&&f.after,b=f&&f.before;n={data:a,depth:m-1,id:c,level:m,parent:n};var d,h;"function"===typeof b&&b(n,f);b=(g[c]||[]).map(function(b){var a=t(b.id,c,m+1,b,g,f),e=b.start;b=!0===b.milestone?e:b.end;d=!x(d)||e<d?e:d;h=!x(h)||b>h?b:h;A=A+1+a.descendants;u=Math.max(a.height+1,u);return a});a&&(a.start=k(a.start,d),a.end=k(a.end,h));v(n,{children:b,descendants:A,height:u});"function"===typeof e&&e(n,f);return n};return{getListOfParents:m,getNode:t,getTree:function(c,n){var k=c.map(function(a){return a.id});
+c=m(c,k);return t("",null,1,null,c,n)}}}(C),L=function(c){var v=c.extend,x=c.isArray,k=c.isObject,m=c.isNumber,t=c.merge,q=c.pick;return{getColor:function(n,k){var a=k.index,g=k.mapOptionsToLevel,f=k.parentColor,A=k.parentColorIndex,u=k.series,e=k.colors,b=k.siblings,d=u.points,h=u.chart.options.chart,l,r,z,E;if(n){d=d[n.i];n=g[n.level]||{};if(g=d&&n.colorByPoint)r=d.index%(e?e.length:h.colorCount),l=e&&e[r];if(!u.chart.styledMode){e=d&&d.options.color;h=n&&n.color;if(z=f)z=(z=n&&n.colorVariation)&&
+"brightness"===z.key?c.color(f).brighten(a/b*z.to).get():f;z=q(e,h,l,z,u.color)}E=q(d&&d.options.colorIndex,n&&n.colorIndex,r,A,k.colorIndex)}return{color:z,colorIndex:E}},getLevelOptions:function(c){var n=null,a,g,f,A;if(k(c))for(n={},f=m(c.from)?c.from:1,A=c.levels,g={},a=k(c.defaults)?c.defaults:{},x(A)&&(g=A.reduce(function(c,e){var b,d;k(e)&&m(e.level)&&(d=t({},e),b="boolean"===typeof d.levelIsConstant?d.levelIsConstant:a.levelIsConstant,delete d.levelIsConstant,delete d.level,e=e.level+(b?0:
+f-1),k(c[e])?v(c[e],d):c[e]=d);return c},{})),A=m(c.to)?c.to:1,c=0;c<=A;c++)n[c]=t({},a,k(g[c])?g[c]:{});return n},setTreeValues:function B(a,c){var f=c.before,g=c.idRoot,u=c.mapIdToNode[g],e=c.points[a.i],b=e&&e.options||{},d=0,h=[];v(a,{levelDynamic:a.level-(("boolean"===typeof c.levelIsConstant?c.levelIsConstant:1)?0:u.level),name:q(e&&e.name,""),visible:g===a.id||("boolean"===typeof c.visible?c.visible:!1)});"function"===typeof f&&(a=f(a,c));a.children.forEach(function(b,e){var f=v({},c);v(f,
+{index:e,siblings:a.children.length,visible:a.visible});b=B(b,f);h.push(b);b.visible&&(d+=b.val)});a.visible=0<d||a.visible;f=q(b.value,d);v(a,{children:h,childrenTotal:d,isLeaf:a.visible&&!d,val:f});return a},updateRootId:function(c){var a;k(c)&&(a=k(c.options)?c.options:{},a=q(c.rootNode,a.rootId,""),k(c.userOptions)&&(c.userOptions.rootId=a),c.rootNode=a);return a}}}(C);(function(c){function v(){return Array.prototype.slice.call(arguments,1)}function x(a){a.apply(this);this.drawBreaks(this.xAxis,
+["x"]);this.drawBreaks(this.yAxis,m(this.pointArrayMap,["y"]))}var k=c.addEvent,m=c.pick,t=c.wrap,q=c.extend,n=c.isArray,B=c.fireEvent,a=c.Axis,g=c.Series;q(a.prototype,{isInBreak:function(a,c){var f=a.repeat||Infinity,e=a.from,b=a.to-a.from;c=c>=e?(c-e)%f:f-(e-c)%f;return a.inclusive?c<=b:c<b&&0!==c},isInAnyBreak:function(a,c){var f=this.options.breaks,e=f&&f.length,b,d,h;if(e){for(;e--;)this.isInBreak(f[e],a)&&(b=!0,d||(d=m(f[e].showPoints,this.isXAxis?!1:!0)));h=b&&c?b&&!d:b}return h}});k(a,"afterInit",
+function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});k(a,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,c=this.tickPositions.info,g=[],e;for(e=0;e<a.length;e++)this.isInAnyBreak(a[e])||g.push(a[e]);this.tickPositions=g;this.tickPositions.info=c}});k(a,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});a.prototype.setBreaks=function(c,g){function f(a){var d=a,e,c;for(c=0;c<b.breakArray.length;c++)if(e=b.breakArray[c],
+e.to<=a)d-=e.len;else if(e.from>=a)break;else if(b.isInBreak(e,a)){d-=a-e.from;break}return d}function e(a){var d,e;for(e=0;e<b.breakArray.length&&!(d=b.breakArray[e],d.from>=a);e++)d.to<a?a+=d.len:b.isInBreak(d,a)&&(a+=d.len);return a}var b=this,d=n(c)&&!!c.length;b.isDirty=b.isBroken!==d;b.isBroken=d;b.options.breaks=b.userOptions.breaks=c;b.forceRedraw=!0;d||b.val2lin!==f||(delete b.val2lin,delete b.lin2val);d&&(b.userOptions.ordinal=!1,b.val2lin=f,b.lin2val=e,b.setExtremes=function(b,d,e,c,f){if(this.isBroken){for(;this.isInAnyBreak(b);)b-=
+this.closestPointRange;for(;this.isInAnyBreak(d);)d-=this.closestPointRange}a.prototype.setExtremes.call(this,b,d,e,c,f)},b.setAxisTranslation=function(d){a.prototype.setAxisTranslation.call(this,d);this.unitLength=null;if(this.isBroken){d=b.options.breaks;var e=[],c=[],h=0,f,g,k=b.userMin||b.min,p=b.userMax||b.max,F=m(b.pointRangePadding,0),D,y;d.forEach(function(a){g=a.repeat||Infinity;b.isInBreak(a,k)&&(k+=a.to%g-k%g);b.isInBreak(a,p)&&(p-=p%g-a.from%g)});d.forEach(function(b){D=b.from;for(g=b.repeat||
+Infinity;D-g>k;)D-=g;for(;D<k;)D+=g;for(y=D;y<p;y+=g)e.push({value:y,move:"in"}),e.push({value:y+(b.to-b.from),move:"out",size:b.breakSize})});e.sort(function(b,a){return b.value===a.value?("in"===b.move?0:1)-("in"===a.move?0:1):b.value-a.value});f=0;D=k;e.forEach(function(b){f+="in"===b.move?1:-1;1===f&&"in"===b.move&&(D=b.value);0===f&&(c.push({from:D,to:b.value,len:b.value-D-(b.size||0)}),h+=b.value-D-(b.size||0))});b.breakArray=c;b.unitLength=p-k-h+F;B(b,"afterBreaks");b.staticScale?b.transA=
+b.staticScale:b.unitLength&&(b.transA*=(p-b.min+F)/b.unitLength);F&&(b.minPixelPadding=b.transA*b.minPointOffset);b.min=k;b.max=p}});m(g,!0)&&this.chart.redraw()};t(g.prototype,"generatePoints",function(a){a.apply(this,v(arguments));var c=this.xAxis,f=this.yAxis,e=this.points,b,d=e.length,h=this.options.connectNulls,g;if(c&&f&&(c.options.breaks||f.options.breaks))for(;d--;)b=e[d],g=null===b.y&&!1===h,g||!c.isInAnyBreak(b.x,!0)&&!f.isInAnyBreak(b.y,!0)||(e.splice(d,1),this.data[d]&&this.data[d].destroyElements())});
+c.Series.prototype.drawBreaks=function(a,c){var f=this,e=f.points,b,d,h,g;a&&c.forEach(function(c){b=a.breakArray||[];d=a.isXAxis?a.min:m(f.options.threshold,a.min);e.forEach(function(e){g=m(e["stack"+c.toUpperCase()],e[c]);b.forEach(function(b){h=!1;if(d<b.from&&g>b.to||d>b.from&&g<b.from)h="pointBreak";else if(d<b.from&&g>b.from&&g<b.to||d>b.from&&g>b.to&&g<b.from)h="pointInBreak";h&&B(a,h,{point:e,brk:b})})})})};c.Series.prototype.gappedPath=function(){var a=this.currentDataGrouping,g=a&&a.totalRange,
+a=this.options.gapSize,k=this.points.slice(),e=k.length-1,b=this.yAxis;if(a&&0<e)for("value"!==this.options.gapUnit&&(a*=this.closestPointRange),g&&g>a&&(a=g);e--;)k[e+1].x-k[e].x>a&&(g=(k[e].x+k[e+1].x)/2,k.splice(e+1,0,{isNull:!0,x:g}),this.options.stacking&&(g=b.stacks[this.stackKey][g]=new c.StackItem(b,b.options.stackLabels,!1,g,this.stack),g.total=0));return this.getGraphPath(k)};t(c.seriesTypes.column.prototype,"drawPoints",x);t(c.Series.prototype,"drawPoints",x)})(C);(function(c,v,x){var k=
+function(b){return Array.prototype.slice.call(b,1)},m=c.defined,t=c.extend,q=c.find,n=c.fireEvent,B=x.getLevelOptions,a=c.merge,g=c.isNumber,f=function(b){return c.isObject(b,!0)},A=c.isString,u=c.pick,e=c.wrap;x=c.Axis;var b=c.Tick,d=function(b,a){var d,c;for(d in a)a.hasOwnProperty(d)&&(c=a[d],e(b,d,c))},h=function(b,a){var d=b.collapseStart;b=b.collapseEnd;b>=a&&(d-=.5);return{from:d,to:b,showPoints:!1}},l=function(b){return Object.keys(b.mapOfPosToGridNode).reduce(function(a,d){d=+d;b.min<=d&&
+b.max>=d&&!b.isInAnyBreak(d)&&a.push(d);return a},[])},r=function(b,a){var d=b.options.breaks||[],e=h(a,b.max);return d.some(function(b){return b.from===e.from&&b.to===e.to})},z=function(b,a){var d=b.options.breaks||[];b=h(a,b.max);d.push(b);return d},E=function(b,a){var d=b.options.breaks||[],e=h(a,b.max);return d.reduce(function(b,a){a.to===e.to&&a.from===e.from||b.push(a);return b},[])},w=function(b,a){var d=b.labelIcon,e=!d,h=a.renderer,g=a.xy,f=a.options,l=f.width,r=f.height,p=g.x-l/2-f.padding,
+g=g.y-r/2,k=a.collapsed?90:180,w=a.show&&c.isNumber(g);e&&(b.labelIcon=d=h.path(h.symbols[f.type](f.x,f.y,l,r)).addClass("highcharts-label-icon").add(a.group));w||d.attr({y:-9999});h.styledMode||d.attr({"stroke-width":1,fill:u(a.color,"#666666")}).css({cursor:"pointer",stroke:f.lineColor,strokeWidth:f.lineWidth});d[e?"attr":"animate"]({translateX:p,translateY:g,rotation:k})},H=function(b,a,d){var e=[],c=[],h={},g={},l=-1,r="boolean"===typeof a?a:!1;b=v.getTree(b,{after:function(b){b=g[b.pos];var a=
+0,d=0;b.children.forEach(function(b){d+=b.descendants+1;a=Math.max(b.height+1,a)});b.descendants=d;b.height=a;b.collapsed&&c.push(b)},before:function(b){var a=f(b.data)?b.data:{},d=A(a.name)?a.name:"",c=h[b.parent],c=f(c)?g[c.pos]:null,p=function(b){return b.name===d},k;r&&f(c)&&(k=q(c.children,p))?(p=k.pos,k.nodes.push(b)):p=l++;g[p]||(g[p]=k={depth:c?c.depth+1:0,name:d,nodes:[b],children:[],pos:p},-1!==p&&e.push(d),f(c)&&c.children.push(k));A(b.id)&&(h[b.id]=b);!0===a.collapsed&&(k.collapsed=!0);
+b.pos=p}});g=function(b,a){var d=function(b,e,c){var h=e+(-1===e?0:a-1),g=(h-e)/2,l=e+g;b.nodes.forEach(function(b){var a=b.data;f(a)&&(a.y=e+a.seriesIndex,delete a.seriesIndex);b.pos=l});c[l]=b;b.pos=l;b.tickmarkOffset=g+.5;b.collapseStart=h+.5;b.children.forEach(function(b){d(b,h+1,c);h=b.collapseEnd-.5});b.collapseEnd=h+.5;return c};return d(b["-1"],-1,{})}(g,d);return{categories:e,mapOfIdToNode:h,mapOfPosToGridNode:g,collapsedNodes:c,tree:b}};d(x.prototype,{init:function(b,d,e){var h=this,g,f=
+"treegrid"===e.type;f&&(e=a({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},e,{reversed:!0,grid:{columns:void 0}}));b.apply(h,[d,e]);f&&(c.addEvent(h.chart,"beforeRender",function(){var b=h.options&&h.options.labels;h.updateYNames();h.series.forEach(function(b){b.yData=b.options.data.map(function(b){return b.y})});h.mapOptionsToLevel=B({defaults:b,from:1,levels:b.levels,
+to:h.tree.height});g=c.addEvent(h,"foundExtremes",function(){h.collapsedNodes.forEach(function(b){b=z(h,b);h.setBreaks(b,!1)});g()})}),h.hasNames=!0,h.options.showLastLabel=!0)},getMaxLabelDimensions:function(b){var a=this.options,d=a&&a.labels,a=d&&g(d.indentation)?a.labels.indentation:0,d=b.apply(this,k(arguments)),e;"treegrid"===this.options.type&&(e=this.mapOfPosToGridNode[-1].height,d.width+=a*(e-1));return d},generateTick:function(a,d){var e=f(this.mapOptionsToLevel)?this.mapOptionsToLevel:
+{},c=this.ticks,h=c[d],g,l;"treegrid"===this.options.type?(l=this.mapOfPosToGridNode[d],(e=e[l.depth])&&(g={labels:e}),h?(h.parameters.category=l.name,h.options=g,h.addLabel()):c[d]=new b(this,d,null,void 0,{category:l.name,tickmarkOffset:l.tickmarkOffset,options:g})):a.apply(this,k(arguments))},setTickInterval:function(b){var a=this.options;"treegrid"===a.type?(this.min=u(this.userMin,a.min,this.dataMin),this.max=u(this.userMax,a.max,this.dataMax),n(this,"foundExtremes"),this.setAxisTranslation(!0),
+this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=l(this)):b.apply(this,k(arguments))}});d(b.prototype,{getLabelPosition:function(b,a,d,e,c,h,l,r,k){var p=u(this.options&&this.options.labels,h);h=this.pos;var w=this.axis,z="treegrid"===w.options.type;b=b.apply(this,[a,d,e,c,p,l,r,k]);z&&(a=p&&f(p.symbol)?p.symbol:{},p=p&&g(p.indentation)?p.indentation:0,h=(h=(w=w.mapOfPosToGridNode)&&w[h])&&h.depth||1,b.x+=a.width+2*a.padding+(h-1)*p);return b},renderLabel:function(b){var a=this,d=a.pos,
+e=a.axis,h=a.label,g=e.mapOfPosToGridNode,l=e.options,p=u(a.options&&a.options.labels,l&&l.labels),z=p&&f(p.symbol)?p.symbol:{},n=(g=g&&g[d])&&g.depth,l="treegrid"===l.type,A=!(!h||!h.element),q=-1<e.tickPositions.indexOf(d),d=e.chart.styledMode;l&&g&&A&&h.addClass("highcharts-treegrid-node-level-"+n);b.apply(a,k(arguments));l&&g&&A&&0<g.descendants&&(e=r(e,g),w(a,{color:!d&&h.styles.color,collapsed:e,group:h.parentGroup,options:z,renderer:h.renderer,show:q,xy:h.xy}),z="highcharts-treegrid-node-"+
+(e?"expanded":"collapsed"),h.addClass("highcharts-treegrid-node-"+(e?"collapsed":"expanded")).removeClass(z),d||h.css({cursor:"pointer"}),[h,a.labelIcon].forEach(function(b){b.attachedTreeGridEvents||(c.addEvent(b.element,"mouseover",function(){var b=h;b.addClass("highcharts-treegrid-node-active");b.renderer.styledMode||b.css({textDecoration:"underline"})}),c.addEvent(b.element,"mouseout",function(){var b=h,a=p,a=m(a.style)?a.style:{};b.removeClass("highcharts-treegrid-node-active");b.renderer.styledMode||
+b.css({textDecoration:a.textDecoration})}),c.addEvent(b.element,"click",function(){a.toggleCollapse()}),b.attachedTreeGridEvents=!0)}))}});t(b.prototype,{collapse:function(b){var a=this.axis,d=z(a,a.mapOfPosToGridNode[this.pos]);a.setBreaks(d,u(b,!0))},expand:function(b){var a=this.axis,d=E(a,a.mapOfPosToGridNode[this.pos]);a.setBreaks(d,u(b,!0))},toggleCollapse:function(b){var a=this.axis,d;d=a.mapOfPosToGridNode[this.pos];d=r(a,d)?E(a,d):z(a,d);a.setBreaks(d,u(b,!0))}});x.prototype.updateYNames=
+function(){var b=this.options,a=b.uniqueNames,d=!this.isXAxis,e=this.series,c=0;"treegrid"===b.type&&d&&(b=e.reduce(function(b,d){d.visible&&(d.options.data.forEach(function(a){f(a)&&(a.seriesIndex=c,b.push(a))}),!0===a&&c++);return b},[]),b=H(b,a,!0===a?c:1),this.categories=b.categories,this.mapOfPosToGridNode=b.mapOfPosToGridNode,this.collapsedNodes=b.collapsedNodes,this.hasNames=!0,this.tree=b.tree)};x.prototype.utils={getNode:v.getNode}})(C,K,L);K=function(c){function v(a,c,f){f=f||0;var g=a.length-
+1;c-=1e-7;for(var k,e;f<=g;)if(k=g+f>>1,e=c-a[k].xMin,0<e)f=k+1;else if(0>e)g=k-1;else return k;return 0<f?f-1:0}function x(a,c){for(var g=v(a,c.x+1)+1;g--;){var k;if(k=a[g].xMax>=c.x)k=a[g],k=c.x<=k.xMax&&c.x>=k.xMin&&c.y<=k.yMax&&c.y>=k.yMin;if(k)return g}return-1}function k(a){var c=[];if(a.length){c.push("M",a[0].start.x,a[0].start.y);for(var f=0;f<a.length;++f)c.push("L",a[f].end.x,a[f].end.y)}return c}function m(a,c){a.yMin=q(a.yMin,c.yMin);a.yMax=t(a.yMax,c.yMax);a.xMin=q(a.xMin,c.xMin);a.xMax=
+t(a.xMax,c.xMax)}var t=Math.min,q=Math.max,n=Math.abs,B=c.pick;return{straight:function(a,c){return{path:["M",a.x,a.y,"L",c.x,c.y],obstacles:[{start:a,end:c}]}},simpleConnect:c.extend(function(a,c,f){function g(b,a,d,c,e){b={x:b.x,y:b.y};b[a]=d[c||a]+(e||0);return b}function m(b,a,d){var c=n(a[d]-b[d+"Min"])>n(a[d]-b[d+"Max"]);return g(a,d,b,d+(c?"Max":"Min"),c?1:-1)}var e=[],b,d=B(f.startDirectionX,n(c.x-a.x)>n(c.y-a.y))?"x":"y",h=f.chartObstacles,l=x(h,a);f=x(h,c);var r;-1<f?(b=h[f],f=m(b,c,d),
+b={start:f,end:c},r=f):r=c;-1<l&&(h=h[l],f=m(h,a,d),e.push({start:a,end:f}),f[d]>a[d]===f[d]>r[d]&&(d="y"===d?"x":"y",c=a[d]<c[d],e.push({start:f,end:g(f,d,h,d+(c?"Max":"Min"),c?1:-1)}),d="y"===d?"x":"y"));a=e.length?e[e.length-1].end:a;f=g(a,d,r);e.push({start:a,end:f});d=g(f,"y"===d?"x":"y",r);e.push({start:f,end:d});e.push(b);return{path:k(e),obstacles:e}},{requiresObstacles:!0}),fastAvoid:c.extend(function(a,c,f){function g(b,a,d){var c,e,h,g,f,l=b.x<a.x?1:-1;b.x<a.x?(c=b,e=a):(c=a,e=b);b.y<a.y?
+(g=b,h=a):(g=a,h=b);for(f=0>l?t(v(y,e.x),y.length-1):0;y[f]&&(0<l&&y[f].xMin<=e.x||0>l&&y[f].xMax>=c.x);){if(y[f].xMin<=e.x&&y[f].xMax>=c.x&&y[f].yMin<=h.y&&y[f].yMax>=g.y)return d?{y:b.y,x:b.x<a.x?y[f].xMin-1:y[f].xMax+1,obstacle:y[f]}:{x:b.x,y:b.y<a.y?y[f].yMin-1:y[f].yMax+1,obstacle:y[f]};f+=l}return a}function u(b,a,d,c,e){var h=e.soft,f=e.hard,l=c?"x":"y",r={x:a.x,y:a.y},k={x:a.x,y:a.y};e=b[l+"Max"]>=h[l+"Max"];var h=b[l+"Min"]<=h[l+"Min"],w=b[l+"Max"]>=f[l+"Max"],f=b[l+"Min"]<=f[l+"Min"],p=
+n(b[l+"Min"]-a[l]),z=n(b[l+"Max"]-a[l]);d=10>n(p-z)?a[l]<d[l]:z<p;k[l]=b[l+"Min"];r[l]=b[l+"Max"];b=g(a,k,c)[l]!==k[l];a=g(a,r,c)[l]!==r[l];d=b?a?d:!0:a?!1:d;d=h?e?d:!0:e?!1:d;return f?w?d:!0:w?!1:d}function e(b,a,d){if(b.x===a.x&&b.y===a.y)return[];var c=d?"x":"y",h,l,r,k,w=f.obstacleOptions.margin;h={soft:{xMin:H,xMax:p,yMin:F,yMax:D},hard:f.hardBounds};l=x(y,b);-1<l?(l=y[l],h=u(l,b,a,d,h),m(l,f.hardBounds),k=d?{y:b.y,x:l[h?"xMax":"xMin"]+(h?1:-1)}:{x:b.x,y:l[h?"yMax":"yMin"]+(h?1:-1)},r=x(y,k),
+-1<r&&(r=y[r],m(r,f.hardBounds),k[c]=h?q(l[c+"Max"]-w+1,(r[c+"Min"]+l[c+"Max"])/2):t(l[c+"Min"]+w-1,(r[c+"Max"]+l[c+"Min"])/2),b.x===k.x&&b.y===k.y?(E&&(k[c]=h?q(l[c+"Max"],r[c+"Max"])+1:t(l[c+"Min"],r[c+"Min"])-1),E=!E):E=!1),b=[{start:b,end:k}]):(c=g(b,{x:d?a.x:b.x,y:d?b.y:a.y},d),b=[{start:b,end:{x:c.x,y:c.y}}],c[d?"x":"y"]!==a[d?"x":"y"]&&(h=u(c.obstacle,c,a,!d,h),m(c.obstacle,f.hardBounds),h={x:d?c.x:c.obstacle[h?"xMax":"xMin"]+(h?1:-1),y:d?c.obstacle[h?"yMax":"yMin"]+(h?1:-1):c.y},d=!d,b=b.concat(e({x:c.x,
+y:c.y},h,d))));return b=b.concat(e(b[b.length-1].end,a,!d))}function b(b,a,d){var c=t(b.xMax-a.x,a.x-b.xMin)<t(b.yMax-a.y,a.y-b.yMin);d=u(b,a,d,c,{soft:f.hardBounds,hard:f.hardBounds});return c?{y:a.y,x:b[d?"xMax":"xMin"]+(d?1:-1)}:{x:a.x,y:b[d?"yMax":"yMin"]+(d?1:-1)}}var d=B(f.startDirectionX,n(c.x-a.x)>n(c.y-a.y)),h=d?"x":"y",l,r,z=[],E=!1,w=f.obstacleMetrics,H=t(a.x,c.x)-w.maxWidth-10,p=q(a.x,c.x)+w.maxWidth+10,F=t(a.y,c.y)-w.maxHeight-10,D=q(a.y,c.y)+w.maxHeight+10,y=f.chartObstacles;l=v(y,H);
+w=v(y,p);y=y.slice(l,w+1);-1<(w=x(y,c))&&(r=b(y[w],c,a),z.push({end:c,start:r}),c=r);for(;-1<(w=x(y,c));)l=0>c[h]-a[h],r={x:c.x,y:c.y},r[h]=y[w][l?h+"Max":h+"Min"]+(l?1:-1),z.push({end:c,start:r}),c=r;a=e(a,c,d);a=a.concat(z.reverse());return{path:k(a),obstacles:a}},{requiresObstacles:!0})}}(C);(function(c){c.SVGRenderer.prototype.symbols.arrow=function(c,x,k,m){return["M",c,x+m/2,"L",c+k,x,"L",c,x+m/2,"L",c+k,x+m]};c.SVGRenderer.prototype.symbols["arrow-half"]=function(v,x,k,m){return c.SVGRenderer.prototype.symbols.arrow(v,
+x,k/2,m)};c.SVGRenderer.prototype.symbols["triangle-left"]=function(c,x,k,m){return["M",c+k,x,"L",c,x+m/2,"L",c+k,x+m,"Z"]};c.SVGRenderer.prototype.symbols["arrow-filled"]=c.SVGRenderer.prototype.symbols["triangle-left"];c.SVGRenderer.prototype.symbols["triangle-left-half"]=function(v,x,k,m){return c.SVGRenderer.prototype.symbols["triangle-left"](v,x,k/2,m)};c.SVGRenderer.prototype.symbols["arrow-filled-half"]=c.SVGRenderer.prototype.symbols["triangle-left-half"]})(C);(function(c,v){function x(b){var a=
+b.shapeArgs;return a?{xMin:a.x,xMax:a.x+a.width,yMin:a.y,yMax:a.y+a.height}:(a=b.graphic&&b.graphic.getBBox())?{xMin:b.plotX-a.width/2,xMax:b.plotX+a.width/2,yMin:b.plotY-a.height/2,yMax:b.plotY+a.height/2}:null}function k(b){for(var a=b.length,c=0,f,g,k=[],n=function(b,a,c){c=A(c,10);var d=b.yMax+c>a.yMin-c&&b.yMin-c<a.yMax+c,h=b.xMax+c>a.xMin-c&&b.xMin-c<a.xMax+c,f=d?b.xMin>a.xMax?b.xMin-a.xMax:a.xMin-b.xMax:Infinity,l=h?b.yMin>a.yMax?b.yMin-a.yMax:a.yMin-b.yMax:Infinity;return h&&d?c?n(b,a,Math.floor(c/
+2)):Infinity:e(f,l)};c<a;++c)for(f=c+1;f<a;++f)g=n(b[c],b[f]),80>g&&k.push(g);k.push(80);return u(Math.floor(k.sort(function(b,a){return b-a})[Math.floor(k.length/10)]/2-1),1)}function m(b,a,c){this.init(b,a,c)}function t(b){this.init(b)}function q(b){if(b.options.pathfinder||b.series.reduce(function(b,a){a.options&&f(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder);return b||a.options&&a.options.pathfinder},!1))f(!0,b.options.connectors=b.options.connectors||{},b.options.pathfinder),
+c.error('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}var n=c.defined,B=c.deg2rad,a=c.extend,g=c.addEvent,f=c.merge,A=c.pick,u=Math.max,e=Math.min;a(c.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});m.prototype={init:function(b,a,c){this.fromPoint=b;this.toPoint=a;this.options=c;this.chart=
+b.series.chart;this.pathfinder=this.chart.pathfinder},renderPath:function(b,a,c){var d=this.chart,e=d.styledMode,h=d.pathfinder,f=!d.options.chart.forExport&&!1!==c,g=this.graphics&&this.graphics.path;h.group||(h.group=d.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(d.seriesGroup));h.group.translate(d.plotLeft,d.plotTop);g&&g.renderer||(g=d.renderer.path().add(h.group),e||g.attr({opacity:0}));g.attr(a);b={d:b};e||(b.opacity=1);g[f?"animate":"attr"](b,c);this.graphics=
+this.graphics||{};this.graphics.path=g},addMarker:function(b,a,c){var d=this.fromPoint.series.chart,e=d.pathfinder,d=d.renderer,h="start"===b?this.fromPoint:this.toPoint,f=h.getPathfinderAnchorPoint(a),g,k;a.enabled&&(c="start"===b?{x:c[4],y:c[5]}:{x:c[c.length-5],y:c[c.length-4]},c=h.getRadiansToVector(c,f),f=h.getMarkerVector(c,a.radius,f),c=-c/B,a.width&&a.height?(g=a.width,k=a.height):g=k=2*a.radius,this.graphics=this.graphics||{},f={x:f.x-g/2,y:f.y-k/2,width:g,height:k,rotation:c,rotationOriginX:f.x,
+rotationOriginY:f.y},this.graphics[b]?this.graphics[b].animate(f):(this.graphics[b]=d.symbol(a.symbol).addClass("highcharts-point-connecting-path-"+b+"-marker").attr(f).add(e.group),d.styledMode||this.graphics[b].attr({fill:a.color||this.fromPoint.color,stroke:a.lineColor,"stroke-width":a.lineWidth,opacity:0}).animate({opacity:1},h.series.options.animation)))},getPath:function(b){var a=this.pathfinder,e=this.chart,g=a.algorithms[b.type],k=a.chartObstacles;if("function"!==typeof g)c.error('"'+b.type+
+'" is not a Pathfinder algorithm.');else return g.requiresObstacles&&!k&&(k=a.chartObstacles=a.getChartObstacles(b),e.options.connectors.algorithmMargin=b.algorithmMargin,a.chartObstacleMetrics=a.getObstacleMetrics(k)),g(this.fromPoint.getPathfinderAnchorPoint(b.startMarker),this.toPoint.getPathfinderAnchorPoint(b.endMarker),f({chartObstacles:k,lineObstacles:a.lineObstacles||[],obstacleMetrics:a.chartObstacleMetrics,hardBounds:{xMin:0,xMax:e.plotWidth,yMin:0,yMax:e.plotHeight},obstacleOptions:{margin:b.algorithmMargin},
+startDirectionX:a.getAlgorithmStartDirection(b.startMarker)},b))},render:function(){var b=this.fromPoint,a=b.series,c=a.chart,g=c.pathfinder,k=f(c.options.connectors,a.options.connectors,b.options.connectors,this.options),z={};c.styledMode||(z.stroke=k.lineColor||b.color,z["stroke-width"]=k.lineWidth,k.dashStyle&&(z.dashstyle=k.dashStyle));z.class="highcharts-point-connecting-path highcharts-color-"+b.colorIndex;k=f(z,k);n(k.marker.radius)||(k.marker.radius=e(u(Math.ceil((k.algorithmMargin||8)/2)-
+1,1),5));b=this.getPath(k);c=b.path;b.obstacles&&(g.lineObstacles=g.lineObstacles||[],g.lineObstacles=g.lineObstacles.concat(b.obstacles));this.renderPath(c,z,a.options.animation);this.addMarker("start",f(k.marker,k.startMarker),c);this.addMarker("end",f(k.marker,k.endMarker),c)},destroy:function(){this.graphics&&(c.objectEach(this.graphics,function(b){b.destroy()}),delete this.graphics)}};t.prototype={algorithms:v,init:function(b){this.chart=b;this.connections=[];g(b,"redraw",function(){this.pathfinder.update()})},
+update:function(b){var a=this.chart,e=this,f=e.connections;e.connections=[];a.series.forEach(function(b){b.visible&&b.points.forEach(function(b){var d,h=b.options&&b.options.connect&&c.splat(b.options.connect);b.visible&&!1!==b.isInside&&h&&h.forEach(function(h){d=a.get("string"===typeof h?h:h.to);d instanceof c.Point&&d.series.visible&&d.visible&&!1!==d.isInside&&e.connections.push(new m(b,d,"string"===typeof h?{}:h))})})});for(var g=0,k,n,w=f.length,q=e.connections.length;g<w;++g){n=!1;for(k=0;k<
+q;++k)if(f[g].fromPoint===e.connections[k].fromPoint&&f[g].toPoint===e.connections[k].toPoint){e.connections[k].graphics=f[g].graphics;n=!0;break}n||f[g].destroy()}delete this.chartObstacles;delete this.lineObstacles;e.renderConnections(b)},renderConnections:function(b){b?this.chart.series.forEach(function(b){var a=function(){var a=b.chart.pathfinder;(a&&a.connections||[]).forEach(function(a){a.fromPoint&&a.fromPoint.series===b&&a.render()});b.pathfinderRemoveRenderEvent&&(b.pathfinderRemoveRenderEvent(),
+delete b.pathfinderRemoveRenderEvent)};!1===b.options.animation?a():b.pathfinderRemoveRenderEvent=g(b,"afterAnimate",a)}):this.connections.forEach(function(b){b.render()})},getChartObstacles:function(b){for(var a=[],c=this.chart.series,e=A(b.algorithmMargin,0),f,g=0,m=c.length;g<m;++g)if(c[g].visible)for(var w=0,q=c[g].points.length,p;w<q;++w)p=c[g].points[w],p.visible&&(p=x(p))&&a.push({xMin:p.xMin-e,xMax:p.xMax+e,yMin:p.yMin-e,yMax:p.yMax+e});a=a.sort(function(b,a){return b.xMin-a.xMin});n(b.algorithmMargin)||
+(f=b.algorithmMargin=k(a),a.forEach(function(b){b.xMin-=f;b.xMax+=f;b.yMin-=f;b.yMax+=f}));return a},getObstacleMetrics:function(b){for(var a=0,c=0,e,f,g=b.length;g--;)e=b[g].xMax-b[g].xMin,f=b[g].yMax-b[g].yMin,a<e&&(a=e),c<f&&(c=f);return{maxHeight:c,maxWidth:a}},getAlgorithmStartDirection:function(b){var a="top"!==b.verticalAlign&&"bottom"!==b.verticalAlign;return"left"!==b.align&&"right"!==b.align?a?void 0:!1:a?!0:void 0}};c.Connection=m;c.Pathfinder=t;a(c.Point.prototype,{getPathfinderAnchorPoint:function(b){var a=
+x(this),c,e;switch(b.align){case "right":c="xMax";break;case "left":c="xMin"}switch(b.verticalAlign){case "top":e="yMin";break;case "bottom":e="yMax"}return{x:c?a[c]:(a.xMin+a.xMax)/2,y:e?a[e]:(a.yMin+a.yMax)/2}},getRadiansToVector:function(b,a){n(a)||(a=x(this),a={x:(a.xMin+a.xMax)/2,y:(a.yMin+a.yMax)/2});return Math.atan2(a.y-b.y,b.x-a.x)},getMarkerVector:function(b,a,c){for(var e=2*Math.PI,d=x(this),f=d.xMax-d.xMin,g=d.yMax-d.yMin,h=Math.atan2(g,f),k=!1,f=f/2,n=g/2,m=d.xMin+f,d=d.yMin+n,q=m,u=
+d,t={},v=1,A=1;b<-Math.PI;)b+=e;for(;b>Math.PI;)b-=e;e=Math.tan(b);b>-h&&b<=h?(A=-1,k=!0):b>h&&b<=Math.PI-h?A=-1:b>Math.PI-h||b<=-(Math.PI-h)?(v=-1,k=!0):v=-1;k?(q+=v*f,u+=A*f*e):(q+=g/(2*e)*v,u+=A*n);c.x!==m&&(q=c.x);c.y!==d&&(u=c.y);t.x=q+a*Math.cos(b);t.y=u-a*Math.sin(b);return t}});c.Chart.prototype.callbacks.push(function(b){!1!==b.options.connectors.enabled&&(q(b),this.pathfinder=new t(this),this.pathfinder.update(!0))})})(C,K);(function(c){var v=c.addEvent,x=c.defined,k=c.Color,m=c.seriesTypes.column,
+t=c.correctFloat,q=c.isNumber,n=c.isObject,B=c.merge,a=c.pick,g=c.seriesType,f=c.Axis,A=c.Point,u=c.Series;g("xrange","column",{colorByPoint:!0,dataLabels:{verticalAlign:"middle",inside:!0,formatter:function(){var a=this.point.partialFill;n(a)&&(a=a.amount);x(a)||(a=0);return t(100*a)+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.x} - {point.x2}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.yCategory}\x3c/b\x3e\x3cbr/\x3e'},
+borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:c.seriesTypes.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:c.noop,getColumnMetrics:function(){function a(){c.series.forEach(function(b){var a=b.xAxis;b.xAxis=b.yAxis;b.yAxis=a})}var b,c=this.chart;a();b=m.prototype.getColumnMetrics.call(this);a();return b},cropData:function(a,b,c,f){b=u.prototype.cropData.call(this,this.x2Data,b,c,f);b.xData=a.slice(b.start,b.end);return b},
+translatePoint:function(c){var b=this.xAxis,e=this.yAxis,f=this.columnMetrics,g=this.options,k=g.minPointLength||0,m=c.plotX,u=a(c.x2,c.x+(c.len||0)),w=b.translate(u,0,0,0,1),u=Math.abs(w-m),t=this.chart.inverted,p=a(g.borderWidth,1)%2/2,v=f.offset,A=Math.round(f.width);k&&(k-=u,0>k&&(k=0),m-=k/2,w+=k/2);m=Math.max(m,-10);w=Math.min(Math.max(w,-10),b.len+10);x(c.options.pointWidth)&&(v-=(Math.ceil(c.options.pointWidth)-A)/2,A=Math.ceil(c.options.pointWidth));g.pointPlacement&&q(c.plotY)&&e.categories&&
+(c.plotY=e.translate(c.y,0,1,0,1,g.pointPlacement));c.shapeArgs={x:Math.floor(Math.min(m,w))+p,y:Math.floor(c.plotY+v)+p,width:Math.round(Math.abs(w-m)),height:A,r:this.options.borderRadius};e=c.shapeArgs.x;g=e+c.shapeArgs.width;0>e||g>b.len?(e=Math.min(b.len,Math.max(0,e)),g=Math.max(0,Math.min(g,b.len)),b=g-e,c.dlBox=B(c.shapeArgs,{x:e,width:g-e,centerX:b?b/2:null})):c.dlBox=null;c.tooltipPos[0]+=t?0:u/2;c.tooltipPos[1]-=t?-u/2:f.width/2;if(b=c.partialFill)n(b)&&(b=b.amount),q(b)||(b=0),f=c.shapeArgs,
+c.partShapeArgs={x:f.x,y:f.y,width:f.width,height:f.height,r:this.options.borderRadius},c.clipRectArgs={x:f.x,y:f.y,width:Math.max(Math.round(u*b+(c.plotX-m)),0),height:f.height}},translate:function(){m.prototype.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},this)},drawPoint:function(a,b){var c=this.options,e=this.chart.renderer,f=a.graphic,g=a.shapeType,m=a.shapeArgs,u=a.partShapeArgs,q=a.clipRectArgs,t=a.partialFill,p=a.selected&&"select",v=c.stacking&&
+!c.borderRadius;if(a.isNull)f&&(a.graphic=f.destroy());else{if(f)a.graphicOriginal[b](B(m));else a.graphic=f=e.g("point").addClass(a.getClassName()).add(a.group||this.group),a.graphicOriginal=e[g](m).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(f);u&&(a.graphicOverlay?(a.graphicOverlay[b](B(u)),a.clipRect.animate(B(q))):(a.clipRect=e.clipRect(q.x,q.y,q.width,q.height),a.graphicOverlay=e[g](u).addClass("highcharts-partfill-overlay").add(f).clip(a.clipRect)));this.chart.styledMode||
+(a.graphicOriginal.attr(this.pointAttribs(a,p)).shadow(c.shadow,null,v),u&&(n(t)||(t={}),n(c.partialFill)&&(t=B(t,c.partialFill)),b=t.fill||k(a.color||this.color).brighten(-.3).get(),a.graphicOverlay.attr(this.pointAttribs(a,p)).attr({fill:b}).shadow(c.shadow,null,v)))}},drawPoints:function(){var a=this,b=a.getAnimationVerb();a.points.forEach(function(c){a.drawPoint(c,b)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{applyOptions:function(){var a,
+b=A.prototype.applyOptions.apply(this,arguments),c=b.series;if(c.options.colorByPoint&&!b.options.color){a=c.options.colors||c.chart.options.colors;var f=b.y%(a?a.length:c.chart.options.chart.colorCount);a=a&&a[f];c.chart.styledMode||(b.color=a);b.options.colorIndex||(b.colorIndex=f)}return b},init:function(){A.prototype.init.apply(this,arguments);this.y||(this.y=0);return this},setState:function(){A.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},
+getLabelConfig:function(){var a=A.prototype.getLabelConfig.call(this),b=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=b&&b[this.y];return a},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===typeof this.x&&"number"===typeof this.x2}});v(f,"afterGetSeriesExtremes",function(){var c=this.series,b,d;this.isXAxis&&(b=a(this.dataMax,-Number.MAX_VALUE),c.forEach(function(a){a.x2Data&&a.x2Data.forEach(function(a){a>b&&(b=a,d=!0)})}),d&&(this.dataMax=b))})})(C);(function(c){var v=
+c.dateFormat,x=c.isObject,k=c.isNumber,m=c.merge,t=c.pick,q=c.seriesType,n=c.stop,B=c.seriesTypes.xrange;q("gantt","xrange",{grouping:!1,dataLabels:{enabled:!0,formatter:function(){var a=this.point.partialFill;x(a)&&(a=a.amount);if(k(a)&&0<a)return 100*a+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:null,pointFormatter:function(){var a=this.series,g=a.chart.tooltip,f=a.xAxis,k=f.options.dateTimeLabelFormats,n=f.options.startOfWeek,
+e=a.tooltipOptions,b=e.xDateFormat,d=this.end?this.end-this.start:0,a=this.options.milestone,f="\x3cb\x3e"+(this.name||this.yCategory)+"\x3c/b\x3e";if(e.pointFormat)return this.tooltipFormatter(e.pointFormat);b||(b=c.splat(g.getDateFormat(d,this.start,n,k))[0]);g=v(b,this.start);k=v(b,this.end);f+="\x3cbr/\x3e";return a?f+("Date "+g+"\x3cbr/\x3e"):f+("Start: "+g+"\x3cbr/\x3e")+("End: "+k+"\x3cbr/\x3e")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",
+radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}},{pointArrayMap:["start","end","y"],keyboardMoveVertical:!1,translatePoint:function(a){var c,f;B.prototype.translatePoint.call(this,a);a.options.milestone&&(c=a.shapeArgs,f=c.height,a.shapeArgs={x:c.x-f/2,y:c.y,width:f,height:f})},drawPoint:function(a,c){var f=this.options,g=this.chart.renderer,m=a.shapeArgs,e=a.plotY,b=a.graphic,d=a.selected&&"select",h=f.stacking&&!f.borderRadius;a.options.milestone?k(e)&&null!==a.y?(m=g.symbols.diamond(m.x,
+m.y,m.width,m.height),b?(n(b),b[c]({d:m})):a.graphic=g.path(m).addClass(a.getClassName(),!0).add(a.group||this.group),this.chart.styledMode||a.graphic.attr(this.pointAttribs(a,d)).shadow(f.shadow,null,h)):b&&(a.graphic=b.destroy()):B.prototype.drawPoint.call(this,a,c)},setData:c.Series.prototype.setData,setGanttPointAliases:function(a){function c(c,g){void 0!==g&&(a[c]=g)}c("x",t(a.start,a.x));c("x2",t(a.end,a.x2));c("partialFill",t(a.completed,a.partialFill));c("connect",t(a.dependency,a.connect))}},
+m(B.prototype.pointClass.prototype,{applyOptions:function(a,g){a=m(a);c.seriesTypes.gantt.prototype.setGanttPointAliases(a);return a=B.prototype.pointClass.prototype.applyOptions.call(this,a,g)}}))})(C);(function(c){var v=c.merge,x=c.splat,k=c.Chart;c.ganttChart=function(m,t,q){var n="string"===typeof m||m.nodeName,B=t.series,a=c.getOptions(),g,f=t;t=arguments[n?1:0];c.isArray(t.xAxis)||(t.xAxis=[t.xAxis||{},{}]);t.xAxis=t.xAxis.map(function(c,f){1===f&&(g=0);return v(a.xAxis,{grid:{enabled:!0},opposite:!0,
+linkedTo:g},c,{type:"datetime"})});t.yAxis=x(t.yAxis||{}).map(function(c){return v(a.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:c.categories?c.type:"treegrid"},c)});t.series=null;t=v(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1}},t,{isGantt:!0});t.series=f.series=B;t.series.forEach(function(a){a.data.forEach(function(a){c.seriesTypes.gantt.prototype.setGanttPointAliases(a)})});return n?new k(m,t,q):new k(t,t)}})(C)});
+//# sourceMappingURL=gantt.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+ Timeline series
+
+ (c) 2010-2018 Highsoft AS
+ Author: Daniel Studencki
+
+ License: www.highcharts.com/license
+*/
+(function(l){"object"===typeof module&&module.exports?module.exports=l:"function"===typeof define&&define.amd?define(function(){return l}):l("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(l){(function(k){var l=k.addEvent,q=k.extend,r=k.defined,p=k.merge,m=k.pick,t=k.Point,n=k.Series,u=k.seriesType,v=k.wrap;u("timeline","line",{colorByPoint:!0,stickyTracking:!1,ignoreHiddenPoint:!0,legendType:"point",lineWidth:0,tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf \x3c/span\x3e\x3cspan style\x3d"font-weight: bold;"\x3e{point.point.date}\x3c/span\x3e\x3cbr/\x3e',
+pointFormat:"{point.description}"},states:{hover:{lineWidthPlus:5,halo:{size:0}}},dataLabels:{enabled:!0,allowOverlap:!0,connectorWidth:1,connectorColor:"#000000",backgroundColor:"#ffffff",formatter:function(){return this.series.chart.styledMode?"\x3cspan\x3e\u25cf \x3c/span\x3e\x3cspan\x3e"+(this.point.date||"")+"\x3c/span\x3e\x3cbr/\x3e"+(this.point.label||""):'\x3cspan style\x3d"color:'+this.point.color+'"\x3e\u25cf \x3c/span\x3e\x3cspan style\x3d"font-weight: bold;" \x3e '+(this.point.date||"")+
+"\x3c/span\x3e\x3cbr/\x3e"+(this.point.label||"")},borderWidth:1,borderColor:"#666666",distance:100,alternate:!0,verticalAlign:"middle",color:"#333333"},marker:{enabledThreshold:0,symbol:"square",height:15}},{requireSorting:!1,trackerGroups:["markerGroup","dataLabelsGroup"],drawLegendSymbol:k.LegendSymbolMixin.drawRectangle,drawTracker:k.TrackerMixin.drawTrackerPoint,init:function(){var a=this;n.prototype.init.apply(a,arguments);l(a,"drawDataLabels",function(){a.options.dataLabels.useHTML&&a.points.forEach(function(a){a.visible&&
+a.dataLabel&&delete a.dataLabel.text.oldTextWidth});a.distributeDL()});l(a,"afterDrawDataLabels",function(){var c=a.options,b=c.dataLabels,d=a.hasRendered||0,e=m(b.defer,!!c.animation),f=a.connectorsGroup,g,f=a.plotGroup("connectorsGroup","data-labels-connectors",e&&!d?"hidden":"visible",b.zIndex||5);a.points.forEach(function(a){if(g=a.dataLabel)return v(g,"animate",function(a,b){this.targetPosition&&(this.targetPosition=b);return a.apply(this,Array.prototype.slice.call(arguments,1))}),g.targetPosition||
+(g.targetPosition={}),a.connector?a.alignConnector():a.drawConnector()});e&&(f.attr({opacity:+d}),d||l(a,"afterAnimate",function(){a.visible&&f.show(!0);f[c.animation?"animate":"attr"]({opacity:1},{duration:200})}))})},alignDataLabel:function(a,c){var b=this.chart.inverted,d=this.visibilityMap.filter(function(a){return a}),e=this.visiblePointsCount,f=d.indexOf(a),d=this.options.dataLabels,g=a.userDLOptions||{},f=d.alternate?f&&f!==e-1?2:1.5:1,h,e=Math.floor(this.xAxis.len/e),k=c.padding;a.visible&&
+(h=Math.abs(g.x||a.options.dataLabels.x),b?(b=2*(h-k)-a.itemHeight/2,b={width:b,textOverflow:c.width/b*c.height/2>e*f?"ellipsis":"none"}):b={width:g.width||d.width||e*f-2*k},c.css(b),this.chart.styledMode||c.shadow({}));n.prototype.alignDataLabel.apply(this,arguments)},processData:function(){var a=this,c=[],b,d=0,e;a.visibilityMap=a.getVisibilityMap();a.visibilityMap.forEach(function(a){a&&d++});a.visiblePointsCount=d;b=a.xAxis.options.max/d;for(e=1;e<=d;e++)c.push(b*e-b/2);a.visibilityMap.forEach(function(b,
+d){b||c.splice(d,0,null===a.yData[d]?null:-99)});a.xData=c;a.yData=c.map(function(a){return r(a)?1:null});n.prototype.processData.call(this,arguments)},generatePoints:function(){var a=this;n.prototype.generatePoints.apply(a);a.points.forEach(function(c,b){c.applyOptions({x:a.xData[b]})})},getVisibilityMap:function(){return(this.data.length?this.data:this.userOptions.data).map(function(a){return a&&!1!==a.visible&&!a.isNull?a:!1})},distributeDL:function(){var a=this,c=a.options.dataLabels,b,d,e={},
+f=1,g=c.distance;a.points.forEach(function(h){h.visible&&!h.isNull&&(b=h.options,d=h.options.dataLabels,a.hasRendered||(h.userDLOptions=p({},d)),e[a.chart.inverted?"x":"y"]=c.alternate&&f%2?-g:g,b.dataLabels=p(e,h.userDLOptions),f++)})},markerAttribs:function(a,c){var b=this.options.marker,d=a.marker||{},e=d.symbol||b.symbol,f=m(d.width,b.width,this.xAxis.len/this.visiblePointsCount),g=m(d.height,b.height),h=0;c&&(b=b.states[c]||{},c=d.states&&d.states[c]||{},h=m(c.radius,b.radius,h+(b.radiusPlus||
+0)));a.hasImage=e&&0===e.indexOf("url");return{x:Math.floor(a.plotX)-f/2-h/2,y:a.plotY-g/2-h/2,width:f+h,height:g+h}},bindAxes:function(){n.prototype.bindAxes.call(this);q(this.xAxis.options,{gridLineWidth:0,lineWidth:0,min:0,dataMin:0,minPadding:0,max:100,dataMax:100,maxPadding:0,title:null,tickPositions:[]});q(this.yAxis.options,{gridLineWidth:0,min:.5,dataMin:.5,minPadding:0,max:1.5,dataMax:1.5,maxPadding:0,title:null,labels:{enabled:!1}})}},{init:function(){var a=t.prototype.init.apply(this,arguments);
+a.name=m(a.name,a.date,"Event");a.y=1;return a},setVisible:function(a,c){var b=this,d=b.series,e=d.chart,f=d.options.ignoreHiddenPoint;c=m(c,f);a!==b.visible&&(b.visible=b.options.visible=a=void 0===a?!b.visible:a,d.options.data[d.data.indexOf(b)]=b.options,["graphic","dataLabel","connector"].forEach(function(c){if(b[c])b[c][a?"show":"hide"](!0)}),b.legendItem&&e.legend.colorizeItem(b,a),a||"hover"!==b.state||b.setState(""),f&&(d.isDirty=!0),c&&e.redraw())},setState:function(){var a=n.prototype.pointClass.prototype.setState;
+this.isNull||a.apply(this,arguments)},getConnectorPath:function(){var a=this.series.chart,c=this.series.xAxis.len,b=a.inverted,d=b?"x2":"y2",e=this.dataLabel,f=e.targetPosition,g={x1:this.plotX,y1:this.plotY,x2:this.plotX,y2:f.y||e.y},h=g[d]<this.series.yAxis.len/2;b&&(g={x1:this.plotY,y1:c-this.plotX,x2:f.x||e.x,y2:c-this.plotX});h&&(g[d]+=e[b?"width":"height"]);return a.renderer.crispLine(["M",g.x1,g.y1,"L",g.x2,g.y2],e.options.connectorWidth||1)},drawConnector:function(){var a=this.series,c=this.dataLabel.options=
+p({},a.options.dataLabels,this.options.dataLabels);this.connector=a.chart.renderer.path(this.getConnectorPath()).add(a.connectorsGroup);a.chart.styledMode||this.connector.attr({stroke:c.connectorColor,"stroke-width":c.connectorWidth,opacity:this.dataLabel.opacity})},alignConnector:function(){var a=this.connector,c=0<a.getBBox().y;a[c?"animate":"attr"]({d:this.getConnectorPath()})}});l(k.Chart,"afterHideOverlappingLabels",function(){var a,c;this.series.forEach(function(b){b.points&&b.points.forEach(function(b){a=
+b.dataLabel;c=b.connector;a&&a.targetPosition&&c&&c.attr({opacity:a.targetPosition.opacity||a.newOpacity})})})})})(l)});
+//# sourceMappingURL=timeline.js.map
+</script>
+<script>/*
+ Highcharts JS v7.0.1 (2018-12-19)
+
+ Support for parallel coordinates in Highcharts
+
+ (c) 2010-2018 Pawel Fus
+
+ License: www.highcharts.com/license
+*/
+(function(e){"object"===typeof module&&module.exports?module.exports=e:"function"===typeof define&&define.amd?define(function(){return e}):e("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(e){(function(b){function e(a){var c=this.series&&this.series.chart,h=a.apply(this,Array.prototype.slice.call(arguments,1)),k,e,d;c&&c.hasParallelCoordinates&&!m(h.formattedValue)&&(d=c.yAxis[this.x],k=d.options,c=(e=q(k.tooltipValueFormat,k.labels.format))?b.format(e,n(this,{value:this.y}),c.time):
+d.isDatetimeAxis?c.time.dateFormat(c.time.resolveDTLFormat(k.dateTimeLabelFormats[d.tickPositions.info.unitName]).main,this.y):k.categories?k.categories[this.y]:this.y,h.formattedValue=h.point.formattedValue=c);return h}var r=b.Axis,p=b.Chart,x=b.Series.prototype,y=p.prototype,t=b.Axis.prototype,f=b.addEvent,q=b.pick,u=b.wrap,l=b.merge,z=b.erase,v=b.splat,n=b.extend,m=b.defined,A=b.arrayMin,B=b.arrayMax,w={lineWidth:0,tickLength:0,opposite:!0,type:"category"};b.setOptions({chart:{parallelCoordinates:!1,
+parallelAxes:{lineWidth:1,title:{text:"",reserveSpace:!1},labels:{x:0,y:4,align:"center",reserveSpace:!1},offset:0}}});f(p,"init",function(a){a=a.args[0];var c=v(a.yAxis||{}),h=c.length,b=[];if(this.hasParallelCoordinates=a.chart&&a.chart.parallelCoordinates){for(this.setParallelInfo(a);h<=this.parallelInfo.counter;h++)b.push({});a.legend||(a.legend={});void 0===a.legend.enabled&&(a.legend.enabled=!1);l(!0,a,{boost:{seriesThreshold:Number.MAX_VALUE},plotOptions:{series:{boostThreshold:Number.MAX_VALUE}}});
+a.yAxis=c.concat(b);a.xAxis=l(w,v(a.xAxis||{})[0])}});f(p,"update",function(a){a=a.options;a.chart&&(m(a.chart.parallelCoordinates)&&(this.hasParallelCoordinates=a.chart.parallelCoordinates),this.hasParallelCoordinates&&a.chart.parallelAxes&&(this.options.chart.parallelAxes=l(this.options.chart.parallelAxes,a.chart.parallelAxes),this.yAxis.forEach(function(a){a.update({},!1)})))});n(y,{setParallelInfo:function(a){var c=this;a=a.series;c.parallelInfo={counter:0};a.forEach(function(a){a.data&&(c.parallelInfo.counter=
+Math.max(c.parallelInfo.counter,a.data.length-1))})}});t.keepProps.push("parallelPosition");f(r,"afterSetOptions",function(a){var c=this.chart,b=["left","width","height","top"];c.hasParallelCoordinates&&(c.inverted&&(b=b.reverse()),this.isXAxis?this.options=l(this.options,w,a.userOptions):(this.options=l(this.options,this.chart.options.chart.parallelAxes,a.userOptions),this.parallelPosition=q(this.parallelPosition,c.yAxis.length),this.setParallelPosition(b,this.options)))});f(r,"getSeriesExtremes",
+function(a){if(this.chart&&this.chart.hasParallelCoordinates&&!this.isXAxis){var c=this.parallelPosition,b=[];this.series.forEach(function(a){a.visible&&m(a.yData[c])&&b.push(a.yData[c])});this.dataMin=A(b);this.dataMax=B(b);a.preventDefault()}});n(t,{setParallelPosition:function(a,c){var b=(this.parallelPosition+.5)/(this.chart.parallelInfo.counter+1);this.chart.polar?c.angle=360*b:(c[a[0]]=100*b+"%",this[a[1]]=c[a[1]]=0,this[a[2]]=c[a[2]]=null,this[a[3]]=c[a[3]]=null)}});u(x,"bindAxes",function(a){if(this.chart.hasParallelCoordinates){var c=
+this;this.chart.axes.forEach(function(a){c.insert(a.series);a.isDirty=!0});c.xAxis=this.chart.xAxis[0];c.yAxis=this.chart.yAxis[0]}else a.apply(this,Array.prototype.slice.call(arguments,1))});f(b.Series,"afterTranslate",function(){var a=this.chart,c=this.points,b=c&&c.length,e=Number.MAX_VALUE,f,d,g;if(this.chart.hasParallelCoordinates){for(g=0;g<b;g++)d=c[g],m(d.y)?(d.plotX=a.polar?a.yAxis[g].angleRad||0:a.inverted?a.plotHeight-a.yAxis[g].top+a.plotTop:a.yAxis[g].left-a.plotLeft,d.clientX=d.plotX,
+d.plotY=a.yAxis[g].translate(d.y,!1,!0,null,!0),void 0!==f&&(e=Math.min(e,Math.abs(d.plotX-f))),f=d.plotX,d.isInside=a.isInsidePlot(d.plotX,d.plotY,a.inverted)):d.isNull=!0;this.closestPointRangePx=e}},{order:1});b.addEvent(b.Series,"destroy",function(){this.chart.hasParallelCoordinates&&(this.chart.axes||[]).forEach(function(a){a&&a.series&&(z(a.series,this),a.isDirty=a.forceRedraw=!0)},this)});["line","spline"].forEach(function(a){u(b.seriesTypes[a].prototype.pointClass.prototype,"getLabelConfig",
+e)})})(e)});
+//# sourceMappingURL=parallel-coordinates.js.map
+</script>
+<script>/* global Highcharts module window:true */
+(function (factory) {
+ if (typeof module === 'object' && module.exports) {
+ module.exports = factory;
+ } else {
+ factory(Highcharts);
+ }
+}(function (HC) {
+ 'use strict';
+ /**
+ * Grouped Categories v1.1.3 (2017-03-27)
+ *
+ * (c) 2012-2016 Black Label
+ *
+ * License: Creative Commons Attribution (CC)
+ */
+
+ /* jshint expr:true, boss:true */
+ var UNDEFINED = void 0,
+ mathRound = Math.round,
+ mathMin = Math.min,
+ mathMax = Math.max,
+ merge = HC.merge,
+ pick = HC.pick,
+ each = HC.each,
+ // #74, since Highcharts 4.1.10 HighchartsAdapter is only provided by the Highcharts Standalone Framework
+ inArray = (window.HighchartsAdapter && window.HighchartsAdapter.inArray) || HC.inArray,
+
+ // cache prototypes
+ axisProto = HC.Axis.prototype,
+ tickProto = HC.Tick.prototype,
+
+ // cache original methods
+ protoAxisInit = axisProto.init,
+ protoAxisRender = axisProto.render,
+ protoAxisSetCategories = axisProto.setCategories,
+ protoTickGetLabelSize = tickProto.getLabelSize,
+ protoTickAddLabel = tickProto.addLabel,
+ protoTickDestroy = tickProto.destroy,
+ protoTickRender = tickProto.render;
+
+ function deepClone(thing) {
+ return JSON.parse(JSON.stringify(thing));
+ }
+
+ function Category(obj, parent) {
+ this.userOptions = deepClone(obj);
+ this.name = obj.name || obj;
+ this.parent = parent;
+
+ return this;
+ }
+
+ Category.prototype.toString = function () {
+ var parts = [],
+ cat = this;
+
+ while (cat) {
+ parts.push(cat.name);
+ cat = cat.parent;
+ }
+
+ return parts.join(', ');
+ };
+
+ // returns sum of an array
+ function sum(arr) {
+ var l = arr.length,
+ x = 0;
+
+ while (l--) {
+ x += arr[l];
+ }
+
+ return x;
+ }
+
+ // Adds category leaf to array
+ function addLeaf(out, cat, parent) {
+ out.unshift(new Category(cat, parent));
+
+ while (parent) {
+ parent.leaves = parent.leaves ? (parent.leaves + 1) : 1;
+ parent = parent.parent;
+ }
+ }
+
+ // Builds reverse category tree
+ function buildTree(cats, out, options, parent, depth) {
+ var len = cats.length,
+ cat;
+
+ depth = depth ? depth : 0;
+ options.depth = options.depth ? options.depth : 0;
+
+ while (len--) {
+ cat = cats[len];
+
+ if (cat.categories) {
+ if (parent) {
+ cat.parent = parent;
+ }
+ buildTree(cat.categories, out, options, cat, depth + 1);
+ } else {
+ addLeaf(out, cat, parent);
+ }
+ }
+ options.depth = mathMax(options.depth, depth);
+ }
+
+ // Pushes part of grid to path
+ function addGridPart(path, d, width) {
+ // Based on crispLine from HC (#65)
+ if (d[0] === d[2]) {
+ d[0] = d[2] = mathRound(d[0]) - (width % 2 / 2);
+ }
+ if (d[1] === d[3]) {
+ d[1] = d[3] = mathRound(d[1]) + (width % 2 / 2);
+ }
+
+ path.push(
+ 'M',
+ d[0], d[1],
+ 'L',
+ d[2], d[3]
+ );
+ }
+
+ // Returns tick position
+ function tickPosition(tick, pos) {
+ return tick.getPosition(tick.axis.horiz, pos, tick.axis.tickmarkOffset);
+ }
+
+ function walk(arr, key, fn) {
+ var l = arr.length,
+ children;
+
+ while (l--) {
+ children = arr[l][key];
+
+ if (children) {
+ walk(children, key, fn);
+ }
+ fn(arr[l]);
+ }
+ }
+
+ //
+ // Axis prototype
+ //
+
+ axisProto.init = function (chart, options) {
+ // default behaviour
+ protoAxisInit.call(this, chart, options);
+
+ if (typeof options === 'object' && options.categories) {
+ this.setupGroups(options);
+ }
+ };
+
+ // setup required axis options
+ axisProto.setupGroups = function (options) {
+ var categories = deepClone(options.categories),
+ reverseTree = [],
+ stats = {},
+ labelOptions = this.options.labels,
+ userAttr = labelOptions.groupedOptions,
+ css = labelOptions.style;
+
+ // build categories tree
+ buildTree(categories, reverseTree, stats);
+
+ // set axis properties
+ this.categoriesTree = categories;
+ this.categories = reverseTree;
+ this.isGrouped = stats.depth !== 0;
+ this.labelsDepth = stats.depth;
+ this.labelsSizes = [];
+ this.labelsGridPath = [];
+ this.tickLength = options.tickLength || this.tickLength || null;
+ // #66: tickWidth for x axis defaults to 1, for y to 0
+ this.tickWidth = pick(options.tickWidth, this.isXAxis ? 1 : 0);
+ this.directionFactor = [-1, 1, 1, -1][this.side];
+ this.options.lineWidth = pick(options.lineWidth, 1);
+ // #85: align labels vertically
+ this.groupFontHeights = [];
+ for (var i = 0; i <= stats.depth; i++) {
+ var hasOptions = userAttr && userAttr[i - 1],
+ mergedCSS = hasOptions && userAttr[i - 1].style ? merge(css, userAttr[i - 1].style) : css;
+ this.groupFontHeights[i] = Math.round(this.chart.renderer.fontMetrics(mergedCSS ? mergedCSS.fontSize : 0).b * 0.3);
+ }
+ };
+
+
+ axisProto.render = function () {
+ // clear grid path
+ if (this.isGrouped) {
+ this.labelsGridPath = [];
+ }
+
+ // cache original tick length
+ if (this.originalTickLength === UNDEFINED) {
+ this.originalTickLength = this.options.tickLength;
+ }
+
+ // use default tickLength for not-grouped axis
+ // and generate grid on grouped axes,
+ // use tiny number to force highcharts to hide tick
+ this.options.tickLength = this.isGrouped ? 0.001 : this.originalTickLength;
+
+ protoAxisRender.call(this);
+
+ if (!this.isGrouped) {
+ if (this.labelsGrid) {
+ this.labelsGrid.attr({
+ visibility: 'hidden'
+ });
+ }
+ return false;
+ }
+
+ var axis = this,
+ options = axis.options,
+ top = axis.top,
+ left = axis.left,
+ right = left + axis.width,
+ bottom = top + axis.height,
+ visible = axis.hasVisibleSeries || axis.hasData,
+ depth = axis.labelsDepth,
+ grid = axis.labelsGrid,
+ horiz = axis.horiz,
+ d = axis.labelsGridPath,
+ i = options.drawHorizontalBorders === false ? (depth + 1) : 0,
+ offset = axis.opposite ? (horiz ? top : right) : (horiz ? bottom : left),
+ tickWidth = axis.tickWidth,
+ part;
+
+ if (axis.userTickLength) {
+ depth -= 1;
+ }
+
+ // render grid path for the first time
+ if (!grid) {
+ grid = axis.labelsGrid = axis.chart.renderer.path()
+ .attr({
+ // #58: use tickWidth/tickColor instead of lineWidth/lineColor:
+ strokeWidth: tickWidth, // < 4.0.3
+ 'stroke-width': tickWidth, // 4.0.3+ #30
+ stroke: options.tickColor || '' // for styled mode (tickColor === undefined)
+ })
+ .add(axis.axisGroup);
+ // for styled mode - add class
+ if (!options.tickColor) {
+ grid.addClass('highcharts-tick');
+ }
+ }
+
+ // go through every level and draw horizontal grid line
+ while (i <= depth) {
+ offset += axis.groupSize(i);
+
+ part = horiz ?
+ [left, offset, right, offset] :
+ [offset, top, offset, bottom];
+
+ addGridPart(d, part, tickWidth);
+ i++;
+ }
+
+ // draw grid path
+ grid.attr({
+ d: d,
+ visibility: visible ? 'visible' : 'hidden'
+ });
+
+ axis.labelGroup.attr({
+ visibility: visible ? 'visible' : 'hidden'
+ });
+
+
+ walk(axis.categoriesTree, 'categories', function (group) {
+ var tick = group.tick;
+
+ if (!tick) {
+ return false;
+ }
+ if (tick.startAt + tick.leaves - 1 < axis.min || tick.startAt > axis.max) {
+ tick.label.hide();
+ tick.destroyed = 0;
+ } else {
+ tick.label.attr({
+ visibility: visible ? 'visible' : 'hidden'
+ });
+ }
+ return true;
+ });
+ return true;
+ };
+
+ axisProto.setCategories = function (newCategories, doRedraw) {
+ if (this.categories) {
+ this.cleanGroups();
+ }
+ this.setupGroups({
+ categories: newCategories
+ });
+ this.categories = this.userOptions.categories = newCategories;
+ protoAxisSetCategories.call(this, this.categories, doRedraw);
+ };
+
+ // cleans old categories
+ axisProto.cleanGroups = function () {
+ var ticks = this.ticks,
+ n;
+
+ for (n in ticks) {
+ if (ticks[n].parent) {
+ delete ticks[n].parent;
+ }
+ }
+ walk(this.categoriesTree, 'categories', function (group) {
+ var tick = group.tick;
+
+ if (!tick) {
+ return false;
+ }
+ tick.label.destroy();
+
+ each(tick, function (v, i) {
+ delete tick[i];
+ });
+ delete group.tick;
+
+ return true;
+ });
+ this.labelsGrid = null;
+ };
+
+ // keeps size of each categories level
+ axisProto.groupSize = function (level, position) {
+ var positions = this.labelsSizes,
+ direction = this.directionFactor,
+ groupedOptions = this.options.labels.groupedOptions ? this.options.labels.groupedOptions[level - 1] : false,
+ userXY = 0;
+
+ if (groupedOptions) {
+ if (direction === -1) {
+ userXY = groupedOptions.x ? groupedOptions.x : 0;
+ } else {
+ userXY = groupedOptions.y ? groupedOptions.y : 0;
+ }
+ }
+
+ if (position !== UNDEFINED) {
+ positions[level] = mathMax(positions[level] || 0, position + 10 + Math.abs(userXY));
+ }
+
+ if (level === true) {
+ return sum(positions) * direction;
+ } else if (positions[level]) {
+ return positions[level] * direction;
+ }
+
+ return 0;
+ };
+
+ //
+ // Tick prototype
+ //
+
+ // Override methods prototypes
+ tickProto.addLabel = function () {
+ var tick = this,
+ axis = tick.axis,
+ category;
+
+ protoTickAddLabel.call(tick);
+
+ if (!axis.categories || !(category = axis.categories[tick.pos])) {
+ return false;
+ }
+
+ // set label text - but applied after formatter #46
+ if (tick.label) {
+ tick.label.attr('text', tick.axis.labelFormatter.call({
+ axis: axis,
+ chart: axis.chart,
+ isFirst: tick.isFirst,
+ isLast: tick.isLast,
+ value: category.name,
+ pos: tick.pos
+ }));
+ }
+
+ // create elements for parent categories
+ if (axis.isGrouped && axis.options.labels.enabled) {
+ tick.addGroupedLabels(category);
+ }
+ return true;
+ };
+
+ // render ancestor label
+ tickProto.addGroupedLabels = function (category) {
+ var tick = this,
+ axis = this.axis,
+ chart = axis.chart,
+ options = axis.options.labels,
+ useHTML = options.useHTML,
+ css = options.style,
+ userAttr = options.groupedOptions,
+ attr = {
+ align: 'center',
+ rotation: options.rotation,
+ x: 0,
+ y: 0
+ },
+ size = axis.horiz ? 'height' : 'width',
+ depth = 0,
+ label;
+
+
+ while (tick) {
+ if (depth > 0 && !category.tick) {
+ // render label element
+ this.value = category.name;
+ var name = options.formatter ? options.formatter.call(this, category) : category.name,
+ hasOptions = userAttr && userAttr[depth - 1],
+ mergedAttrs = hasOptions ? merge(attr, userAttr[depth - 1]) : attr,
+ mergedCSS = hasOptions && userAttr[depth - 1].style ? merge(css, userAttr[depth - 1].style) : css;
+
+ // #63: style is passed in CSS and not as an attribute
+ delete mergedAttrs.style;
+
+ label = chart.renderer.text(name, 0, 0, useHTML)
+ .attr(mergedAttrs)
+ .css(mergedCSS)
+ .add(axis.labelGroup);
+
+ // tick properties
+ tick.startAt = this.pos;
+ tick.childCount = category.categories.length;
+ tick.leaves = category.leaves;
+ tick.visible = this.childCount;
+ tick.label = label;
+ tick.labelOffsets = {
+ x: mergedAttrs.x,
+ y: mergedAttrs.y
+ };
+
+ // link tick with category
+ category.tick = tick;
+ }
+
+ // set level size, #93
+ if (tick) {
+ axis.groupSize(depth, tick.label.getBBox()[size]);
+ }
+
+ // go up to the parent category
+ category = category.parent;
+
+ if (category) {
+ tick = tick.parent = category.tick || {};
+ } else {
+ tick = null;
+ }
+
+ depth++;
+ }
+ };
+
+ // set labels position & render categories grid
+ tickProto.render = function (index, old, opacity) {
+ protoTickRender.call(this, index, old, opacity);
+
+ var treeCat = this.axis.categories[this.pos];
+
+ if (!this.axis.isGrouped || !treeCat || this.pos > this.axis.max) {
+ return;
+ }
+
+ var tick = this,
+ group = tick,
+ axis = tick.axis,
+ tickPos = tick.pos,
+ isFirst = tick.isFirst,
+ max = axis.max,
+ min = axis.min,
+ horiz = axis.horiz,
+ grid = axis.labelsGridPath,
+ size = axis.groupSize(0),
+ tickWidth = axis.tickWidth,
+ xy = tickPosition(tick, tickPos),
+ start = horiz ? xy.y : xy.x,
+ baseLine = axis.chart.renderer.fontMetrics(axis.options.labels.style ? axis.options.labels.style.fontSize : 0).b,
+ depth = 1,
+ reverseCrisp = ((horiz && xy.x === axis.pos + axis.len) || (!horiz && xy.y === axis.pos)) ? -1 : 0, // adjust grid lines for edges
+ gridAttrs,
+ lvlSize,
+ minPos,
+ maxPos,
+ attrs,
+ bBox;
+
+ // render grid for "normal" categories (first-level), render left grid line only for the first category
+ if (isFirst) {
+ gridAttrs = horiz ?
+ [axis.left, xy.y, axis.left, xy.y + axis.groupSize(true)] : axis.isXAxis ?
+ [xy.x, axis.top, xy.x + axis.groupSize(true), axis.top] : [xy.x, axis.top + axis.len, xy.x + axis.groupSize(true), axis.top + axis.len];
+
+ addGridPart(grid, gridAttrs, tickWidth);
+ }
+
+ if (horiz && axis.left < xy.x) {
+ addGridPart(grid, [xy.x - reverseCrisp, xy.y, xy.x - reverseCrisp, xy.y + size], tickWidth);
+ } else if (!horiz && axis.top <= xy.y) {
+ addGridPart(grid, [xy.x, xy.y + reverseCrisp, xy.x + size, xy.y + reverseCrisp], tickWidth);
+ }
+
+ size = start + size;
+
+ function fixOffset(tCat) {
+ var ret = 0;
+ if (isFirst) {
+ ret = inArray(tCat.name, tCat.parent.categories);
+ ret = ret < 0 ? 0 : ret;
+ return ret;
+ }
+ return ret;
+ }
+
+
+ while (group.parent) {
+ group = group.parent;
+
+ var fix = fixOffset(treeCat),
+ userX = group.labelOffsets.x,
+ userY = group.labelOffsets.y;
+
+ minPos = tickPosition(tick, mathMax(group.startAt - 1, min - 1));
+ maxPos = tickPosition(tick, mathMin(group.startAt + group.leaves - 1 - fix, max));
+ bBox = group.label.getBBox(true);
+ lvlSize = axis.groupSize(depth);
+ // check if on the edge to adjust
+ reverseCrisp = ((horiz && maxPos.x === axis.pos + axis.len) || (!horiz && maxPos.y === axis.pos)) ? -1 : 0;
+
+ attrs = horiz ? {
+ x: (minPos.x + maxPos.x) / 2 + userX,
+ y: size + axis.groupFontHeights[depth] + lvlSize / 2 + userY / 2
+ } : {
+ x: size + lvlSize / 2 + userX,
+ y: (minPos.y + maxPos.y - bBox.height) / 2 + baseLine + userY
+ };
+
+ if (!isNaN(attrs.x) && !isNaN(attrs.y)) {
+ group.label.attr(attrs);
+
+ if (grid) {
+ if (horiz && axis.left < maxPos.x) {
+ addGridPart(grid, [maxPos.x - reverseCrisp, size, maxPos.x - reverseCrisp, size + lvlSize], tickWidth);
+ } else if (!horiz && axis.top <= maxPos.y) {
+ addGridPart(grid, [size, maxPos.y + reverseCrisp, size + lvlSize, maxPos.y + reverseCrisp], tickWidth);
+ }
+ }
+ }
+
+ size += lvlSize;
+ depth++;
+ }
+ };
+
+ tickProto.destroy = function () {
+ var group = this.parent;
+
+ while (group) {
+ group.destroyed = group.destroyed ? (group.destroyed + 1) : 1;
+ group = group.parent;
+ }
+
+ protoTickDestroy.call(this);
+ };
+
+ // return size of the label (height for horizontal, width for vertical axes)
+ tickProto.getLabelSize = function () {
+ if (this.axis.isGrouped === true) {
+ // #72, getBBox might need recalculating when chart is tall
+ var size = protoTickGetLabelSize.call(this) + 10,
+ topLabelSize = this.axis.labelsSizes[0];
+ if (topLabelSize < size) {
+ this.axis.labelsSizes[0] = size;
+ }
+ return sum(this.axis.labelsSizes);
+ }
+ return protoTickGetLabelSize.call(this);
+ };
+
+}));</script>
+<script>/**
+ * @license http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
+ * @author Lars Cabrera
+ * @version 1.0.9
+ */
+
+// JSLint options:
+/*global Highcharts, window*/
+
+(function (H) {
+ // Check if object is array
+ function isArray(obj) {
+ return Object.prototype.toString.call(obj) === '[object Array]';
+ }
+
+
+ // Sets up motion ready to use
+ function Motion(chart) {
+ var motion = this;
+
+ this.chart = chart;
+ this.paused = true;
+ this.options = H.merge(this.defaultOptions, this.chart.options.motion);
+ this.dataSeries = [];
+ this.dataLength = 0;
+ motion.options.series = H.splat(motion.options.series);
+ Highcharts.each(this.chart.series, function (series, index) {
+ if (motion.options.series.indexOf(index) >= 0) {
+ motion.dataSeries[index] = series;
+ for (var i = 0; i < series.data.length; i++) {
+ if (series.data[i].sequence) {
+ motion.dataLength = Math.max(motion.dataLength, series.data[i].sequence.length);
+ }
+ }
+ }
+ });
+
+ // Play-controls HTML-div
+ this.playControls = H.createElement('div', {
+ id: 'play-controls'
+ }, null, this.chart.renderTo, null);
+
+ // Play/pause HTML-button
+ this.playPauseBtn = H.createElement('button', {
+ id: 'play-pause-button',
+ title: 'play'
+ }, null, this.playControls, null);
+ this.playPauseBtn.className = this.options.playIcon;
+
+ // Play-range HTML-input
+ this.playRange = H.createElement('input', {
+ id: 'play-range',
+ type: 'range',
+ min: 0,
+ max: this.dataLength - 1,
+ step: this.options.magnet.step
+ }, null, this.playControls, null);
+ // Important: max must be set before value in order to allow for
+ // higher numbers than 100.
+ this.playRange.value = H.pick(this.options.startIndex, this.dataLength - 1);
+
+ // Play-range HTML-output
+ this.playOutput = H.createElement('label', {
+ id: 'play-output',
+ name: this.options.axisLabel
+ }, null, this.playControls, null);
+ if (isArray(this.options.labels)) {
+ this.playOutput.innerHTML = this.options.labels[this.dataLength - 1] || '';
+ } else {
+ this.playOutput.innerHTML = this.dataLength - 1;
+ }
+
+ // Common key event handler function
+ function handleKeyEvents(e) {
+ e = e || window.event;
+ switch (e.which) {
+ case 32: // Space
+ motion.togglePlayPause();
+ break;
+ case 37: // Left
+ motion.playRange.value = motion.round(parseFloat(motion.playRange.value) - 1);
+ motion.updateChart(motion.playRange.value);
+ break;
+ case 39: // Right
+ motion.playRange.value = motion.round(parseFloat(motion.playRange.value) + 1);
+ motion.updateChart(motion.playRange.value);
+ break;
+ default:
+ return;
+ }
+ e.preventDefault();
+ }
+
+ // Bind controls to events
+ Highcharts.addEvent(this.playPauseBtn, 'click', function () {
+ motion.togglePlayPause();
+ });
+ Highcharts.addEvent(this.playRange, 'mouseup', function () {
+ motion.attractToStep();
+ });
+ Highcharts.addEvent(this.playRange, 'input', function () {
+ motion.updateChart(this.value);
+ });
+
+ // Request focus to the controls when clicking on controls div
+ Highcharts.addEvent(this.playControls, 'click', function () {
+ motion.playRange.focus();
+ });
+ // Bind keys to events
+ Highcharts.addEvent(this.playPauseBtn, 'keydown', handleKeyEvents);
+ Highcharts.addEvent(this.playRange, 'keydown', handleKeyEvents);
+
+ // Initial value
+ this.inputValue = parseFloat(this.playRange.value);
+
+ // Initial update
+ this.updateChart(this.inputValue);
+
+ // Auto-play
+ if (this.options.autoPlay) {
+ this.play();
+ }
+ }
+
+ // Default options for Motion
+ Motion.prototype.defaultOptions = {
+ enabled: true,
+ axisLabel: 'year',
+ autoPlay : false,
+ loop: false,
+ series: 0,
+ updateInterval: 10,
+ magnet: {
+ round: 'round',
+ step: 0.01
+ },
+ playIcon: "fa fa-play",
+ pauseIcon: "fa fa-pause"
+ };
+
+ // Toggles between Play and Pause states, and makes calls to changeButtonType()
+ // From http://www.creativebloq.com/html5/build-custom-html5-video-player-9134473
+ Motion.prototype.togglePlayPause = function () {
+ this[this.paused ? 'play' : 'pause']();
+ };
+
+ // Plays the motion, continuously updating the chart
+ Motion.prototype.play = function () {
+ var motion = this;
+ if (this.paused && parseFloat(this.playRange.value) === parseFloat(this.playRange.max)) {
+ this.reset();
+ }
+ this.changeButtonType('pause');
+ this.paused = false;
+ this.timer = setInterval(function () {
+ motion.playUpdate();
+ }, this.options.updateInterval);
+ };
+
+ // Pauses the motion, which stops updating the chart
+ Motion.prototype.pause = function () {
+ this.changeButtonType('play');
+ this.paused = true;
+ window.clearInterval(this.timer);
+ this.attractToStep();
+ };
+
+ // Resets the motion and updates the chart. Does not pause
+ Motion.prototype.reset = function () {
+ this.playRange.value = this.playRange.min;
+ this.updateChart(this.playRange.value);
+ };
+
+ // Updates a button's title, innerHTML and CSS class to a certain value
+ Motion.prototype.changeButtonType = function (value) {
+ this.playPauseBtn.title = value;
+ this.playPauseBtn.className = value + " ";
+ if (value == 'play') {
+ this.playPauseBtn.className += this.options.playIcon;
+ } else if (value == 'pause') {
+ this.playPauseBtn.className += this.options.pauseIcon;;
+ }
+ };
+
+ // Called continuously while playing
+ Motion.prototype.playUpdate = function () {
+ if (!this.paused) {
+ this.inputValue = parseFloat(this.playRange.value);
+ this.playRange.value = this.inputValue + this.options.magnet.step;
+ this.attractToStep();
+ this.updateChart(this.playRange.value); // Use playRange.value to get updated value
+ if (this.playRange.value >= parseFloat(this.playRange.max)) { // Auto-pause
+ if (this.options.loop) {
+ this.reset();
+ } else {
+ this.pause();
+ }
+ }
+ }
+ };
+
+ // Updates chart data and redraws the chart
+ Motion.prototype.updateChart = function (inputValue) {
+ var seriesKey,
+ series,
+ point,
+ roundedInput = this.round(inputValue),
+ i;
+ if (this.currentAxisValue !== roundedInput) {
+ this.currentAxisValue = roundedInput;
+ this.chart.options.motion.startIndex = roundedInput;
+ for (seriesKey in this.dataSeries) {
+ if (this.dataSeries.hasOwnProperty(seriesKey)) {
+ series = this.dataSeries[seriesKey];
+ for (i = 0; i < series.data.length; i++) {
+ point = series.data[i];
+ try {
+ if (point.sequence) {
+ point.update(point.sequence[roundedInput], false, false);
+ }
+ } catch (e) {
+ console.error('Error:', e, ' \nat point:', point, ' \nwith new value:', point.sequence[roundedInput]);
+ }
+ }
+ }
+ }
+ this.chart.redraw();
+ this.attractToStep();
+ }
+ };
+
+ // Moves output value to data point
+ Motion.prototype.attractToStep = function () {
+ if (isArray(this.options.labels)) {
+ this.playOutput.innerHTML = this.options.labels[this.round(this.playRange.value)] || '';
+ } else {
+ this.playOutput.innerHTML = this.round(this.playRange.value);
+ }
+ };
+
+ // Returns an integer rounded up, down or even depending on
+ // motion.magnet.round options.
+ Motion.prototype.round = function (number) {
+ return Math[this.options.magnet.round](number);
+ };
+
+ // Initiates motion automatically if motion options object exists and
+ // is not disabled
+ H.Chart.prototype.callbacks.push(function (chart) {
+ if (chart.options.motion && chart.options.motion.enabled) {
+ chart.motion = new Motion(chart);
+ }
+ });
+
+ H.Motion = Motion;
+}(Highcharts));
+</script>
+<script>/**
+* Multicolor Series v2.2.4 (2018-03-27)
+*
+* (c) 2012-2016 Black Label
+*
+* License: Creative Commons Attribution (CC)
+*/
+/* global Highcharts window document module:true */
+/**
+ * @fileoverview
+ * @suppress {checkTypes}
+ */
+(function (factory) {
+ if (typeof module === 'object' && module.exports) {
+ module.exports = factory;
+ } else {
+ factory(Highcharts);
+ }
+}(function (H) {
+ var each = H.each,
+ seriesTypes = H.seriesTypes,
+ pick = H.pick,
+ UNDEFINED,
+ NORMAL_STATE = '',
+ VISIBLE = 'visible',
+ HIDDEN = 'hidden',
+ PREFIX = 'highcharts-',
+ NONE = 'none',
+ hasTouch = document.documentElement.ontouchstart !== UNDEFINED,
+ TRACKER_FILL = 'rgba(192,192,192,' + (H.hasSVG ? 0.0001 : 0.002) + ')', // invisible but clickable
+ M = 'M',
+ L = 'L';
+
+ // handle unsorted data, throw error anyway
+ function error(code, stop) {
+ var msg = 'Highcharts error #' + code + ': www.highcharts.com/errors/' + code;
+ if (stop) {
+ throw msg;
+ } else if (window.console) {
+ console.log(msg); // eslint-disable-line
+ }
+ }
+
+ /**
+ If replacing L and M in tracker will be necessary use that getPath():
+
+ function getPath(arr){
+ var ret = [];
+ each(arr, function(el, ind) {
+ var len = el[0].length;
+ for(var i = 0; i < len; i++){
+ var p = el[0][i];
+ if(p == M && ind != 0 && i == 0) {
+ p = L;
+ }
+ ret.push(p);
+ }
+ });
+ return ret;
+ }
+ **/
+
+
+ function getPath(arr) {
+ var ret = [];
+ each(arr, function (el) {
+ ret = ret.concat(el[0]);
+ });
+ return ret;
+ }
+
+ /**
+ * Return the graph path of a segment - compatibility with 4.2.3+
+ * @param {Object} segment of the path
+ * @returns {Array} Path (SVG)
+ */
+ H.Series.prototype.getSegmentPath = function (segment) {
+ var series = this,
+ segmentPath = [],
+ step = series.options.step;
+
+ // build the segment line
+ each(segment, function (point, i) {
+ var plotX = point.plotX,
+ plotY = point.plotY,
+ lastPoint;
+
+ if (series.getPointSpline) {
+ // generate the spline as defined in the SplineSeries object
+ segmentPath.push.apply(segmentPath, series.getPointSpline(segment, point, i));
+ } else {
+ // moveTo or lineTo
+ segmentPath.push(i ? L : M);
+
+ // step line?
+ if (step && i) {
+ lastPoint = segment[i - 1];
+ if (step === 'right') {
+ segmentPath.push(
+ lastPoint.plotX,
+ plotY,
+ L
+ );
+ } else if (step === 'center') {
+ segmentPath.push(
+ (lastPoint.plotX + plotX) / 2,
+ lastPoint.plotY,
+ L,
+ (lastPoint.plotX + plotX) / 2,
+ plotY,
+ L
+ );
+ } else {
+ segmentPath.push(
+ plotX,
+ lastPoint.plotY,
+ L
+ );
+ }
+ }
+
+ // normal line to next point
+ segmentPath.push(
+ point.plotX,
+ point.plotY
+ );
+ }
+ });
+
+ return segmentPath;
+ };
+
+ /**
+ *
+ * ColoredLine series type
+ *
+ **/
+
+ seriesTypes.coloredline = H.extendClass(seriesTypes.line);
+
+ H.seriesTypes.coloredline.prototype.processData = function (force) {
+ var series = this,
+ processedXData = series.xData, // copied during slice operation below
+ processedYData = series.yData,
+ cropStart = 0,
+ cropped,
+ distance,
+ closestPointRange,
+ xAxis = series.xAxis,
+ i, // loop variable
+ options = series.options,
+ isCartesian = series.isCartesian;
+
+ // If the series data or axes haven't changed, don't go through this. Return false to pass
+ // the message on to override methods like in data grouping.
+ if (isCartesian && !series.isDirty && !xAxis.isDirty && !series.yAxis.isDirty && !force) {
+ return false;
+ }
+
+ // Find the closest distance between processed points
+ for (i = processedXData.length - 1; i >= 0; i--) {
+ distance = processedXData[i] - processedXData[i - 1];
+ if (distance > 0 && (closestPointRange === UNDEFINED || distance < closestPointRange)) {
+ closestPointRange = distance;
+
+ // Unsorted data is not supported by the line tooltip, as well as data grouping and
+ // navigation in Stock charts (#725) and width calculation of columns (#1900)
+ } else if (distance < 0 && series.requireSorting) {
+ error(15);
+ }
+ }
+
+ // Record the properties
+ series.cropped = cropped; // undefined or true
+ series.cropStart = cropStart;
+ series.processedXData = processedXData;
+ series.processedYData = processedYData;
+
+ if (options.pointRange === null) { // null means auto, as for columns, candlesticks and OHLC
+ series.pointRange = closestPointRange || 1;
+ }
+ series.closestPointRange = closestPointRange;
+ return true;
+ };
+
+ H.seriesTypes.coloredline.prototype.drawTracker = function () {
+ var series = this,
+ options = series.options,
+ trackByArea = options.trackByArea,
+ trackerPath = [].concat(trackByArea ? series.areaPath : getPath(series.graphPath)),
+ trackerPathLength = trackerPath.length,
+ chart = series.chart,
+ pointer = chart.pointer,
+ renderer = chart.renderer,
+ snap = chart.options.tooltip.snap,
+ tracker = series.tracker,
+ cursor = options.cursor,
+ css = cursor && { cursor: cursor },
+ singlePoints = series.singlePoints,
+ singlePoint,
+ i,
+ onMouseOver;
+
+ onMouseOver = function () {
+ if (chart.hoverSeries !== series) {
+ series.onMouseOver();
+ }
+ };
+ // Extend end points. A better way would be to use round linecaps,
+ // but those are not clickable in VML.
+ if (trackerPathLength && !trackByArea) {
+ i = trackerPathLength + 1;
+ while (i--) {
+ if (trackerPath[i] === M) { // extend left side
+ trackerPath.splice(i + 1, 0, trackerPath[i + 1] - snap, trackerPath[i + 2], L);
+ }
+ if ((i && trackerPath[i] === M) || i === trackerPathLength) { // extend right side
+ trackerPath.splice(i, 0, L, trackerPath[i - 2] + snap, trackerPath[i - 1]);
+ }
+ }
+ }
+
+ // handle single points
+ for (i = 0; i < singlePoints.length; i++) {
+ singlePoint = singlePoints[i];
+ if (singlePoint.plotX && singlePoint.plotY) {
+ trackerPath.push(M, singlePoint.plotX - snap, singlePoint.plotY,
+ L, singlePoint.plotX + snap, singlePoint.plotY);
+ }
+ }
+
+ // draw the tracker
+ if (tracker) {
+ tracker.attr({ d: trackerPath });
+ } else { // create
+ series.tracker = renderer.path(trackerPath)
+ .attr({
+ 'stroke-linejoin': 'round', // #1225
+ visibility: series.visible ? VISIBLE : HIDDEN,
+ stroke: TRACKER_FILL,
+ fill: trackByArea ? TRACKER_FILL : NONE,
+ 'stroke-width': options.lineWidth + (trackByArea ? 0 : 2 * snap),
+ zIndex: 2
+ })
+ .add(series.group);
+
+ // The tracker is added to the series group, which is clipped, but is covered
+ // by the marker group. So the marker group also needs to capture events.
+ each([series.tracker, series.markerGroup], function (track) {
+ track.addClass(PREFIX + 'tracker')
+ .on('mouseover', onMouseOver)
+ .on('mouseout', function (e) { pointer.onTrackerMouseOut(e); })
+ .css(css);
+
+ if (hasTouch) {
+ track.on('touchstart', onMouseOver);
+ }
+ });
+ }
+
+ };
+
+ H.seriesTypes.coloredline.prototype.setState = function (state) {
+ var series = this,
+ options = series.options,
+ graph = series.graph,
+ stateOptions = options.states,
+ lineWidth = options.lineWidth,
+ attribs;
+
+ state = state || NORMAL_STATE;
+
+ if (series.state !== state) {
+ series.state = state;
+
+ if (stateOptions[state] && stateOptions[state].enabled === false) {
+ return;
+ }
+
+ if (state) {
+ lineWidth = stateOptions[state].lineWidth || lineWidth + 1;
+ }
+
+ if (graph && !graph.dashstyle) { // hover is turned off for dashed lines in VML
+ attribs = {
+ 'stroke-width': lineWidth
+ };
+ // use attr because animate will cause any other animation on the graph to stop
+ each(graph, function (seg) {
+ seg.attr(attribs);
+ });
+ }
+ }
+ };
+
+ /**
+ * The main change to get multi color isFinite changes segments array.
+ * From array of points to object with color and array of points.
+ * @returns {undefined}
+ **/
+ H.seriesTypes.coloredline.prototype.getSegments = function () {
+ var series = this,
+ lastColor = 0,
+ segments = [],
+ i,
+ points = series.points,
+ pointsLength = points.length;
+
+ if (pointsLength) { // no action required for []
+
+ // if connect nulls, just remove null points
+ if (series.options.connectNulls) {
+ // iterate backwars for secure point removal
+ for (i = pointsLength - 1; i >= 0; --i) {
+ if (points[i].y === null) {
+ points.splice(i, 1);
+ }
+ }
+ pointsLength = points.length;
+
+ each(points, function (point, j) {
+ if (j > 0 && points[j].segmentColor !== points[j - 1].segmentColor) {
+ segments.push({
+ points: points.slice(lastColor, j + 1),
+ color: points[j - 1].segmentColor
+ });
+ lastColor = j;
+ }
+ });
+
+ if (pointsLength) {
+ // add the last segment (only single-point last segement is added)
+ if (lastColor !== pointsLength - 1) {
+ segments.push({
+ points: points.slice(lastColor, pointsLength),
+ color: points[pointsLength - 1].segmentColor
+ });
+ }
+ }
+
+ if (points.length && segments.length === 0) {
+ segments = [points];
+ }
+
+ // else, split on null points or different colors
+ } else {
+ var previousColor = null;
+ each(points, function (point, j) {
+ var colorChanged = j > 0 && (point.y === null || points[j - 1].y === null || (point.segmentColor !== points[j - 1].segmentColor && points[j].segmentColor !== previousColor)),
+ colorExists = points[j - 1] && points[j - 1].segmentColor && points[j - 1].y !== null ? true : false;
+
+ if (colorChanged) {
+ var p = points.slice(lastColor, j + 1);
+ if (p.length > 0) {
+ // do not create segments with null ponits
+ each(p, function (pointObject, k) {
+ if (pointObject.y === null) {
+ // remove null points (might be on edges)
+ p.splice(k, 1);
+ }
+ });
+
+ segments.push({
+ points: p,
+ color: colorExists ? points[j - 1].segmentColor : previousColor
+ });
+ lastColor = j;
+ }
+ } else if (j === pointsLength - 1) {
+ var next = j + 1;
+ if (point.y === null) {
+ next--;
+ }
+ p = points.slice(lastColor, next);
+ if (p.length > 0) {
+ // do not create segments with null ponits
+ each(p, function (pointObject, k) {
+ if (pointObject.y === null) {
+ // remove null points (might be on edges)
+ p.splice(k, 1);
+ }
+ });
+ segments.push({
+ points: p,
+ color: colorExists ? points[j - 1].segmentColor : previousColor
+ });
+ lastColor = j;
+ }
+
+ }
+
+ // store previous color
+ if (point) {
+ previousColor = point.segmentColor;
+ }
+ });
+ }
+ }
+ // register it
+ series.segments = segments;
+ };
+
+ H.seriesTypes.coloredline.prototype.getGraphPath = function () {
+ // var ret = f.apply(this, Array.prototype.slice.call(arguments, 1));
+ var series = this,
+ graphPath = [],
+ segmentPath,
+ singlePoints = []; // used in drawTracker
+ // Divide into segments and build graph and area paths
+ each(series.segments, function (segment) {
+ segmentPath = series.getSegmentPath(segment.points);
+ // add the segment to the graph, or a single point for tracking
+ if (segment.points.length > 1) {
+ graphPath.push([segmentPath, segment.color]);
+ } else {
+ singlePoints.push(segment.points);
+ }
+ });
+
+ // Record it for use in drawGraph and drawTracker, and return graphPath
+ series.singlePoints = singlePoints;
+ series.graphPath = graphPath;
+
+ return graphPath;
+ };
+
+ H.seriesTypes.coloredline.prototype.drawGraph = function () {
+ var series = this,
+ options = series.options,
+ props = [['graph', options.lineColor || series.color]],
+ lineWidth = options.lineWidth,
+ dashStyle = options.dashStyle,
+ roundCap = options.linecap !== 'square',
+ graphPath = series.getGraphPath(),
+ graphPathLength = graphPath.length,
+ graphSegmentsLength = 0;
+
+ function getSegment(segment, prop, i) {
+ var attribs = {
+ stroke: prop[1],
+ 'stroke-width': lineWidth,
+ fill: 'none',
+ zIndex: 1 // #1069
+ },
+ item;
+ if (dashStyle) {
+ attribs.dashstyle = dashStyle;
+ } else if (roundCap) {
+ attribs['stroke-linecap'] = attribs['stroke-linejoin'] = 'round';
+ }
+ if (segment[1]) {
+ attribs.stroke = segment[1];
+ }
+
+ item = series.chart.renderer.path(segment[0])
+ .attr(attribs)
+ .add(series.group);
+
+
+ if (item.shadow) {
+ item.shadow(!i && options.shadow);
+ }
+
+ return item;
+ }
+
+ // draw the graph
+ each(props, function (prop, i) {
+ var graphKey = prop[0],
+ graph = series[graphKey],
+ g;
+
+ if (graph) { // cancel running animations, #459
+ // do we have animation
+ each(graphPath, function (segment, j) {
+ // update color and path
+
+ if (series[graphKey][j]) {
+ series[graphKey][j].attr({ d: segment[0], stroke: segment[1] });
+ } else {
+ series[graphKey][j] = getSegment(segment, prop, i);
+ }
+ });
+
+ } else if (graphPath.length) { // #1487
+ graph = [];
+ each(graphPath, function (segment, j) {
+ graph[j] = getSegment(segment, prop, i);
+ });
+ series[graphKey] = graph;
+ // add destroying elements
+ series[graphKey].destroy = function () {
+ for (g in series[graphKey]) { // eslint-disable-line
+ var el = series[graphKey][g];
+ if (el && el.destroy) {
+ el.destroy();
+ }
+ }
+ };
+ }
+ // Checks if series.graph exists. #3
+ graphSegmentsLength = (series.graph && series.graph.length) || -1;
+
+ for (var j = graphSegmentsLength; j >= graphPathLength; j--) {
+ if (series[graphKey][j]) {
+ series[graphKey][j].destroy();
+ series[graphKey].splice(j, 1);
+ }
+ }
+ });
+ };
+
+ H.wrap(seriesTypes.coloredline.prototype, 'translate', function (proceed) {
+ proceed.apply(this, [].slice.call(arguments, 1));
+ if (this.getSegments) {
+ this.getSegments();
+ }
+ });
+
+
+
+ /**
+ *
+ * ColoredArea series type
+ *
+ **/
+ seriesTypes.coloredarea = H.extendClass(seriesTypes.coloredline);
+
+ H.seriesTypes.coloredarea.prototype.init = function (chart, options) {
+ options.threshold = options.threshold || null;
+ H.Series.prototype.init.call(this, chart, options);
+ };
+
+ H.seriesTypes.coloredarea.prototype.closeSegment = function (path, segment, translatedThreshold) {
+ path.push(
+ L,
+ segment[segment.length - 1].plotX,
+ translatedThreshold,
+ L,
+ segment[0].plotX,
+ translatedThreshold
+ );
+ };
+
+ H.seriesTypes.coloredarea.prototype.drawGraph = function (f) {
+ H.seriesTypes.coloredline.prototype.drawGraph.call(this, f);
+ var series = this,
+ options = this.options,
+ props = [['graph', options.lineColor || series.color]];
+
+ each(props, function (prop) {
+ var graphKey = prop[0],
+ graph = series[graphKey];
+
+ if (graph) { // cancel running animations, #459
+ // do we have animation
+ each(series.graphPath, function (segment, j) {
+ // update color and path
+
+ if (series[graphKey][j]) {
+ series[graphKey][j].attr({ fill: segment[1] });
+ }
+ });
+
+ }
+ });
+ };
+
+ /**
+ * Extend the base Series getSegmentPath method by adding the path for the area.
+ * This path is pushed to the series.areaPath property.
+ * @param {Object} segment of the path
+ * @returns {Array} Path (SVG)
+ **/
+ H.seriesTypes.coloredarea.prototype.getSegmentPath = function (segment) {
+ var segmentPath = H.Series.prototype.getSegmentPath.call(this, segment), // call base method
+ areaSegmentPath = [].concat(segmentPath), // work on a copy for the area path
+ i,
+ options = this.options,
+ segLength = segmentPath.length,
+ translatedThreshold = this.yAxis.getThreshold(options.threshold), // #2181
+ yBottom;
+
+ if (segLength === 3) { // for animation from 1 to two points
+ areaSegmentPath.push(L, segmentPath[1], segmentPath[2]);
+ }
+ if (options.stacking && !this.closedStacks) {
+ for (i = segment.length - 1; i >= 0; i--) {
+
+ yBottom = pick(segment[i].yBottom, translatedThreshold);
+
+ // step line?
+ if (i < segment.length - 1 && options.step) {
+ areaSegmentPath.push(segment[i + 1].plotX, yBottom);
+ }
+ areaSegmentPath.push(segment[i].plotX, yBottom);
+ }
+ } else { // follow zero line back
+ this.closeSegment(areaSegmentPath, segment, translatedThreshold);
+ }
+ return areaSegmentPath;
+ };
+
+ H.seriesTypes.coloredarea.prototype.getGraphPath = function () {
+ var series = this,
+ graphPath = [],
+ segmentPath,
+ singlePoints = []; // used in drawTracker
+ // Divide into segments and build graph and area paths
+
+ this.areaPath = [];
+ each(series.segments, function (segment) {
+ segmentPath = series.getSegmentPath(segment.points);
+ // add the segment to the graph, or a single point for tracking
+ if (segment.points.length > 1) {
+ graphPath.push([segmentPath, segment.color]);
+ } else {
+ singlePoints.push(segment.points);
+ }
+ });
+
+ // Record it for use in drawGraph and drawTracker, and return graphPath
+ series.singlePoints = singlePoints;
+ series.graphPath = graphPath;
+ return graphPath;
+
+ };
+
+ H.seriesTypes.coloredarea.prototype.drawLegendSymbol = H.LegendSymbolMixin.drawRectangle;
+}));</script>
+<script>var HCDefaults = $.extend(true, {}, Highcharts.getOptions(), {});
+
+function ResetHighchartsOptions() {
+ // Fortunately, Highcharts returns the reference to defaultOptions itself
+ // We can manipulate this and delete all the properties
+ var defaultOptions = Highcharts.getOptions();
+ for (var prop in defaultOptions) {
+ if (typeof defaultOptions[prop] !== 'function') delete defaultOptions[prop];
+ }
+ // Fall back to the defaults that we captured initially, this resets the theme
+ Highcharts.setOptions(HCDefaults);
+}
+</script>
+<script>(function (H) {
+
+ // cross http://stackoverflow.com/a/25379352/829971
+ Highcharts.Renderer.prototype.symbols.cross = function (x, y, radius) {
+ var r = radius * 0.4,
+ e = r * 0.8,
+ a = e / Math.sqrt(2),
+ p = r / Math.sqrt(2);
+ return [
+ 'M', x, y + a,
+ 'L', x + p, y + a + p,
+ x, y + a + (2 * p),
+ x + a, y + (2 * a) + (2 * p),
+ x + a + p, y + (2 * a) + p,
+ x + a + (2 * p), y + (2 * a) + (2 * p),
+ x + (2 * a) + (2 * p), y + a + (2 * p),
+ x + (2 * a) + p, y + a + p,
+ x + (2 * a) + (2 * p), y + a,
+ x + a + (2 * p), y,
+ x + a + p, y + p,
+ x + a, y,
+ 'Z'];
+ };
+
+ // plus http://stackoverflow.com/a/36270224/829971
+ Highcharts.SVGRenderer.prototype.symbols.plus = function (x, y, w, h) {
+ return [
+ 'M', x, y + (5 * h) / 8,
+ 'L', x, y + (3 * h) / 8,
+ 'L', x + (3 * w) / 8, y + (3 * h) / 8,
+ 'L', x + (3 * w) / 8, y,
+ 'L', x + (5 * w) / 8, y,
+ 'L', x + (5 * w) / 8, y + (3 * h) / 8,
+ 'L', x + w, y + (3 * h) / 8,
+ 'L', x + w, y + (5 * h) / 8,
+ 'L', x + (5 * w) / 8, y + (5 * h) / 8,
+ 'L', x + (5 * w) / 8, y + h,
+ 'L', x + (3 * w) / 8, y + h,
+ 'L', x + (3 * w) / 8, y + (5 * h) / 8,
+ 'L', x, y + (5 * h) / 8,
+ 'z'
+ ];
+ };
+
+
+}(Highcharts));
+</script>
+<script>/* Highcharts plugin to handle text symbols */
+(function (H) {
+ function symbolWrap(proceed, symbol, x, y, w, h, options) {
+ if (symbol.indexOf('text:') === 0) {
+ var text = unescape(JSON.parse('"\\u' + symbol.split(':')[1] + '"')),
+ svgElem = this.text(text, x, y)
+ .attr({
+ translateY: h,
+ translateX: -1
+ })
+ .css({
+ fontFamily: 'FontAwesome',
+ fontSize: h * 2
+ });
+
+ if (svgElem.renderer.isVML) {
+ svgElem.fillSetter = function (value, key, element) {
+ element.style.color = H.Color(value).get('rgb');
+ };
+ }
+ return svgElem;
+ }
+ return proceed.apply(this, [].slice.call(arguments, 1));
+ }
+ H.wrap(H.SVGRenderer.prototype, 'symbol', symbolWrap);
+ if (H.VMLRenderer) {
+ H.wrap(H.VMLRenderer.prototype, 'symbol', symbolWrap);
+ }
+
+ // Load the font for SVG files also
+ /*
+ H.wrap(H.Chart.prototype, 'getSVG', function (proceed) {
+ var svg = proceed.call(this);
+ svg = '<?xml-stylesheet type="text/css" ' +
+ 'href="http://netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" ?>' +
+ svg;
+ return svg;
+ });
+ */
+}(Highcharts));
+</script>
+<script>HTMLWidgets.widget({
+
+ name: 'highchart',
+
+ type: 'output',
+
+ initialize: function(el, width, height) {
+
+ return {
+ // TODO: add instance fields as required
+ };
+
+ },
+
+ renderValue: function(el, x, instance) {
+
+ if(x.debug) {
+ window.xclone = JSON.parse(JSON.stringify(x));
+ window.elclone = $(el);
+ console.log(el);
+ console.log("hc_opts", x.hc_opts);
+ console.log("theme", x.theme);
+ console.log("conf_opts", x.conf_opts);
+ }
+
+ if(x.fonts !== undefined) {
+
+ x.fonts = ((typeof(x.fonts) == "string") ? [x.fonts] : x.fonts);
+
+ x.fonts.forEach(function(s){
+ /* http://stackoverflow.com/questions/4724606 */
+ var urlfont = 'https://fonts.googleapis.com/css?family=' + s;
+ if (!$("link[href='" + urlfont + "']").length) {
+ $('<link href="' + urlfont + '" rel="stylesheet" type="text/css">').appendTo("head");
+ }
+
+ });
+
+ }
+
+ ResetHighchartsOptions();
+
+ if(x.theme !== null) {
+
+ if(x.debug) console.log("adding THEME");
+
+ Highcharts.setOptions(x.theme);
+
+ }
+
+ if((x.theme && x.theme.chart.divBackgroundImage !== undefined) |
+ (x.hc_opts.chart && x.hc_opts.chart.divBackgroundImage !== undefined)) {
+
+ if(x.debug) console.log("adding BackgroundImage");
+
+ var bkgrnd = x.theme.chart.divBackgroundImage || x.hc_opts.chart.divBackgroundImage;
+
+ Highcharts.wrap(Highcharts.Chart.prototype, "getContainer", function (proceed) {
+
+ proceed.call(this);
+
+ $("#" + el.id).css("background-image", "url(" + bkgrnd + ")");
+ $("#" + el.id).css("-webkit-background-size", "cover");
+ $("#" + el.id).css("-moz-background-size", "cover");
+ $("#" + el.id).css("-o-background-size", "cover");
+ $("#" + el.id).css("background-size", "cover");
+
+ });
+
+ }
+
+ Highcharts.setOptions(x.conf_opts);
+
+ if(x.type == "chart") {
+ if(x.debug) console.log("charting CHART");
+ $("#" + el.id).highcharts(x.hc_opts);
+ } else if (x.type == "stock") {
+ if(x.debug) console.log("charting STOCK");
+ $("#" + el.id).highcharts('StockChart', x.hc_opts);
+ } else if (x.type == "map"){
+ if(x.debug) console.log("charting MAP");
+
+ x.hc_opts.series = x.hc_opts.series.map(function(e){
+ if(e.geojson === true) {
+ if(x.debug) console.log("geojson\n\t", e.type, "\n\t", typeof(e.series));
+ e.data = Highcharts.geojson(e.data, e.type);
+ }
+ return e;
+ });
+
+ $("#" + el.id).highcharts('Map', x.hc_opts);
+
+ if(x.hc_opts.mapNavigation !== undefined && x.hc_opts.mapNavigation.enabled === true){
+ /* if have navigation option and enabled true: http://stackoverflow.com/questions/7600454 */
+ $("#" + el.id).bind( 'mousewheel DOMMouseScroll', function ( e ) {
+ var e0 = e.originalEvent,
+ delta = e0.wheelDelta || -e0.detail;
+ this.scrollTop += ( delta < 0 ? 1 : -1 ) * 30;
+ e.preventDefault();
+
+ });
+
+ }
+
+ }
+
+ if(x.hc_opts.motion !== undefined) {
+
+ $("#" + el.id).css({"position" : "relative" });
+
+ if(x.debug) console.log("setting MOTION options");
+
+ var pc = $($("#" + el.id).find("#play-controls")[0]);
+
+ var ct = x.theme.chart;
+
+ if(ct.backgroundColor !== undefined) $(pc.find("#play-pause-button")[0]).css({backgroundColor : x.theme.chart.backgroundColor});
+ if(ct.style !== undefined) $(pc.find("#play-output")[0]).css(x.theme.chart.style);
+ if(ct.style !== undefined && ct.style.color !== undefined) $(pc.find("#play-pause-button")[0]).css({color : x.theme.chart.style.color});
+
+
+ }
+
+ },
+
+ resize: function(el, width, height, instance) {
+
+ /* http://stackoverflow.com/questions/18445784/ */
+ var chart = $("#" +el.id).highcharts();
+ var w = chart.renderTo.clientWidth;
+ var h = chart.renderTo.clientHeight;
+ chart.setSize(w, h);
+
+ }
+
+});
+</script>
+
+</head>
+<body>
+<div id="htmlwidget_container">
+ <div id="htmlwidget-c35f66576b27eaeac90f" style="width:100%;height:500px;" class="highchart html-widget"></div>
+</div>
+<script type="application/json" data-for="htmlwidget-c35f66576b27eaeac90f">{"x":{"hc_opts":{"title":{"text":null},"yAxis":{"title":{"text":""},"ceiling":100,"floor":0,"labels":{"format":"{value} %"}},"credits":{"enabled":true,"text":"KorAP R Client Pakckage","href":"//github.com/KorAP/RKorAPClient/"},"exporting":{"enabled":true},"plotOptions":{"series":{"label":{"enabled":false},"turboThreshold":0},"treemap":{"layoutAlgorithm":"squarified"},"line":{"cursor":"pointer","point":{"events":{"click":"function() { window.open(this.click, 'korap'); }"}}}},"chart":{"zoomType":"xy"},"xAxis":{"allowDecimals":false},"tooltip":{"formatter":"function (tooltip) {\n var str = tooltip.defaultFormatter.call(this, tooltip);\n if(Array.isArray(str)) {\n str = str.join('');\n }\n for (var i = 0; i < this.points.length; i++) {\n str = str.replace(/([0-9.,]+.?)%/, this.points[i].point.count+' ($1@)');\n }\n return str.replace(/@/g, '%')\n } ","crosshairs":true,"valueDecimals":2,"shared":true,"valueSuffix":" %"},"series":[{"group":"group","data":[{"year":1980,"value":95,"count":19,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201980&ql=poliqarp","x":1980,"y":95},{"year":1981,"value":92.8571428571429,"count":26,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201981&ql=poliqarp","x":1981,"y":92.8571428571429},{"year":1982,"value":91.4285714285714,"count":32,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201982&ql=poliqarp","x":1982,"y":91.4285714285714},{"year":1983,"value":88.8888888888889,"count":24,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201983&ql=poliqarp","x":1983,"y":88.8888888888889},{"year":1984,"value":82.9268292682927,"count":34,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201984&ql=poliqarp","x":1984,"y":82.9268292682927},{"year":1985,"value":86.7924528301887,"count":46,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201985&ql=poliqarp","x":1985,"y":86.7924528301887},{"year":1986,"value":77.1428571428572,"count":27,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201986&ql=poliqarp","x":1986,"y":77.1428571428572},{"year":1987,"value":97.6744186046512,"count":42,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201987&ql=poliqarp","x":1987,"y":97.6744186046512},{"year":1988,"value":94.8717948717949,"count":37,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201988&ql=poliqarp","x":1988,"y":94.8717948717949},{"year":1989,"value":93.4426229508197,"count":57,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201989&ql=poliqarp","x":1989,"y":93.4426229508197},{"year":1990,"value":93.5897435897436,"count":73,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201990&ql=poliqarp","x":1990,"y":93.5897435897436},{"year":1991,"value":90.2173913043478,"count":83,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201991&ql=poliqarp","x":1991,"y":90.2173913043478},{"year":1992,"value":91.6129032258064,"count":142,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201992&ql=poliqarp","x":1992,"y":91.6129032258064},{"year":1993,"value":88.2352941176471,"count":180,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201993&ql=poliqarp","x":1993,"y":88.2352941176471},{"year":1994,"value":89.9521531100478,"count":188,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201994&ql=poliqarp","x":1994,"y":89.9521531100478},{"year":1995,"value":93.6395759717314,"count":265,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201995&ql=poliqarp","x":1995,"y":93.6395759717314},{"year":1996,"value":95.0664136622391,"count":501,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201996&ql=poliqarp","x":1996,"y":95.0664136622391},{"year":1997,"value":94.1446613088404,"count":820,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201997&ql=poliqarp","x":1997,"y":94.1446613088404},{"year":1998,"value":95.6093189964158,"count":1067,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201998&ql=poliqarp","x":1998,"y":95.6093189964158},{"year":1999,"value":94.410480349345,"count":1081,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201999&ql=poliqarp","x":1999,"y":94.410480349345},{"year":2000,"value":94.3931398416887,"count":1431,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202000&ql=poliqarp","x":2000,"y":94.3931398416887},{"year":2001,"value":93.3433059087509,"count":1248,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202001&ql=poliqarp","x":2001,"y":93.3433059087509},{"year":2002,"value":92.2088353413655,"count":1148,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202002&ql=poliqarp","x":2002,"y":92.2088353413655},{"year":2003,"value":93.6958234830575,"count":1189,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202003&ql=poliqarp","x":2003,"y":93.6958234830575},{"year":2004,"value":91.7331399564902,"count":1265,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202004&ql=poliqarp","x":2004,"y":91.7331399564902},{"year":2005,"value":91.3284132841328,"count":1485,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202005&ql=poliqarp","x":2005,"y":91.3284132841328},{"year":2006,"value":91.3741820345033,"count":1536,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202006&ql=poliqarp","x":2006,"y":91.3741820345033},{"year":2007,"value":91.7490118577075,"count":1857,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202007&ql=poliqarp","x":2007,"y":91.7490118577075},{"year":2008,"value":90.4109589041096,"count":1848,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202008&ql=poliqarp","x":2008,"y":90.4109589041096},{"year":2009,"value":88.5201793721973,"count":1974,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202009&ql=poliqarp","x":2009,"y":88.5201793721973},{"year":2010,"value":88.6103542234332,"count":1626,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202010&ql=poliqarp","x":2010,"y":88.6103542234332},{"year":2011,"value":85.5329949238579,"count":1685,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202011&ql=poliqarp","x":2011,"y":85.5329949238579},{"year":2012,"value":86.0191637630662,"count":1975,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202012&ql=poliqarp","x":2012,"y":86.0191637630662},{"year":2013,"value":85.4394175767031,"count":1643,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202013&ql=poliqarp","x":2013,"y":85.4394175767031},{"year":2014,"value":82.6344086021505,"count":1537,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202014&ql=poliqarp","x":2014,"y":82.6344086021505},{"year":2015,"value":81.692573402418,"count":1419,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202015&ql=poliqarp","x":2015,"y":81.692573402418},{"year":2016,"value":79.7794117647059,"count":1736,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202016&ql=poliqarp","x":2016,"y":79.7794117647059},{"year":2017,"value":76.7591674925669,"count":1549,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202017&ql=poliqarp","x":2017,"y":76.7591674925669},{"year":2018,"value":76.6076823478636,"count":1775,"click":"https://korap.ids-mannheim.de/?q=macht%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202018&ql=poliqarp","x":2018,"y":76.6076823478636}],"type":"line","marker":{"radius":2},"name":"macht []{0,3} Sinn","colorIndex":0,"zIndex":1},{"group":"group","data":[{"year":1980,"conf.low":73.0556254428533,"conf.high":99.7384444863308,"x":1980,"low":73.0556254428533,"high":99.7384444863308},{"year":1981,"conf.low":75.0416182995313,"conf.high":98.7530739684036,"x":1981,"low":75.0416182995313,"high":98.7530739684036},{"year":1982,"conf.low":75.8135574242256,"conf.high":97.7598332506547,"x":1982,"low":75.8135574242256,"high":97.7598332506547},{"year":1983,"conf.low":69.7033791207719,"conf.high":97.0855730276021,"x":1983,"low":69.7033791207719,"high":97.0855730276021},{"year":1984,"conf.low":67.3539788176602,"conf.high":92.3044226330955,"x":1984,"low":67.3539788176602,"high":92.3044226330955},{"year":1985,"conf.low":74.0470006283946,"conf.high":94.0862847303049,"x":1985,"low":74.0470006283946,"high":94.0862847303049},{"year":1986,"conf.low":59.4479825671614,"conf.high":88.9555988147557,"x":1986,"low":59.4479825671614,"high":88.9555988147557},{"year":1987,"conf.low":86.2041579742542,"conf.high":99.8784845682876,"x":1987,"low":86.2041579742542,"high":99.8784845682876},{"year":1988,"conf.low":81.3702907377942,"conf.high":99.1067618864895,"x":1988,"low":81.3702907377942,"high":99.1067618864895},{"year":1989,"conf.low":83.2526021667365,"conf.high":97.878478711837,"x":1989,"low":83.2526021667365,"high":97.878478711837},{"year":1990,"conf.low":85.0313310022991,"conf.high":97.6161203738943,"x":1990,"low":85.0313310022991,"high":97.6161203738943},{"year":1991,"conf.low":81.7874365227723,"conf.high":95.1503602743896,"x":1991,"low":81.7874365227723,"high":95.1503602743896},{"year":1992,"conf.low":85.7943864616299,"conf.high":95.2755127963722,"x":1992,"low":85.7943864616299,"high":95.2755127963722},{"year":1993,"conf.low":82.8131666172552,"conf.high":92.1674041087979,"x":1993,"low":82.8131666172552,"high":92.1674041087979},{"year":1994,"conf.low":84.8524475330347,"conf.high":93.5271280408146,"x":1994,"low":84.8524475330347,"high":93.5271280408146},{"year":1995,"conf.low":89.9617269742647,"conf.high":96.0779057390259,"x":1995,"low":89.9617269742647,"high":96.0779057390259},{"year":1996,"conf.low":92.7588248047252,"conf.high":96.6889139250739,"x":1996,"low":92.7588248047252,"high":96.6889139250739},{"year":1997,"conf.low":92.3187801516029,"conf.high":95.5687285190094,"x":1997,"low":92.3187801516029,"high":95.5687285190094},{"year":1998,"conf.low":94.1922884077845,"conf.high":96.7018917906517,"x":1998,"low":94.1922884077845,"high":96.7018917906517},{"year":1999,"conf.low":92.8770023729847,"conf.high":95.6372910917686,"x":1999,"low":92.8770023729847,"high":95.6372910917686},{"year":2000,"conf.low":93.0828461889237,"conf.high":95.4726693219818,"x":2000,"low":93.0828461889237,"high":95.4726693219818},{"year":2001,"conf.low":91.8383944966634,"conf.high":94.5929521984824,"x":2001,"low":91.8383944966634,"high":94.5929521984824},{"year":2002,"conf.low":90.5432680262243,"conf.high":93.6077652407648,"x":2002,"low":90.5432680262243,"high":93.6077652407648},{"year":2003,"conf.low":92.1791498893459,"conf.high":94.9410251899362,"x":2003,"low":92.1791498893459,"high":94.9410251899362},{"year":2004,"conf.low":90.1221252311976,"conf.high":93.1065320575451,"x":2004,"low":90.1221252311976,"high":93.1065320575451},{"year":2005,"conf.low":89.8284370349406,"conf.high":92.6292079103436,"x":2005,"low":89.8284370349406,"high":92.6292079103436},{"year":2006,"conf.low":89.9042340640674,"conf.high":92.6512963935937,"x":2006,"low":89.9042340640674,"high":92.6512963935937},{"year":2007,"conf.low":90.4435099893752,"conf.high":92.8930888163329,"x":2007,"low":90.4435099893752,"high":92.8930888163329},{"year":2008,"conf.low":89.0317811592721,"conf.high":91.6356286412622,"x":2008,"low":89.0317811592721,"high":91.6356286412622},{"year":2009,"conf.low":87.1068400158732,"conf.high":89.798794728802,"x":2009,"low":87.1068400158732,"high":89.798794728802},{"year":2010,"conf.low":87.0467359370189,"conf.high":90.0096371872936,"x":2010,"low":87.0467359370189,"high":90.0096371872936},{"year":2011,"conf.low":83.8839987194577,"conf.high":87.0414282239757,"x":2011,"low":83.8839987194577,"high":87.0414282239757},{"year":2012,"conf.low":84.5177569547539,"conf.high":87.3983998187093,"x":2012,"low":84.5177569547539,"high":87.3983998187093},{"year":2013,"conf.low":83.7652021049103,"conf.high":86.9699990356046,"x":2013,"low":83.7652021049103,"high":86.9699990356046},{"year":2014,"conf.low":80.8181948805348,"conf.high":84.314003652223,"x":2014,"low":80.8181948805348,"high":84.314003652223},{"year":2015,"conf.low":79.7748079995102,"conf.high":83.4682591055029,"x":2015,"low":79.7748079995102,"high":83.4682591055029},{"year":2016,"conf.low":78.0163863298564,"conf.high":81.4360515897676,"x":2016,"low":78.0163863298564,"high":81.4360515897676},{"year":2017,"conf.low":74.8411618656268,"conf.high":78.5741239916616,"x":2017,"low":74.8411618656268,"high":78.5741239916616},{"year":2018,"conf.low":74.8187262167962,"conf.high":78.3074548915808,"x":2018,"low":74.8187262167962,"high":78.3074548915808}],"type":"arearange","name":"ci","fillOpacity":0.3,"lineWidth":0,"marker":{"enabled":false},"enableMouseTracking":false,"linkedTo":":previous","colorIndex":0,"zIndex":0},{"group":"group","data":[{"year":1980,"value":5,"count":1,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201980&ql=poliqarp","x":1980,"y":5},{"year":1981,"value":7.14285714285714,"count":2,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201981&ql=poliqarp","x":1981,"y":7.14285714285714},{"year":1982,"value":8.57142857142857,"count":3,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201982&ql=poliqarp","x":1982,"y":8.57142857142857},{"year":1983,"value":11.1111111111111,"count":3,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201983&ql=poliqarp","x":1983,"y":11.1111111111111},{"year":1984,"value":17.0731707317073,"count":7,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201984&ql=poliqarp","x":1984,"y":17.0731707317073},{"year":1985,"value":13.2075471698113,"count":7,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201985&ql=poliqarp","x":1985,"y":13.2075471698113},{"year":1986,"value":22.8571428571429,"count":8,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201986&ql=poliqarp","x":1986,"y":22.8571428571429},{"year":1987,"value":2.32558139534884,"count":1,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201987&ql=poliqarp","x":1987,"y":2.32558139534884},{"year":1988,"value":5.12820512820513,"count":2,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201988&ql=poliqarp","x":1988,"y":5.12820512820513},{"year":1989,"value":6.55737704918033,"count":4,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201989&ql=poliqarp","x":1989,"y":6.55737704918033},{"year":1990,"value":6.41025641025641,"count":5,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201990&ql=poliqarp","x":1990,"y":6.41025641025641},{"year":1991,"value":9.78260869565217,"count":9,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201991&ql=poliqarp","x":1991,"y":9.78260869565217},{"year":1992,"value":8.38709677419355,"count":13,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201992&ql=poliqarp","x":1992,"y":8.38709677419355},{"year":1993,"value":11.7647058823529,"count":24,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201993&ql=poliqarp","x":1993,"y":11.7647058823529},{"year":1994,"value":10.0478468899522,"count":21,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201994&ql=poliqarp","x":1994,"y":10.0478468899522},{"year":1995,"value":6.36042402826855,"count":18,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201995&ql=poliqarp","x":1995,"y":6.36042402826855},{"year":1996,"value":4.93358633776091,"count":26,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201996&ql=poliqarp","x":1996,"y":4.93358633776091},{"year":1997,"value":5.85533869115959,"count":51,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201997&ql=poliqarp","x":1997,"y":5.85533869115959},{"year":1998,"value":4.39068100358423,"count":49,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201998&ql=poliqarp","x":1998,"y":4.39068100358423},{"year":1999,"value":5.58951965065502,"count":64,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%201999&ql=poliqarp","x":1999,"y":5.58951965065502},{"year":2000,"value":5.60686015831135,"count":85,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202000&ql=poliqarp","x":2000,"y":5.60686015831135},{"year":2001,"value":6.65669409124907,"count":89,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202001&ql=poliqarp","x":2001,"y":6.65669409124907},{"year":2002,"value":7.79116465863454,"count":97,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202002&ql=poliqarp","x":2002,"y":7.79116465863454},{"year":2003,"value":6.30417651694247,"count":80,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202003&ql=poliqarp","x":2003,"y":6.30417651694247},{"year":2004,"value":8.26686004350979,"count":114,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202004&ql=poliqarp","x":2004,"y":8.26686004350979},{"year":2005,"value":8.67158671586716,"count":141,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202005&ql=poliqarp","x":2005,"y":8.67158671586716},{"year":2006,"value":8.62581796549673,"count":145,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202006&ql=poliqarp","x":2006,"y":8.62581796549673},{"year":2007,"value":8.25098814229249,"count":167,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202007&ql=poliqarp","x":2007,"y":8.25098814229249},{"year":2008,"value":9.58904109589041,"count":196,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202008&ql=poliqarp","x":2008,"y":9.58904109589041},{"year":2009,"value":11.4798206278027,"count":256,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202009&ql=poliqarp","x":2009,"y":11.4798206278027},{"year":2010,"value":11.3896457765668,"count":209,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202010&ql=poliqarp","x":2010,"y":11.3896457765668},{"year":2011,"value":14.4670050761421,"count":285,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202011&ql=poliqarp","x":2011,"y":14.4670050761421},{"year":2012,"value":13.9808362369338,"count":321,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202012&ql=poliqarp","x":2012,"y":13.9808362369338},{"year":2013,"value":14.5605824232969,"count":280,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202013&ql=poliqarp","x":2013,"y":14.5605824232969},{"year":2014,"value":17.3655913978495,"count":323,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202014&ql=poliqarp","x":2014,"y":17.3655913978495},{"year":2015,"value":18.307426597582,"count":318,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202015&ql=poliqarp","x":2015,"y":18.307426597582},{"year":2016,"value":20.2205882352941,"count":440,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202016&ql=poliqarp","x":2016,"y":20.2205882352941},{"year":2017,"value":23.2408325074331,"count":469,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202017&ql=poliqarp","x":2017,"y":23.2408325074331},{"year":2018,"value":23.3923176521364,"count":542,"click":"https://korap.ids-mannheim.de/?q=ergibt%20%5B%5D%7B0%2C3%7D%20Sinn&cq=textType%20%3D%20%2FZeit.%2A%2F%20%26%20availability%21%3DQAO-NC-LOC%3Aids%20%26%20pubDate%20in%202018&ql=poliqarp","x":2018,"y":23.3923176521364}],"type":"line","marker":{"radius":2},"name":"ergibt []{0,3} Sinn","colorIndex":1,"zIndex":1},{"group":"group","data":[{"year":1980,"conf.low":0.261555513669134,"conf.high":26.9443745571467,"x":1980,"low":0.261555513669134,"high":26.9443745571467},{"year":1981,"conf.low":1.2469260315964,"conf.high":24.9583817004687,"x":1981,"low":1.2469260315964,"high":24.9583817004687},{"year":1982,"conf.low":2.24016674934531,"conf.high":24.1864425757744,"x":1982,"low":2.24016674934531,"high":24.1864425757744},{"year":1983,"conf.low":2.91442697239796,"conf.high":30.2966208792281,"x":1983,"low":2.91442697239796,"high":30.2966208792281},{"year":1984,"conf.low":7.69557736690451,"conf.high":32.6460211823398,"x":1984,"low":7.69557736690451,"high":32.6460211823398},{"year":1985,"conf.low":5.91371526969509,"conf.high":25.9529993716054,"x":1985,"low":5.91371526969509,"high":25.9529993716054},{"year":1986,"conf.low":11.0444011852443,"conf.high":40.5520174328386,"x":1986,"low":11.0444011852443,"high":40.5520174328386},{"year":1987,"conf.low":0.121515431712356,"conf.high":13.7958420257458,"x":1987,"low":0.121515431712356,"high":13.7958420257458},{"year":1988,"conf.low":0.893238113510509,"conf.high":18.6297092622058,"x":1988,"low":0.893238113510509,"high":18.6297092622058},{"year":1989,"conf.low":2.12152128816304,"conf.high":16.7473978332635,"x":1989,"low":2.12152128816304,"high":16.7473978332635},{"year":1990,"conf.low":2.3838796261057,"conf.high":14.9686689977009,"x":1990,"low":2.3838796261057,"high":14.9686689977009},{"year":1991,"conf.low":4.84963972561041,"conf.high":18.2125634772277,"x":1991,"low":4.84963972561041,"high":18.2125634772277},{"year":1992,"conf.low":4.72448720362782,"conf.high":14.2056135383702,"x":1992,"low":4.72448720362782,"high":14.2056135383702},{"year":1993,"conf.low":7.83259589120209,"conf.high":17.1868333827448,"x":1993,"low":7.83259589120209,"high":17.1868333827448},{"year":1994,"conf.low":6.4728719591854,"conf.high":15.1475524669653,"x":1994,"low":6.4728719591854,"high":15.1475524669653},{"year":1995,"conf.low":3.92209426097411,"conf.high":10.0382730257353,"x":1995,"low":3.92209426097411,"high":10.0382730257353},{"year":1996,"conf.low":3.31108607492606,"conf.high":7.24117519527483,"x":1996,"low":3.31108607492606,"high":7.24117519527483},{"year":1997,"conf.low":4.43127148099064,"conf.high":7.68121984839713,"x":1997,"low":4.43127148099064,"high":7.68121984839713},{"year":1998,"conf.low":3.29810820934828,"conf.high":5.80771159221546,"x":1998,"low":3.29810820934828,"high":5.80771159221546},{"year":1999,"conf.low":4.36270890823145,"conf.high":7.12299762701531,"x":1999,"low":4.36270890823145,"high":7.12299762701531},{"year":2000,"conf.low":4.52733067801824,"conf.high":6.91715381107628,"x":2000,"low":4.52733067801824,"high":6.91715381107628},{"year":2001,"conf.low":5.40704780151759,"conf.high":8.16160550333665,"x":2001,"low":5.40704780151759,"high":8.16160550333665},{"year":2002,"conf.low":6.3922347592352,"conf.high":9.45673197377574,"x":2002,"low":6.3922347592352,"high":9.45673197377574},{"year":2003,"conf.low":5.05897481006378,"conf.high":7.82085011065408,"x":2003,"low":5.05897481006378,"high":7.82085011065408},{"year":2004,"conf.low":6.89346794245487,"conf.high":9.87787476880238,"x":2004,"low":6.89346794245487,"high":9.87787476880238},{"year":2005,"conf.low":7.3707920896564,"conf.high":10.1715629650594,"x":2005,"low":7.3707920896564,"high":10.1715629650594},{"year":2006,"conf.low":7.34870360640627,"conf.high":10.0957659359326,"x":2006,"low":7.34870360640627,"high":10.0957659359326},{"year":2007,"conf.low":7.10691118366707,"conf.high":9.5564900106248,"x":2007,"low":7.10691118366707,"high":9.5564900106248},{"year":2008,"conf.low":8.36437135873775,"conf.high":10.9682188407279,"x":2008,"low":8.36437135873775,"high":10.9682188407279},{"year":2009,"conf.low":10.201205271198,"conf.high":12.8931599841268,"x":2009,"low":10.201205271198,"high":12.8931599841268},{"year":2010,"conf.low":9.99036281270643,"conf.high":12.9532640629811,"x":2010,"low":9.99036281270643,"high":12.9532640629811},{"year":2011,"conf.low":12.9585717760243,"conf.high":16.1160012805423,"x":2011,"low":12.9585717760243,"high":16.1160012805423},{"year":2012,"conf.low":12.6016001812907,"conf.high":15.4822430452461,"x":2012,"low":12.6016001812907,"high":15.4822430452461},{"year":2013,"conf.low":13.0300009643954,"conf.high":16.2347978950897,"x":2013,"low":13.0300009643954,"high":16.2347978950897},{"year":2014,"conf.low":15.685996347777,"conf.high":19.1818051194652,"x":2014,"low":15.685996347777,"high":19.1818051194652},{"year":2015,"conf.low":16.5317408944971,"conf.high":20.2251920004898,"x":2015,"low":16.5317408944971,"high":20.2251920004898},{"year":2016,"conf.low":18.5639484102324,"conf.high":21.9836136701436,"x":2016,"low":18.5639484102324,"high":21.9836136701436},{"year":2017,"conf.low":21.4258760083384,"conf.high":25.1588381343732,"x":2017,"low":21.4258760083384,"high":25.1588381343732},{"year":2018,"conf.low":21.6925451084192,"conf.high":25.1812737832038,"x":2018,"low":21.6925451084192,"high":25.1812737832038}],"type":"arearange","name":"ci","fillOpacity":0.3,"lineWidth":0,"marker":{"enabled":false},"enableMouseTracking":false,"linkedTo":":previous","colorIndex":1,"zIndex":0}]},"theme":{"colors":["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF","#AEC7E8","#FFBB78","#98DF8A","#FF9896","#C5B0D5","#C49C94","#F7B6D2","#C7C7C7","#DBDB8D","#9EDAE5"],"chart":{"style":{"color":"#333","fontFamily":"Open Sans"}},"title":{"style":{"fontFamily":"Raleway","fontWeight":"100"}},"subtitle":{"style":{"fontFamily":"Raleway","fontWeight":"100"}},"legend":{"align":"right","verticalAlign":"bottom"},"xAxis":{"gridLineWidth":1,"gridLineColor":"#F3F3F3","lineColor":"#F3F3F3","minorGridLineColor":"#F3F3F3","tickColor":"#F3F3F3","tickWidth":1},"yAxis":{"gridLineColor":"#F3F3F3","lineColor":"#F3F3F3","minorGridLineColor":"#F3F3F3","tickColor":"#F3F3F3","tickWidth":1}},"conf_opts":{"global":{"Date":null,"VMLRadialGradientURL":"http =//code.highcharts.com/list(version)/gfx/vml-radial-gradient.png","canvasToolsURL":"http =//code.highcharts.com/list(version)/modules/canvas-tools.js","getTimezoneOffset":null,"timezoneOffset":0,"useUTC":true},"lang":{"contextButtonTitle":"Chart context menu","decimalPoint":".","downloadJPEG":"Download JPEG image","downloadPDF":"Download PDF document","downloadPNG":"Download PNG image","downloadSVG":"Download SVG vector image","drillUpText":"Back to {series.name}","invalidDate":null,"loading":"Loading...","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"noData":"No data to display","numericSymbols":["k","M","G","T","P","E"],"printChart":"Print chart","resetZoom":"Reset zoom","resetZoomTitle":"Reset zoom level 1:1","shortMonths":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"thousandsSep":" ","weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}},"type":"chart","fonts":["Open+Sans","Raleway"],"debug":false},"evals":["hc_opts.plotOptions.line.point.events.click","hc_opts.tooltip.formatter"],"jsHooks":[]}</script>
+<script type="application/htmlwidget-sizing" data-for="htmlwidget-c35f66576b27eaeac90f">{"viewer":{"width":"100%","height":350,"padding":0,"fill":true},"browser":{"width":"100%","height":500,"padding":0,"fill":true}}</script>
+</body>
+</html>
diff --git a/man/figures/Readme-Example-2.png b/man/figures/Readme-Example-2.png
new file mode 100644
index 0000000..3a9ed19
--- /dev/null
+++ b/man/figures/Readme-Example-2.png
Binary files differ